Método gratuito que funciona, com um iPhone com jailbreak pelo menos:
1) Instale o openSSH no seu iPhone a partir do cydia ou apt-get
, se preferir, o terminal.
2) Instale o python 2.7.x.
No momento da redação deste documento, a versão mais recente é 2.7.6.
3) faça o download do libusbmuxd.
https://github.com/libimobiledevice/libusbmuxd
Você pode fazer um git clone
ou, se não tiver / deseja obter git
, faça o download
do release na guia 'releases'.
4) descompacte-o se você não fez o git clone
percurso. Se você baixou o tarball, faça
tar zxvf <tarball name>.tar.gz
de um terminal. No Windows, use 7-zip ou faça o download da versão .zip da ferramenta.
5) cd
em libusbmuxd/python-client
.
6) A seguinte etapa depende da plataforma:
janelas
Se você executar o Windows, precisará digitar manualmente o caminho para o seu python.exe
programa. Se você escolher o local padrão, ele será instalado no C:\Python27
. Portanto, no Windows, vá para o prompt de comando e digite
C:\Python27\python.exe tcprelay.py -t 22:2222
.
Linux / Unix / Solaris / BSD, etc.
Se você usa Linux (como eu), Cygwin no Windows, BSD / Unix, solaris ou basicamente qualquer plataforma além de janelas e DOS conhecidas pelo homem, basta digitar
python2.7 tcprelay.py -t 22:2222
.
7)
Ainda não está pronto - você precisa de um cliente SSH em execução! Isso também depende da plataforma.
Windows - PuTTY
No Windows, o cygwin facilita isso, mas se você ainda não possui o cygwin, o PuTTY é uma boa opção:
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Configure-o como esta:
Certifique-se de definir o nome de usuário de login como 'móvel'.
E, para um pouco de velocidade extra (sobrecarga mais baixa da criptografia), altere a criptografia para 'arcfour'. Normalmente, eu não recomendaria isso, mas como você está enviando a criptografia por um cabo USB e não por uma rede, a segurança é menos arriscada.
Se desejar, você pode salvar um perfil para isso, para evitar a configuração de todos os backups sempre que houver um problema. Isso é feito na seção 'sessão' na parte superior.
Linux / Unix / BSD / Solaris / OSX / HP-UX / o que ainda estiver faltando
Você pode executar ssh -D 8080 -p 2222 mobile@127.0.0.1
A senha padrão para as contas mobile
e root
no iphone deve ser alpine
. Depois de fazer login com sucesso, você verá uma xterm
janela semelhante. digite passwd
agora, para alterar sua senha para algo mais seguro. Além disso, digite su
e use alpine
como sua senha para fazer login root
e alterar a root
senha também. Em seguida, digite exit
para voltar ao seu login como mobile
.
8) Você está quase terminando agora, eu juro! É menos complexo do que parece até agora, se você realmente o fizer!
Agora, você precisa abrir seu navegador preferido; Eu uso o Firefox, então vou usá-lo como um exemplo. Eu usei o chrome, mas como não gosto e não o instale atualmente, não posso usá-lo atualmente como exemplo. Mas você o configura como um proxy SOCKS, independentemente do navegador.
Essas capturas de tela foram feitas com um X11 encaminhado, portanto as fontes são feias, mas não se preocupe.
Primeiro, vá para a janela de preferências ( tools -> options
ou edit -> preferences
, dependendo do SO). Então vá para Advanced -> Network -> Settings...
.
Use a seguinte configuração para o navegador.
Problemas e Soluções
Problema:
Sim, isso não está realmente usando o iphone como um modem.
Solução:
Deixe isso para trás; funciona.
Problema:
Meu aplicativo não permite definir um proxy SOCKS.
Solução:
Eu tive esse problema com jogos como Minecraft. Aqui estão algumas correções.
Para minecraft, eu adicionei um argumento para ssh
. Eu jogo regularmente nos servidores minecraft nerd.nu reddit (reddit.com/r/mcpublic). Desde o minecraft 1.6, o encapsulamento SSH e os proxies do SOCKS definidos como argumentos da linha de comando não funcionam. Você costumava adicionar parâmetros java -DSocksProxyHost=127.0.0.1 -DSocksProxyPort=8080
e funcionava. Agora, no entanto, a solução não é tão boa, mas funciona.
Quando você começar ssh
, em vez de ssh -D 8080 -p 2222 mobile@127.0.0.1
, faça
ssh -D 8080 -L 127.0.0.1:25565:p.nerd.nu:25565 -p 2222 mobile@127.0.0.1
.
Então, quando você quiser se conectar ao servidor, adicione o URL 127.0.0.1:25565
à sua lista de servidores! O servidor remoto aparecerá em 127.0.0.1/localhost, graças ao milagre do encapsulamento SSH!
Para outros programas / jogos, a mesma regra se aplica. Se você não pode definir um proxy SOCKS e nada mais funcionar, basta adicionar -L 127.0.0.1:<port>:<remote URL to access>:<remote port>
.
Não há nada de forçá-lo a usar a mesma porta em 127.0.0.1
que você normalmente, então eu poderia ter, por exemplo, mapeado p.nerd.nu:25565
para 127.0.0.1:1025
eo jogo não se importaria, desde que eu especifiquei o porto. Nem todos os programas são tão brandos, mas é útil lembrar.
Além disso, lembre-se: Quase qualquer programa pode usar isso. Portanto, embora não seja tão bom quanto ter um modem simples ou algo assim, ele definitivamente funciona. Observe que, se você perder a conexão com o wi-fi, provavelmente começará a acessar o acesso aos dados da sua rede celular. Se a rede celular fizer inspeção de pacotes em nível profundo, esteja preparado para uma cobrança pela ativação do tethering. Apenas tome cuidado, por favor :) Se você tem o "TetherMe" do Cydia, ou algo parecido, isso pode mascarar o que você está fazendo. Além disso, às vezes, se o iphone for dormir, ele desligará o wi-fi. Instale a insomnia
partir do cydia / apt para contornar isso.
Ou, para impedir a inspeção profunda de pacotes, você também pode fazer o SSH do seu iphone em um PC em casa para criptografia e, em seguida, fazer o SSH no seu iPhone a partir do dispositivo em que está conectado.