Metodo gratuito che funziona, con almeno un iPhone jailbreak:
1) Installa openSSH sul tuo iPhone da Cydia o apt-get, se preferisci il terminale.
2) Installa python 2.7.x.
Al momento della stesura di questo documento, l'ultima versione è 2.7.6.
3) scarica libusbmuxd.
https://github.com/libimobiledevice/libusbmuxd
Puoi fare una git cloneo, se non hai / vuoi ottenere git, scaricare
la versione dalla scheda "Rilasci".
4) scompattalo se non hai preso il git clonepercorso. Se hai scaricato il tarball, eseguilo
tar zxvf <tarball name>.tar.gzda un terminale. In Windows, usa 7-zip o scarica la versione .zip dello strumento.
5) cd in libusbmuxd/python-client.
6) Il seguente passaggio dipende dalla piattaforma:
finestre
Se esegui Windows, dovrai digitare manualmente il percorso del tuo python.exeprogramma. Se hai scelto il percorso predefinito, verrà installato in C:\Python27. Quindi, in Windows, vai al prompt dei comandi e digita
C:\Python27\python.exe tcprelay.py -t 22:2222.
Linux / Unix / Solaris / BSD, ecc.
Se usi Linux (come me), Cygwin in Windows, BSD / Unix, Solaris o praticamente qualsiasi piattaforma oltre a Windows e DOS conosciuta dall'uomo, dovrai semplicemente digitare
python2.7 tcprelay.py -t 22:2222.
7)
Non ancora fatto - Hai bisogno di un client SSH in esecuzione! Anche questo dipende dalla piattaforma.
Windows - PuTTY
In Windows, Cygwin lo rende facile, ma se non hai già Cygwin, PuTTY è una buona opzione:
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Impostalo come Questo:

Assicurati di impostare il nome utente di accesso su "mobile".

E, per un po 'di velocità extra (sovraccarico inferiore dalla crittografia), cambia la crittografia in "arcfour". Di solito, non lo consiglierei, ma poiché si sta spingendo la crittografia su un cavo USB e non su una rete, la sicurezza è meno rischiosa.

Se lo desideri, puoi quindi salvare un profilo per questo, per evitare di ripristinarlo ogni volta che riscontri un problema. Questo viene fatto nella sezione "sessione" in alto.
Linux / Unix / BSD / Solaris / OSX / HP-UX / qualunque cosa mi manchi ancora
È possibile eseguire ssh -D 8080 -p 2222 mobile@127.0.0.1
la password predefinita per gli account mobilee rootsull'iPhone dovrebbe essere alpine. Una volta effettuato l'accesso, dovresti vedere una xtermfinestra simile. digita passwdora, per cambiare la tua password in qualcosa di più sicuro. Inoltre, digitare sue utilizzare alpinecome password per accedere come roote modificare anche la rootpassword. Quindi, digitare exitper tornare al login come mobile.
8) Hai quasi finito ora, lo giuro! È meno complesso di quanto appaia finora, se lo fai davvero da solo!
Ora devi aprire il tuo browser preferito; Uso Firefox, quindi lo userò come esempio. Ho usato Chrome, ma poiché non mi piace e al momento non lo ho installato, al momento non posso usarlo per un esempio. Ma lo configuri come proxy SOCKS, indipendentemente dal browser.
Questi screenshot sono stati fatti con un X11 inoltrato, quindi i caratteri sono brutti, ma non preoccuparti.
Innanzitutto, vai alla finestra delle preferenze ( tools -> optionso edit -> preferences, a seconda del sistema operativo). Quindi vai a Advanced -> Network -> Settings....

Utilizzare la seguente configurazione per il browser.

Problemi e soluzioni
Problema:
Sì, questo in realtà non utilizza l'iPhone come modem.
Soluzione:
Farsene una ragione; Funziona.
Problema:
La mia app non consente l'impostazione di un proxy SOCKS.
Soluzione:
Ho avuto questo problema con giochi come Minecraft. Ecco alcune correzioni.
Per Minecraft, ho aggiunto un argomento a ssh. Gioco regolarmente sui server di Minecraft reddit nerd.nu (reddit.com/r/mcpublic). Da Minecraft 1.6, il tunneling SSH e i proxy SOCKS impostati come argomenti della riga di comando non hanno funzionato. Prima eri in grado di aggiungere parametri Java -DSocksProxyHost=127.0.0.1 -DSocksProxyPort=8080e funzionava. Ora, tuttavia, la soluzione non è altrettanto bella, ma funziona.
Quando inizi ssh, invece di ssh -D 8080 -p 2222 mobile@127.0.0.1, fallo
ssh -D 8080 -L 127.0.0.1:25565:p.nerd.nu:25565 -p 2222 mobile@127.0.0.1.
Quindi, quando vuoi connetterti al server, aggiungi invece l'URL 127.0.0.1:25565al tuo elenco di server! Il server remoto apparirà su 127.0.0.1/localhost grazie al miracolo del tunneling SSH!
Per altri programmi / giochi, si applica la stessa regola. Se non è possibile impostare un proxy SOCKS e nient'altro funziona, basta aggiungere -L 127.0.0.1:<port>:<remote URL to access>:<remote port>.
Non c'è niente che costringe ad utilizzare la stessa porta su 127.0.0.1che normalmente, così ho potuto avere, per esempio, mappato p.nerd.nu:25565al 127.0.0.1:1025e il gioco non sarebbe importato a patto che ho specificato la porta. Non tutti i programmi sono così indulgenti, ma è utile ricordare.
Inoltre, ricorda: quasi tutti i programmi possono usarlo. Quindi, anche se non è bello come avere un semplice modem o qualcosa del genere, sicuramente funziona. Nota che se perdi la connessione alla rete Wi-Fi, probabilmente inizierai a mangiare l'accesso ai dati della tua rete cellulare. Se la rete cellulare esegue un'ispezione approfondita dei pacchetti, prepararsi a pagare per abilitare il tethering. Fai solo attenzione, per favore :) Se hai "TetherMe" di Cydia, o qualcosa del genere, potrebbe mascherare ciò che stai facendo. Inoltre, a volte se l'iPhone si spegne si spegne il wi-fi. Installa insomniada cydia / apt per aggirare il problema.
Oppure, per impedire un'ispezione approfondita dei pacchetti, puoi anche SSH dal tuo iPhone a un PC a casa per la crittografia e quindi SSH nel tuo iPhone dal tuo dispositivo in cui sei collegato.