Як підключитися до проксі SOCKS з iPhone / iPod Touch?


19

Мені подобається переглядати безпечно та приватно через проксі-сервер SOCKS, який я створив через тунелінг SSH, на Mac Я використовував клієнт SSH на своєму Mac, щоб досягти цього. Тоді я подумав, оскільки iPhone OS по суті є Mac OS, той самий трюк може працювати і в iPhone.

Мені вдалося створити тунель SSh на своєму iPhone через термінал (термінал iPhone). (Так, це у в'язниці)

ssh -D [port] user@domain.com

На цьому етапі мій iPhone - проксі-сервер SOCKS.

Однак, схоже, на панелі налаштувань мереж iPhone не існує способу вказати проксі-сервер SOCKS. Хтось пропонує створити файл Proxy Auto-Contig (PAC), щоб вирішити це, але це звучить складно.

Будь-які ідеї, як змусити iPhone використовувати власний проксі-сервер SOCKS?

Відповіді:


20

Я думаю, немає кращого способу зробити це. Чорт, Apple, чи так важко помістити налаштування SOCKS Proxy на панелі налаштувань мережі iPhone OS? :-(

У будь-якому разі, найкраща відповідь і єдиний, який я міг знайти в Мережі, - це документ із веб-сайту SNIPPLR Code 2.0 під назвою " Як підключитися до проксі-сервера SOCKS" з Unjailbroken iPhone / iPod Touch .

Нижче наведена очищена версія їх рішення:

Скажімо, можливо, що ви вже пересилаєте свій веб-трафік через тунель SSH / SOCKS на роботі (з міркувань конфіденційності), і ви хочете використовувати той самий тунель на вашому iPhone / iPod Touch. Це насправді досить легко здійснити.

  1. Переконайтесь, що тунель SOCKS на робочому комп'ютері дозволяє підключення до локальної мережі, щоб ваш iPhone / iPod Touch міг підключитися до нього.

    ssh -N -g -D 1080 user@domain.com
    
  2. Створіть текстовий файл та вставте наступний код:

    function FindProxyForURL(url, host)
    { 
         return "SOCKS 192.168.xx.xx:yyyy";
    }
    

    Замініть x на ваш IP, а y - на порт, який ви використовували після -D у вашій команді SSH

  3. Збережіть текстовий файл як файл автоматичного налаштування проксі (PAC) у доступному для Інтернету місці з розширенням .pac .

    Якщо ви читаєте ці шанси, чи знаєте ви, як обслуговувати файл через HTTP у вашій робочій локальній мережі, тому я не буду вникати в це.

  4. Нарешті, на своєму iPhone / iPod Touch перейдіть у Налаштування → Wi-Fi та натисніть синю стрілку праворуч від вашої робочої мережі. Прокрутіть донизу, натисніть Автоматично та введіть адресу у файл PAC (наприклад, http: //192.168.xx.xx/mysupersecretproxy.pac ).

Тепер ви можете безпечно переглядати веб-сторінки за допомогою iPhone / iPod touch.


Це стосується випадку використання WIFI, але не мережевого зв'язку 2g / 3g.
Дуглас Хелд

Чи це не перемагає цілісного призначення тунелю ssh? Чи не буде зашифрований трафік між iPhone та комп’ютером?
JBis

Також здається, що налаштування проксі ігнорується при підключенні до VPN (WireGuard), що дратує, тому що я хотів покластися на це, щоб зашифрувати зв’язок між пристроєм iOS та сервером, що працює ssh -gD. Назад до дошки для малювання.
sjy

4

Дякую за останню відповідь.

Разом із цим повідомленням у блозі "SSH для отримання вашого iPhone в Інтернеті за допомогою кабелю USB" я придумав досить міцне миттєве зворотне рішення SSH / SOCKS через тетер USB, що дається лише SSH-серверу десь у вашій мережі. Це дозволяє всім моїм додаткам на основі tcp використовувати Інтернет-сервер SSH через USB, незважаючи на те, що мій WiFi несправний і не має надійного плану передачі даних (T-Mobile Prepaid).

Не потрібна конфігурація проксі-сервера.

Суть публікації в блозі полягає в тому, що ви можете управляти проксі-сервером з командного рядка. Використовуйте файл:

/private/var/preferences/SystemConfiguration/preferences.plist

Знайдіть розділ "ip1" (якщо ви хочете замінити інтерфейс GPRS / EDGE / 3G) на зразок:

<dict>
<key>Interface</key>
<dict>
<key>DeviceName</key>
<string>ip1</string>
<key>Hardware</key>
<string>com.apple.CommCenter</string>
<key>Type</key>
<string>com.apple.CommCenter</string>
</dict>

Будьте уважні, що ви отримали розділ ip1, якщо хочете перемогти EDGE / 3G! Не шукайте інші записи проксі у файлі.

Потім після цього додайте наступний розділ:

<key>Proxies</key>
<dict>
<key>ProxyAutoConfigEnable</key>
<integer>1</integer>
<key>ProxyAutoConfigURLString</key>
<string>file:///private/var/preferences/proxy.pac</string>
</dict>

Потім використовуйте свій трюк, щоб вказати проксі-сервер SOCKS у файлі, який ми тільки що вказали:

/private/var/preferences/proxy.pac

Додати:

function FindProxyForURL(url, host)
{ 
     return "SOCKS 127.0.0.1:1080";
}

Змініть дозволи на proxy.pac на 777 (усі можуть читати, писати, виконувати).

Перезавантажте iPhone.

Завантажте iTunnel для iTunes 9 (також доступні старіші версії). (http://www.mediafire.com/?2q1fzowoy12)

Створіть нове з'єднання Putty: у розділі З'єднання> SSH> Тунелі додайте новий переадресований "віддалений" порт, як порт 202 на iPhone, на ваш Інтернет-сервер SSH (скажімо, 192.168.2.100:22).

Source Port: 202
Destination: 192.168.2.100:22

У розділі SSH того ж з'єднання Putty встановіть віддалену комісію на:

ssh -D 1080 user@127.0.0.1 -p 202

Збережіть конфігурацію Putty в новому сеансі з назвою

Необов’язково генеруйте ключі та додайте відкриті ключі до * ~ / .ssh / санкціонованих ключів * до обох кінців, щоб не потрібно було вводити паролі. Використовуйте putty.exe -load "Ім'я профілю" в ярлику, щоб прискорити його ще більше.


Звичайно, якщо ви використовуєте сервер OpenSSH в Windows з Cygwin або щось подібне, ви, швидше за все, можете просто пропустити проміжний тунель.
thadk

Ось хтось робить зворотне для цього, щоб зробити звичайне прив’язування: snipplr.com/view/16563/…
thadk

0

Здається, це повідомлення наводить на думку, що це неможливо зробити за допомогою командного рядка, якщо я правильно його інтерпретую. Я думаю, це означає, що ви насправді взагалі не можете, оскільки налаштування мережі не підтримують SOCKS.


Цей веб-сайт говорить про те, що зі створенням проксі-сервера SOCKS немає проблем, але цей параметр повинен бути встановлений за допомогою файлів PAC. Я був wodnerign, якщо був більш простий шлях. snipplr.com/view/16563/…
GeneQ

0

iPhone + SSH Tunnel + Socks Proxy = УСПІХ Дуже щасливий

-> http://thireus.dareyourmind.net/index.php/thireus-home-news/8-general-announcement/109-iphone-ssh-tunnel-socks-proxy-success-d

Дякую за допомогу :) Зараз я можу використовувати свій локальний проксі-шкарпетки через Wifi / 3G / Edge: p, а також створив сценарій, який відтворив тунель, якщо з'єднання було втрачено;)


0

Відповіді вище не все гаразд.

  1. Ssh -D не є глобальним проксі-сервером для iOS (наприклад, iPhone та iPad).

  2. HTTP-проксі також не є глобальним проксі.

Вони не можна використовувати як у більшості ігор, так і в чаті (миттєве повідомлення). Це просто для веб-серфінгу (у Safari все в порядку), але в основному тільки цього.

Найкращий та найпростіший спосіб для iPhone та iPad - це використання VPN. Це глобальний агент, який може передавати всі дані Інтернету через віддалений сервер VPN. Ще один вибір - OpenVPN, який дає клієнту на iOS.

Немає такої програми для iPhone і iPad для запуску глобального проксі-шкарпетки, як у Windows.


0

Я знайшов спосіб зробити це без джейлбрейку, але вам знадобиться доступ до ssh-сервера, який ви зможете розмістити на своєму домашньому комп’ютері.

Вам знадобляться два додатки для iPhone; iSSH (ssh тунель) і ProxyBrowse (браузер socks5).

Вам також знадобиться SSH-сервер.

У цьому прикладі ми зателефонуємо на наш SSH-сервер [хост] та наш обліковий запис користувача для ssh-сервера [користувача].


SSH-сервер

Виконайте таку команду:

SSH -f -N -D 8080 [user]@[host]

Правильно, ви на [хості] створюєте динамічний порт вперед назад до [хост], ви побачите чому скоро.


iSSH

"Додати конфігурацію ...", заповніть звичайні речі для сервера / ім'я користувача / тощо. Унизу ви можете вибрати SSH> None, і ви побачите опцію "Tunnel", виберіть її. Виберіть кнопку "Додати тунель".

Місцевий порт: 8080

Цільовий хост: [хост]

Порт призначення: 8080

Збережіть усе та відкрийте з'єднання.


ProxyBrowse

Сервер: localhost

Порт: 8080

Не вводьте ім'я користувача або пароль, вам не потрібно, оскільки iSSH вже створив тунель, а iSSH продовжує працювати у фоновому режимі на вашому iPhone.

Це все, тепер ви можете переглядати Інтернет через тунель SSH.


Хочете піти на крок далі? Встановіть Tor на свій сервер, підключіть тунель iSSH до порту Tor, а потім зі свого телефону ви можете по-справжньому анонімно переглядати Інтернет.

Для технічно схильних, які хочуть трохи детальніше про те, що щойно сталося:

[host] : ssh -f -N -D 8080 [host]
[client_tunnel] : ssh -L 8080:localhost:8080 [host]
[client_socks5] : localhost:8080

Браузер проксі-серверів SOCKS повідомляє через тунель переадресації локального порту на динамічний тунель переадресації портів на сервері.

перше


Це не охоплює жодного мережевого доступу, крім ProxyBrowse. Наприклад, електронна адреса не захищена.
Дуглас Хелд

0

Якщо у вас є доступ до оболонки (jailbroken) і ви можете розмістити proxy.pacфайл у вказаному вище місці, ви також можете скористатись наступним посиланням для proxy.pacфайлу у налаштуваннях мережі для з'єднання, яке ви намагаєтеся тунелювати:

file://private/var/preferences/proxy.pac

Разом з тунелем SSH до SSH-сервера в США я можу слухати Pandora / Slacker і т.д. через
Wi-Fi за межами дозволеної зони покриття (тобто під час подорожі за межами США).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.