23 votos

¿Cómo me puedo conectar a un servidor Proxy SOCKS desde un iPhone/iPod Touch?

Me gusta navegar de forma segura y privada a través de un proxy SOCKS que he creado a través de SSH túnel, en el Mac. He utilizado el cliente SSH en mi Mac para lograr esto. Entonces pensé, desde que el iPhone OS es esencialmente Mac OS, el mismo truco puede funcionar también en el iPhone.

Me las arreglé para crear un túnel SSh en el iPhone a través de la Terminal (iPhone del Terminal). (Sí, está en la cárcel roto)

ssh -D [port] user@domain.com

En esta etapa de mi iPhone es proxy SOCKS.

Sin embargo, no parece ser un camino en el iPhone de red del panel de preferencias para especificar un proxy SOCKS. Alguien sugerimos la creación de un Proxy Auto-Contig (PAC) archivo para solucionar esto, pero que parece complicado.

Alguna idea de cómo hacer que el iPhone utiliza su propio servidor proxy SOCKS?

23voto

Nate Smith Puntos 758

Bueno, supongo que no hay mejor manera de hacerlo. Maldito que Apple, es tan difícil poner un Proxy SOCKS configuración en el iPhone OS configuración de red del panel? :-(

De todos modos, la mejor respuesta hasta ahora, y la única que pude encontrar en la Red, es a partir de un documento de la SNIPPLR Código de la web 2.0 titulado Cómo Conectarse A UN Proxy SOCKS De Un Unjailbroken iPhone/iPod Touch.

A continuación es un limpiado versión de su solución:

Digamos que, tal vez, que se ya el envío de su tráfico web a través de un servidor SSH/CALCETINES túnel en el trabajo (por razones de privacidad) y te gustaría usar el mismo túnel en su iPhone/iPod Touch. Esto es en realidad bastante fácil de lograr.

Paso 1. Asegúrese de que los CALCETINES túnel en su equipo de trabajo permite que las conexiones de LAN para que su iPhone/iPod Touch se puede conectar a él.

ssh -N -g -D 1080 user@domain.com

Paso 2. Crear un archivo de texto e insertar el siguiente código:

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

Sustituya la x con su IP, y el eje y con el puerto que se usa después de la -D en su comando SSH

Paso 3. Guarde el archivo de texto como un Proxy Auto-Config (PAC) a un archivo web accesible lugar con una .pac la extensión.

Si estás leyendo esto, es probable que usted sepa cómo servir un archivo a través de HTTP en su trabajo de LAN, así que no voy a profundizar en eso.

Paso 4. Finalmente, en el iPhone/iPod Touch, vaya a Ajustes>Wifi y haga clic en la flecha azul a la derecha de su red de trabajo. Desplácese hasta la parte inferior, haga clic en Automático y escriba la dirección de su archivo PAC (por ejemplo, http://192.168.xx.xx/mysupersecretproxy.pac).

Ahora usted puede navegar por la web de forma segura desde tu iPhone/iPod touch.

4voto

Tiago Espinha Puntos 71

Wow gracias por la última respuesta.

Junto con este "SSH para obtener su iPhone en línea a través de cable USB" blog post, me vino con una muy sólida instante inversa SSH/CALCETINES de solución a través de USB tether dado sólo un servidor SSH en algún lugar de la red. Esto permite que todos mis tcp basado en aplicaciones para utilizar un servidor SSH de internet a través de USB a pesar de mi WiFi está defectuoso y no tener un fuerte plan de datos de teléfono (de T-Mobile Prepago).

No hay un servidor proxy requiere configuración.

La esencia de este blog es que usted PUEDE controlar el proxy desde la línea de comandos. Utilizar el archivo:

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

Encontrar el "ip1" de la sección (si desea reemplazar GPRS/EDGE/3G interface) como:

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

Tenga cuidado de que usted tiene la ip1 sección si desea reemplazar EDGE/3G! No mire para el otro Proxy entradas en el archivo.

A continuación, agregue la siguiente sección después:

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

A continuación, utilice su truco para especificar un proxy SOCKS en el archivo que acaba de especificar:

/private/var/preferencias/proxy.pac

Agregar:

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

Cambiar los permisos de proxy.pac a 777 (todos pueden leer, escribir, ejecutar).

Reiniciar el iPhone.

Descargar iTunnel para iTunes 9 (las versiones anteriores también están disponibles). (http://www.mediafire.com/?2q1fzowoy12)

Crear una nueva Masilla de Conexión: Conexión>SSH>Túneles de sección agregar nuevo reenviado "remoto" del puerto, como la de puerto 202 en el iPhone para su internet servidor SSH (por ejemplo, 192.168.2.100:22).

Source Port: 202
Destination: 192.168.2.100:22

En el SSH sección de la misma Masilla de Conexión de su Remota de Comandos:

ssh -D 1080 user@127.0.0.1 -p 202

Guardar la configuración de Putty para una nueva sesión con nombre.

Opcionalmente generar claves y añadir las claves públicas *~/.ssh/authorized_keys* a ambos extremos, de modo que no es necesario escribir las contraseñas. Uso putty.exe -load "Nombre de Perfil" en un acceso directo a la velocidad aún más.

0voto

jtbandes Puntos 8260

Este mensaje parece sugerir que no es posible hacerlo a través de la línea de comandos, si estoy interpretando correctamente. Creo que significa que usted realmente no puede en absoluto, ya que las preferencias de Red no los CALCETINES de soporte.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X