Бесплатный метод, который работает, как минимум, с взломанным iPhone:
1) Установите openSSH на свой iPhone из cydia или apt-get
, если вы предпочитаете терминал.
2) Установите python 2.7.x.
На момент написания этой статьи последняя версия 2.7.6.
3) скачать libusbmuxd.
https://github.com/libimobiledevice/libusbmuxd
Вы можете либо сделать, git clone
либо, если у вас нет / хотите получить git
, загрузить
релиз с вкладки «релизы».
4) распакуйте его, если вы не пошли по git clone
маршруту. Если вы скачали tarball, делайте
tar zxvf <tarball name>.tar.gz
из терминала. В windows используйте 7-zip или загрузите .zip версию инструмента.
5) cd
в libusbmuxd/python-client
.
6) Следующий шаг зависит от платформы:
Windows
Если вы запустите Windows, вам придется вручную ввести путь к вашей python.exe
программе. Если вы выбрали местоположение по умолчанию, оно будет установлено в C:\Python27
. Итак, в Windows перейдите в командную строку и введите
C:\Python27\python.exe tcprelay.py -t 22:2222
.
Linux / Unix / Solaris / BSD и т. Д.
Если вы используете Linux (как и я), Cygwin в Windows, BSD / Unix, Solaris или любую другую платформу, кроме Windows и DOS, известных человеку, вы просто напечатаете
python2.7 tcprelay.py -t 22:2222
.
7)
Еще не совсем сделано - вам нужен работающий SSH-клиент! Это тоже зависит от платформы.
Windows - шпаклевка
В Windows Cygwin делает это легко, но если у вас нет Cygwin, PuTTY - хороший вариант:
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Настройте его как это:
Не забудьте установить имя пользователя для входа в систему «мобильный».
И, для небольшой дополнительной скорости (меньше накладных расходов от шифрования), измените шифрование на «arcfour». Обычно я бы не советовал это делать, но поскольку вы используете шифрование через USB-кабель, а не по сети, безопасность представляет меньший риск.
Если вы хотите, вы можете сохранить профиль для этого, чтобы не создавать резервные копии каждый раз, когда у вас есть проблемы. Это делается в разделе «Сессия» в самом верху.
Linux / Unix / BSD / Solaris / OSX / HP-UX / все, что мне все еще не хватает
Вы можете запустить ssh -D 8080 -p 2222 mobile@127.0.0.1
пароль по умолчанию для mobile
и root
счетов на iphone должен быть alpine
. Как только вы успешно вошли в систему, вы должны увидеть xterm
похожее окно. введите passwd
сейчас, чтобы изменить пароль на более безопасный. Кроме того, введите su
и используйте в alpine
качестве пароля для входа root
и изменения root
пароля. Затем введите, exit
чтобы вернуться в свой логин как mobile
.
8) Вы почти закончили, клянусь! Это менее сложно, чем кажется, если вы действительно делаете это сами!
Теперь вам нужно открыть ваш веб-браузер по выбору; Я использую Firefox, поэтому я буду использовать его в качестве примера. Я использовал Chrome, но так как он мне не нравится и в настоящее время он не установлен, я не могу сейчас использовать его в качестве примера. Но вы настроили его как прокси-сервер SOCKS, независимо от браузера.
Эти скриншоты были сделаны с переадресованным X11, поэтому шрифты уродливы, но не обращайте на это внимания.
Сначала перейдите в окно настроек ( tools -> options
или edit -> preferences
, в зависимости от ОС). Затем перейдите к Advanced -> Network -> Settings...
.
Используйте следующую конфигурацию для браузера.
Проблемы и решения
Проблема:
Да, это на самом деле не использует iphone в качестве модема.
Решение:
Преодолей это; оно работает.
Проблема:
Мое приложение не позволяет устанавливать прокси-сервер SOCKS.
Решение:
У меня была эта проблема с такими играми, как Minecraft. Вот некоторые исправления.
Для майнкрафта я добавил аргумент в ssh
. Я регулярно играю на серверах майнкрафта nerd.nu reddit (reddit.com/r/mcpublic). Начиная с minecraft 1.6, SSH-туннелирование и SOCKS-прокси, заданные в качестве аргументов командной строки, не работали. Раньше вы могли добавить параметры Java, -DSocksProxyHost=127.0.0.1 -DSocksProxyPort=8080
и это будет работать. Теперь, однако, решение не так хорошо, но оно работает.
Когда вы начинаете ssh
, а ssh -D 8080 -p 2222 mobile@127.0.0.1
не делать
ssh -D 8080 -L 127.0.0.1:25565:p.nerd.nu:25565 -p 2222 mobile@127.0.0.1
.
Затем, когда вы хотите подключиться к серверу, вместо этого добавьте URL 127.0.0.1:25565
в ваш список серверов! Удаленный сервер появится на 127.0.0.1/localhost благодаря чуду SSH туннелирования!
Для других программ / игр применяется то же правило. Если вы не можете установить SOCKS прокси и больше ничего не работает, просто добавьте -L 127.0.0.1:<port>:<remote URL to access>:<remote port>
.
Ничто не заставляет вас использовать тот же порт, 127.0.0.1
который вы обычно используете, поэтому я мог бы, например, сопоставить p.nerd.nu:25565
его, 127.0.0.1:1025
и игре было бы все равно, пока я указывал порт. Не все программы настолько снисходительны, но это полезно запомнить.
Кроме того, помните: почти любая программа может использовать это. Так что, хотя это не так хорошо, как иметь простой модем или что-то, это определенно работает. Обратите внимание, что если вы потеряете соединение с Wi-Fi, вы, вероятно, начнете получать доступ к данным вашей сотовой сети. Если сотовая сеть выполняет глубокую проверку пакетов, будьте готовы заплатить за включение модема. Просто будьте осторожны, пожалуйста :) Если у вас есть «TetherMe» от Cydia или что-то в этом роде, это может замаскировать то, что вы делаете. Кроме того, иногда, если iphone идет в сон, он выключает Wi-Fi. Установите insomnia
из cydia / apt, чтобы обойти это.
Или, чтобы предотвратить глубокую проверку пакетов, вы также можете использовать SSH со своего iphone на домашний ПК для шифрования, а затем SSH на свой iphone со своего устройства, к которому вы подключены.