21 votes

Comment me connecter à un proxy SOCKS depuis un iPhone/iPod Touch ?

J'aime surfer de manière sécurisée et privée via un proxy SOCKS que j'ai créé via un tunnel SSH, sur Mac. J'ai utilisé le client SSH sur mon Mac pour y parvenir. Ensuite, j'ai pensé que, puisque le système d'exploitation de l'iPhone est essentiellement Mac OS, le même truc pourrait également fonctionner sur l'iPhone.

J'ai réussi à créer un tunnel SSH sur mon iPhone via le Terminal (Terminal de l'iPhone). (Oui, il est jailbreaké)

ssh -D [port] user@domain.com

À ce stade, mon iPhone est un proxy SOCKS.

Cependant, il ne semble pas y avoir de moyen dans le panneau de préférences réseau de l'iPhone pour spécifier un proxy SOCKS. Quelqu'un suggère de créer un fichier Proxy Auto-Config (PAC) pour contourner cela, mais cela semble compliqué.

Des idées sur la façon de faire en sorte que l'iPhone utilise son propre proxy SOCKS?

22voto

Nate Smith Points 758

Eh bien, je suppose qu'il n'y a pas de meilleure façon de le faire. Maudit soit Apple, est-ce si difficile d'ajouter un paramètre de proxy SOCKS dans le panneau de paramètres réseau du système d'exploitation iPhone? :-(

Quoi qu'il en soit, la meilleure réponse jusqu'à présent, et la seule que j'ai pu trouver sur le Net, provient d'un document du site Web SNIPPLR Code 2.0 intitulé Comment se connecter à un proxy SOCKS depuis un iPhone/iPod Touch non jailbreaké.

Voici une version simplifiée de leur solution :

Disons, peut-être, que vous transférez déjà votre trafic Web via un tunnel SSH/SOCKS au travail (pour des raisons de confidentialité) et que vous aimeriez utiliser ce même tunnel sur votre iPhone/iPod Touch. C'est en fait assez facile à réaliser.

  1. Assurez-vous que le tunnel SOCKS sur votre ordinateur de travail autorise les connexions LAN afin que votre iPhone/iPod Touch puisse s'y connecter.

    ssh -N -g -D 1080 user@domain.com
  2. Créez un fichier texte et insérez le code suivant :

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

    Remplacez les x par votre IP et les y par le port que vous avez utilisé après le -D dans votre commande SSH.

  3. Enregistrez le fichier texte en tant que fichier de configuration automatique de proxy (PAC) dans un endroit accessible sur le Web avec une extension .pac.

    Si vous lisez ceci, vous savez probablement comment servir un fichier via HTTP sur votre réseau de travail, donc je ne m'étendrai pas sur ce sujet.

  4. Enfin, sur votre iPhone/iPod Touch, allez dans Paramètres Wi-Fi et cliquez sur la flèche bleue à droite de votre réseau de travail. Faites défiler jusqu'en bas, cliquez sur Auto et saisissez l'adresse de votre fichier PAC (par exemple http://192.168.xx.xx/mysupersecretproxy.pac).

Vous pouvez maintenant surfer sur le Web en toute sécurité depuis votre iPhone/iPod touch.

4voto

thadk Points 221

Wow merci pour cette dernière réponse.

En lien avec ce blog post "SSH pour connecter votre iPhone en ligne via un câble USB", j'ai trouvé une solution instantanée assez solide pour le reverse SSH/SOCKS via USB tether uniquement avec un serveur SSH quelque part sur votre réseau. Cela permet à toutes mes applications basées sur tcp d'utiliser internet d'un serveur SSH via USB malgré ma connexion Wifi défectueuse et mon faible forfait data de téléphone (T-Mobile Prepaid).

Aucune configuration de serveur proxy requise.

L'essence du blog post est que VOUS POUVEZ contrôler le proxy en ligne de commande. Utilisez le fichier:

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

Trouvez la section "ip1" (si vous souhaitez remplacer l'interface GPRS/EDGE/3G) comme suit:

Interface

DeviceName
ip1
Hardware
com.apple.CommCenter
Type
com.apple.CommCenter

Faites attention à ce que vous ayez la section ip1 si vous souhaitez remplacer EDGE/3G! Ne cherchez pas les autres entrées Proxies dans le fichier.

Ensuite, ajoutez la section suivante après:

Proxies

ProxyAutoConfigEnable
1
ProxyAutoConfigURLString
file:///private/var/preferences/proxy.pac

Ensuite, utilisez votre astuce pour spécifier un proxy SOCKS dans le fichier que nous venons de spécifier:

/private/var/preferences/proxy.pac

Ajoutez:

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

Changez les permissions sur proxy.pac en 777 (tout le monde peut lire, écrire et exécuter).

Redémarrez l'iPhone.

Téléchargez iTunnel pour iTunes 9 (des versions plus anciennes sont aussi disponibles). (http://www.mediafire.com/?2q1fzowoy12)

Créez une nouvelle connexion Putty : dans la section Connection>SSH>Tunnels ajoutez un nouveau port "remote" forwardé, comme le port 202 sur l'iPhone vers votre serveur SSH accessible par internet (par exemple, 192.168.2.100:22).

Source Port: 202
Destination: 192.168.2.100:22

Dans la section SSH de la même connexion Putty, définissez votre Commande distante sur:

ssh -D 1080 user@127.0.0.1 -p 202

Sauvegardez votre configuration Putty sous une nouvelle session nommée.

Facultatif: générez des clés et ajoutez les clés publiques à *~/.ssh/authorized_keys* des deux extrémités afin de ne pas avoir à saisir de mots de passe. Utilisez putty.exe -load "Nom du profil" dans un raccourci pour accélérer encore plus le processus.

0voto

jtbandes Points 10878

Ce message semble suggérer qu'il n'est pas possible de le faire via la ligne de commande, si je l'interprète correctement. Je pense que cela signifie que vous ne pouvez vraiment pas du tout le faire, car les préférences réseau ne prennent pas en charge SOCKS.

0voto

IPhone + SSH Tunnel + Chaussettes Proxy = SUCCÈS Très heureux

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

Merci pour l'aide :) Maintenant, je suis capable d'utiliser mon proxy local via Wifi/3G/Edge :p et j'ai également créé un script qui recrée le tunnel si la connexion est perdue ;)

0voto

Si vous avez accès à la shell (jailbreaké) et que vous pouvez placer le fichier proxy.pac à l'emplacement mentionné ci-dessus, vous pouvez également utiliser le lien suivant pour le fichier proxy.pac dans les préférences réseau pour la connexion que vous essayez de tunneliser:

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

En combinant un tunnel SSH vers un serveur SSH aux États-Unis, je peux écouter Pandora/Slacker etc. via le Wi-Fi en dehors de la zone de couverture autorisée (c'est-à-dire en voyageant en dehors des États-Unis).

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X