Come ci si connette a un proxy SOCKS da un iPhone / iPod Touch?

17

Mi piace navigare in modo sicuro e privato tramite un proxy SOCKS che ho creato tramite SSH tunneling, sul Mac. Ho usato il client SSH sul mio Mac per raggiungere questo obiettivo. Poi ho pensato, dal momento che il sistema operativo per iPhone è essenzialmente Mac OS, lo stesso trucco potrebbe funzionare anche su iPhone.

Sono riuscito a creare un tunnel SSh sul mio iPhone tramite il terminale (terminale di iPhone). (Sì, è stato cancellato dalla prigione)

ssh -D [port] [email protected]

In questa fase il mio iPhone è il proxy SOCKS.

Tuttavia, non sembra che ci sia un modo nel pannello delle preferenze di rete di iPhone per specificare un proxy SOCKS. Qualcuno suggerisce di creare un file Proxy Auto-Contig (PAC) per risolvere il problema, ma sembra complicato

Qualche idea su come utilizzare iPhone come proxy SOCKS?

    
posta GeneQ 21.07.2009 - 04:51
fonte

7 risposte

18

Beh, immagino, non c'è modo migliore per farlo. Ti avverto Apple, è così difficile mettere un'impostazione Proxy SOCKS nel pannello delle impostazioni di rete di iPhone OS? : - (

Ad ogni modo, la migliore risposta finora, e l'unica che ho trovato in rete, proviene da un documento del sito Web SNIPPLR Code 2.0 intitolato Come connettersi a un proxy SOCKS da un iPhone / iPod Touch unjailbroken .

Di seguito è riportata una versione pulita della loro soluzione:

Let's say, perhaps, that you are already forwarding your web traffic through an SSH/SOCKS tunnel at work (for privacy reasons) and you would like to use that same tunnel on your iPhone/iPod Touch. This is actually pretty easy to accomplish.

  1. Assicurati che il tunnel SOCKS sul tuo computer di lavoro consenta connessioni LAN in modo che il tuo iPhone / iPod Touch possa collegarsi ad esso.

    ssh -N -g -D 1080 [email protected]
    
  2. Crea un file di testo e inserisci il seguente codice:

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

    Sostituisci le x con il tuo IP e le y con la porta che hai usato dopo il -D nel tuo comando SSH

  3. Salva il file di testo come file di configurazione automatica del proxy (PAC) in una posizione accessibile sul Web con un'estensione .pac .

    Se stai leggendo questa possibilità sai come servire un file su HTTP sulla tua LAN di lavoro, quindi non approfondirò.

  4. Infine, sul tuo iPhone / iPod Touch, vai su Impostazioni → Wi-Fi e fai clic sulla freccia blu a destra della tua rete di lavoro. Scorri fino in fondo, fai clic su Auto e digita l'indirizzo nel tuo file PAC (ad es. link ).

Ora puoi navigare in sicurezza sul Web dal tuo iPhone / iPod touch.

    
risposta data 24.07.2009 - 18:23
fonte
4

Wow, grazie per l'ultima risposta.

Insieme a questo "SSH per ottenere il tuo iPhone online tramite cavo USB" blog post, mi è venuta in mente una solida soluzione istantanea SSH / SOCKS inversa tramite cavo USB fornito solo da un server SSH da qualche parte sulla rete. Ciò consente a tutte le mie app basate su Tcp di utilizzare Internet di un server SSH attraverso USB, nonostante il mio WiFi sia difettoso e non abbia un piano dati telefonico strong (T-Mobile Prepaid).

Nessuna configurazione del server proxy richiesta.

L'essenza del post del blog è che puoi controllare il proxy dalla riga di comando. Usa il file:

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

Trova la sezione "ip1" (se vuoi sostituire l'interfaccia GPRS / EDGE / 3G) come:

<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>

Fai attenzione se hai la sezione ip1 se vuoi scavalcare EDGE / 3G! Non cercare le altre voci Proxy nel file.

Quindi aggiungere la seguente sezione in seguito:

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

Quindi usa il tuo trucco per specificare un proxy SOCKS nel file che abbiamo appena specificato:

/private/var/preferences/proxy.pac

Add:

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

Cambia i permessi su proxy.pac a 777 (tutti possono leggere, scrivere, eseguire).

Riavvia l'iPhone.

Scarica iTunnel per iTunes 9 (sono disponibili anche versioni precedenti). (Http://www.mediafire.com/?2q1fzowoy12)

Crea una nuova connessione Putty: nella sezione Connection > SSH > Tunnels aggiungi una nuova porta "remota" inoltrata, come la porta 202 sull'iPhone al tuo server SSH rivolto a Internet (ad esempio, 192.168.2.100:22).

Source Port: 202
Destination: 192.168.2.100:22

Nella sezione SSH della stessa Putty Connection imposta il tuo Remote Commmand su:

ssh -D 1080 [email protected] -p 202

Salva la configurazione di Putty in una nuova sessione denominata.

Generalmente genera chiavi e amp; aggiungi le chiavi pubbliche a * ~ / .ssh / authorized_keys * a entrambe le estremità in modo da non dover digitare le password. Usa putty.exe -load "Nome profilo" in una scorciatoia per accelerare ancora di più.

    
risposta data 06.02.2010 - 07:19
fonte
0

Questo messaggio sembra suggerire che non è possibile farlo tramite la riga di comando, se sto interpretando correttamente. Penso che questo significhi davvero che non puoi affatto, dal momento che le preferenze di rete non supportano SOCKS.

    
risposta data 21.07.2009 - 05:23
fonte
0

iPhone + SSH Tunnel + Socks Proxy = SUCCESS Very Happy

- > link

Grazie per l'aiuto :) Ora sono in grado di usare il mio proxy socks locale via Wifi / 3G / Edge: p e ho anche creato uno script che ricrea il tunnel se la connessione è stata persa;)

    
risposta data 14.03.2010 - 19:13
fonte
0

Le risposte sopra non vanno bene.

  1. ssh -D non è un proxy globale sul sistema iOS (come iPhone e iPad).

  2. Anche il proxy HTTP non è un proxy globale.

Non possono essere entrambi utilizzati nella maggior parte dei giochi e IM (messaggio istantaneo). E 'solo per un po' di navigazione sul web (Safari va bene) ma principalmente solo questo.

Il modo migliore e più semplice su iPhone e iPad è utilizzare VPN. Questo è l'agente globale, che può trasferire tutti i dati Internet tramite il server VPN remoto. Un'altra scelta è OpenVPN, che dà un client su iOS.

Non esiste un programma del genere per iPhone e iPad per eseguire proxy di calze globali come quello su Windows.

    
risposta data 03.04.2012 - 21:31
fonte
0

Ho trovato un modo per farlo senza jailbreaking, ma avrai bisogno di accedere a un server ssh, che potresti ospitare sul tuo computer di casa.

Avrai bisogno di due applicazioni per iPhone; iSSH (tunnel ssh) e ProxyBrowse (browser socks5).

Avrai anche bisogno di un server SSH.

Per questo esempio chiameremo il nostro server SSH [host] e il nostro account utente per il server ssh [utente].

Server SSH

Esegui il seguente comando:

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

È vero, sei su [host] che crea una porta dinamica in avanti su [host], vedrai perché presto.

iSSH

"Aggiungi configurazione ...", compila le solite cose per il server / nome utente / ecc. Vicino al fondo puoi scegliere SSH > Nessuno, e vedrai un'opzione per "Tunnel", selezionalo. Scegli il pulsante "Aggiungi tunnel".

Localport: 8080

Host Dest: [host]

Porta Dest: 8080

Salva tutto e apri la connessione.

ProxyBrowse

Server: localhost

Porta: 8080

Non inserire nome utente o password, non è necessario, perché iSSH ha già creato il tunnel e iSSH continua a essere eseguito in background sul tuo iPhone.

Questo è tutto, ora puoi navigare sul web attraverso un tunnel SSH.

Vuoi fare un ulteriore passo avanti? Installa Tor sul tuo server, fai in modo che il tunnel iSSH si colleghi alla porta Tor, quindi dal tuo telefono puoi veramente navigare sul web in modo anonimo.

Per i tecnicamente inclinati che vogliono un po 'più di dettagli su quello che è appena successo:

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

Il browser proxy SOCKS comunica tramite il tunnel di inoltro della porta locale al tunnel di port forwarding dinamico sul server.

prima

    
risposta data 10.09.2013 - 20:49
fonte
0

Se hai accesso alla shell (jailbroken) e puoi posizionare il file proxy.pac nella posizione menzionata sopra, puoi anche utilizzare il seguente link per il file proxy.pac nelle preferenze Network per la connessione che stai provando tunnel:

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

Insieme ad un tunnel SSH per un server SSH negli Stati Uniti, posso ascoltare Pandora / Slacker ecc. sul Wi-Fi al di fuori dell'area di copertura consentita (ad esempio quando si viaggia fuori dagli Stati Uniti).

    
risposta data 15.05.2010 - 15:14
fonte

Leggi altre domande sui tag