Configurar proxy del sistema (Cambio de IP)¶
En este capítulo, aprenderá cómo configurar un proxy de IP para su teléfono móvil actual. FIRERPA le permite configurar proxies HTTP y SOCKS5 para su teléfono, de modo que todo el tráfico de comunicación de su teléfono se enviará a través del proxy configurado. Actualmente, esta función no es compatible con IPv6.
Conectar al proxy¶
Esta interfaz tiene muchos parámetros. Suponiendo que el proxy que obtuvo de su proveedor de servicios es http://1.x.x.x:8080, solo necesita unas pocas líneas de código para que el tráfico del dispositivo pase a través de este proxy. Puede continuar viendo los Parámetros completos a continuación para conocer los parámetros que puede utilizar.
profile = GproxyProfile()
profile.type = GproxyType.HTTP_CONNECT
profile.drop_udp = True
profile.host = "1.x.x.x"
profile.port = 8080
d.start_gproxy(profile)
Es importante tener en cuenta que, después de configurar el proxy, las aplicaciones en ejecución no utilizarán inmediatamente el proxy configurado. Estas aplicaciones ya han establecido conexiones TCP antes de que se configure el proxy. Por lo tanto, debe cerrar y volver a abrir manualmente la aplicación de destino para que establezca una conexión a través del proxy.
Tipos de proxy¶
| Tipo de proxy | Descripción |
|---|---|
| GproxyType.HTTP_CONNECT | HTTP |
| GproxyType.HTTPS_CONNECT | HTTPS (HTTP+TLS) |
| GproxyType.SOCKS5 | Socks5 |
| GproxyType.SHADOWSOCKS | Shadowsocks |
| GproxyType.HTTP_RELAY | Obsoleto |
Parámetros de cifrado de Shadowsocks¶
La siguiente lista muestra los tipos de cifrado de Shadowsocks compatibles. Solo se admiten los métodos de cifrado que se encuentran en la lista; los parámetros de ofuscación no son compatibles.
| Tipo de cifrado | Nombre |
|---|---|
| AES | aes-128-cfb |
| AES | aes-192-cfb |
| AES | aes-256-cfb |
| AES | aes-128-ctr |
| AES | aes-192-ctr |
| AES | aes-256-ctr |
| CAMELLIA | camellia-128-cfb |
| CAMELLIA | camellia-192-cfb |
| CAMELLIA | camellia-256-cfb |
| DES | des-cfb |
| AES-AEAD | aes-128-gcm |
| AES-AEAD | aes-192-gcm |
| AES-AEAD | aes-256-gcm |
| AEAD | chacha20-ietf-poly1305 |
Para Shadowsocks, utilice el siguiente método para configurar el método de cifrado y la contraseña.
profile.login = "chacha20-ietf-poly1305"
profile.password = "contraseña"
Desactivar el proxy¶
Puede usar lo siguiente para desactivar el proxy configurado por FIRERPA en el sistema. Esta interfaz es muy simple y no requiere que proporcione parámetros adicionales.
d.stop_gproxy()
Parámetros completos¶
A continuación se muestra la información de configuración completa de los parámetros de la interfaz del proxy. Puede decidir si necesita usar cada parámetro según su descripción.
Puede configurar el tipo de servicio de proxy con el siguiente parámetro. Si es un proxy socks5, sería GproxyType.SOCKS5.
profile.type = GproxyType.HTTP_CONNECT
Si necesita redirigir las consultas DNS a 114, este parámetro hará que todas las consultas DNS emitidas por el sistema se reenvíen aquí. Si coexiste con OpenVPN, no lo configure como el DNS interno de OpenVPN, ya que podría causar una desconexión total de la red. Si no se utiliza esta configuración, se usará el DNS predeterminado del sistema.
Atención
profile.nameserver = "114.114.114.114"
Configuración de la IP y el número de puerto del servidor proxy.
profile.host = dirección_del_servidor_proxy
profile.port = puerto_del_servidor_proxy
Si su servidor proxy requiere autenticación de inicio de sesión, puede proporcionarla a través de los siguientes parámetros. Esto depende de su proveedor de proxy. Para el tipo Shadowsocks, login es el método de cifrado.
profile.login = "nombre_de_usuario_del_proxy"
profile.password = "contraseña_del_proxy"
Se utiliza para bloquear el tráfico UDP en el sistema. ¿Por qué es necesario bloquear el tráfico UDP? Porque la mayoría de los servicios de proxy públicos actuales no admiten el tráfico UDP dentro del sistema. Por supuesto, algunos servidores SOCKS5 sí admiten UDP, como la solución autohospedada que proporcionamos, y Shadowsocks también suele admitir UDP. Por lo tanto, deshabilitar el tráfico UDP del sistema es una buena opción. Esta opción está desactivada por defecto.
profile.drop_udp = False
Se utiliza para configurar si se debe omitir la red local. Si se establece en True, el tráfico en subredes de enrutadores como 192.168.x y 10.x no pasará por el proxy. El valor predeterminado es False. Tenga en cuenta que si udp_proxy está habilitado, esta opción no tiene efecto sobre el tráfico UDP.
profile.bypass_local_subnet = True
Se utiliza para configurar si se debe usar un proxy para el tráfico UDP. Su proxy debe cumplir con ciertos requisitos previos: solo puede ser un proxy GproxyType.SOCKS5 o GproxyType.SHADOWSOCKS, y su servidor proxy debe tener habilitado el soporte para proxy UDP. Puede instalar un servidor proxy que admita SOCKS5 UDP o construir su propio servidor ss siguiendo la documentación que proporcionamos. El valor predeterminado es False. Cuando utiliza un proxy HTTP o la opción drop_udp es True, esta opción se ignorará.
profile.udp_proxy = False
Se utiliza para configurar si necesita reenviar todo el tráfico DNS a través del proxy. Después de habilitar esta opción, todo el tráfico DNS en el dispositivo se enviará a través del proxy, lo que puede evitar situaciones de envenenamiento de DNS (DNS poisoning). Al usar esta opción, también debe especificar el parámetro nameserver. No debe usarse en escenarios de captura de paquetes, ya que el software de captura puede no manejar correctamente los paquetes DNS, lo que podría llevar a una pseudo-desconexión de la red.
profile.dns_proxy = False
Puede usar la siguiente configuración para establecer un proxy solo para una aplicación específica en el sistema. El tráfico de otras aplicaciones no pasará por el proxy.
# Elija uno de los siguientes tres métodos para seleccionar la aplicación de destino.
app = d.application("com.android.browser")
app = d.get_application_by_name("Navegador")
app = d.application("com.android.browser", user=999) # Aplicación clonada
profile.application.set(app)
Aplicar proxy automáticamente¶
Puede hacer que FIRERPA se conecte automáticamente a un servidor proxy preestablecido al iniciarse, asegurando que el tráfico de su teléfono siempre pase por el proxy. Copie la siguiente configuración, modifíquela con la información de su proxy, escríbala en el archivo properties.local y luego reinicie FIRERPA. Algunos campos no descritos aquí tienen el mismo nombre que los campos descritos en la sección Parámetros completos.
gproxy.enable=true
gproxy.type=http-connect
gproxy.host=1.x.x.x
gproxy.port=8080
gproxy.password=
gproxy.login=
Configurar un servicio de proxy¶
FIRERPA proporciona un servicio de proxy socks5 listo para usar con soporte UDP en un contenedor Docker, ubicado en el directorio tools. Puede aprender a implementar su propio servidor proxy en los capítulos relevantes sobre la implementación de servicios de proxy en esta documentación.