Dispositivos
Proxy en emulador Android: una IP distinta por instancia
Asigna un proxy HTTP, HTTPS o SOCKS5 a cada instancia de emulador Android o dispositivo en la nube en MAS, prueba la IP de salida y léela en los webhooks.
- Windows
- Mac
- Emulador
- Dispositivo en la nube
- Studio
- API
En esta página
- Antes de empezar
- Tipos de proxy
- Probar un proxy
- Asignar un proxy por instancia de emulador o dispositivo en la nube
- Cómo funciona un proxy SOCKS5 o HTTP en un emulador Android
- Cómo funciona en un dispositivo en la nube
- IP de salida en los webhooks y el historial de ejecuciones
- Límites
- Rutas de proxy para claves de API
- Solución de problemas
- Proxy fallido en la tarjeta del dispositivo
- El estado muestra caído
- El dispositivo en la nube muestra proxy setup failed
Un proxy en un emulador Android, o en un dispositivo en la nube, da a cada instancia su propia identidad de red. Macro Automation Studio (MAS) guarda tus proxies en tu cuenta, asigna un proxy en el emulador Android o el dispositivo que elijas, y enruta el tráfico de ese dispositivo a través de él: con un relé local en un emulador, y con un proxy transparente dentro de la red del dispositivo en un dispositivo en la nube. Esta página cubre los tipos de proxy, las dos formas de añadirlos, la asignación, las pruebas y los límites.
Antes de empezar
- Un proxy que usar: una cuenta en el gateway residencial con el que MAS se integra, o endpoints de cualquier otro proveedor.
- Dispositivos en un grupo de dispositivos. Un proxy se asigna a un dispositivo, no a un grupo.
- MAS está instalado y has iniciado sesión con un plan activo.
Tipos de proxy
MAS acepta proxies http, https y socks5, con o sin usuario y contraseña. Deja las credenciales en blanco para un proxy autorizado por IP.
Hay dos formas de añadir proxies en la página Proxies:
- Cuenta del gateway (la primera pestaña): introduce una vez el usuario y la contraseña de tu cuenta del gateway. Esto añade una entrada, y cada dispositivo al que la asignes recibe su propia IP fija del gateway. Puedes elegir Países (opcional), elegir HTTP o SOCKS5 como Protocolo y abrir Segmentación avanzada para estado, ciudad, código postal o ASN. Una segmentación más precisa requiere un país y el proveedor la cobra a una tarifa más alta, cosa que el formulario avisa antes de usarla.
- Otro proveedor: introduce una Etiqueta, el Protocolo, el Host / IP, el Puerto y, opcionalmente, Usuario y Contraseña, o pega muchos proxies a la vez en Pegar proxies (uno por línea) con cualquiera de estas formas y haz clic en Importar y probar:
host:port
host:port:user:pass
scheme://user:pass@host:portHaz clic en Añadir y probar. MAS guarda las credenciales cifradas y prueba el proxy de inmediato.
Probar un proxy
La tabla Pool de proxies lista cada proxy con su estado: activo, caído o sin comprobar. Probar sale por el proxy hacia un servicio de eco de IP y registra la IP de salida, el país de salida y la latencia; Probar todos lo hace para todo el pool. La columna Salida / geo muestra lo que pediste (want:) junto a lo que observó la prueba (got:), porque un gateway puede salir por un sitio distinto del país solicitado. Un proxy del gateway se prueba sin sesión, así que su salida en la prueba es rotativa.
La columna Datos es el tráfico que MAS enrutó por el proxy en los últimos 30 días, medido por el propio relé de MAS. La cifra que factura tu proveedor puede diferir.
Asignar un proxy por instancia de emulador o dispositivo en la nube
Un proxy por dispositivo. Asignar un segundo sustituye al primero, y el diálogo te avisa: “This device already has a proxy. Attaching will replace it.”
Desde la página Proxies:
- Haz clic en Asignar en un proxy.
- Elige el Dispositivo emulador. Los dispositivos que ya tienen proxy aparecen marcados como “has a proxy”.
- Elige el Comportamiento de sesión: Fija, que ancla una IP a este dispositivo, o Rotativa, una IP nueva por petición.
- Haz clic en Asignar.
Desde una tarjeta de dispositivo en Grupos de dispositivos, abre Ajustes avanzados y elige el proxy en el desplegable Proxy. La tarjeta lo asigna como fijo. Sin proxy quita la asignación.
Cada asignación fija recibe su propio id de sesión, que es lo que convierte una sola cuenta del gateway en una IP de salida distinta por dispositivo. En un proxy normal de otro proveedor, la IP de salida es la que dé ese endpoint; el ajuste de sesión no la cambia.
La tabla Asignaciones activas lista cada dispositivo con su proxy y su sesión. Datos de aplicación muestra los detalles de conexión resueltos, incluido el usuario por dispositivo, para usarlos fuera de MAS.
Cómo funciona un proxy SOCKS5 o HTTP en un emulador Android
El ajuste de proxy global de Android no tiene campo para usuario y contraseña, y el usuario de un gateway es donde viven la segmentación y el id de sesión. Por eso MAS ejecuta un pequeño relé en este ordenador durante cada ejecución:
- Cuando arranca una ejecución, MAS busca el proxy del dispositivo e inicia un relé enlazado a
127.0.0.1en un puerto libre. El relé añade las credenciales a la salida y habla HTTP con el dispositivo y HTTP, HTTPS o SOCKS5 con el proxy de destino, así que un gateway SOCKS5 funciona en un emulador que no sabe hablar SOCKS5. - MAS envía una petición por el relé para demostrar que la ruta funciona y lee la IP, el país y la ciudad de salida. Unas credenciales incorrectas o una región no disponible fallan aquí, antes de que arranque la macro.
- Tras conectar adb, MAS ejecuta
adb reversepara que el localhost del propio emulador llegue al relé, y luego pone el proxy HTTP global del dispositivo en127.0.0.1:<relay port>. Esto se repite en cada reconexión, porque una reconexión borra los mapeos inversos. - Cuando termina la ejecución, MAS borra el ajuste de proxy, quita el mapeo inverso y cierra el relé.
La tarjeta del dispositivo narra cada paso: Proxy listo tras la comprobación, Proxy activo con la IP de salida una vez aplicado, Proxy apagado tras la ejecución y Proxy fallido con el motivo. El relé escucha solo en loopback, así que nada más en tu red puede usarlo.
Cómo funciona en un dispositivo en la nube
En un dispositivo en la nube MAS no usa el ajuste de Android en absoluto. Cuando arranca el dispositivo, el anfitrión lanza un proxy transparente dentro del espacio de nombres de red del dispositivo y redirige todas las conexiones TCP salientes a través de él. Cada conexión se reabre a través de tu proxy de destino con tus credenciales, así que todo el tráfico del dispositivo sale por la IP del proxy tanto si la app respeta un proxy como si no. El proxy de la nube habla con el destino mediante HTTP CONNECT, así que da a un dispositivo en la nube un proxy HTTP o HTTPS.
- El proxy se aplica durante toda la vida del dispositivo, no por ejecución. Asígnalo o cámbialo y luego detén e inicia el dispositivo; la tarjeta dice “Se aplica la próxima vez que arranque el dispositivo”.
- La tarjeta muestra Proxy con la IP de salida mientras el dispositivo está en marcha, y el log de cada ejecución empieza con “Proxy active, traffic routed through
”. - Si el proxy no se puede aplicar, el dispositivo no arranca sin proxy. Pasa a Error con “proxy setup failed, turn the device off and on to retry”.
- Un proxy asignado mientras el dispositivo ya está en marcha se aplica en un sondeo posterior sin reiniciar.
IP de salida en los webhooks y el historial de ejecuciones
Cuando un proxy estuvo activo en una ejecución, los eventos de webhook de esa ejecución llevan proxy_exit_ip y proxy_country en data, junto a device_name, device_port y group_id. Los mismos valores se guardan con la ejecución, así que puedes comprobar más tarde por dónde salió el tráfico. Consulta Webhooks.
Límites
- Un proxy por dispositivo; un dispositivo sin proxy conecta directamente.
- Esquemas:
http,https,socks5. Puerto de 1 a 65535. - Los emuladores aplican el proxy por ejecución; los dispositivos en la nube lo aplican por arranque del dispositivo y necesitan un destino HTTP o HTTPS.
- Segmentación del gateway: o bien países objetivo o bien países excluidos, no ambos; estado, ciudad, código postal y ASN necesitan un país.
- La cifra de uso la mide MAS y no es la factura de tu proveedor.
Rutas de proxy para claves de API
Todas las rutas de proxy aceptan una clave de API: GET, POST y PUT en /api/proxy y /api/proxy/{id}, POST /api/proxy/import, POST /api/proxy/{id}/validate, las rutas de asignación bajo /api/proxy/assignments con /api/proxy/assignments/{id}/connection-info, GET /api/proxy/devices/{device_id} para el proxy asignado a un dispositivo, y GET /api/proxy/usage. Usa GET /api/emulator/devices para encontrar los id de dispositivo. Consulta la API REST.
Solución de problemas
Proxy fallido en la tarjeta del dispositivo
El mensaje nombra el paso. “proxy did not respond, check credentials or targeting” significa que el destino rechazó la comprobación: usuario incorrecto, un plan caducado o un país para el que el gateway no tiene IP. Ejecuta Probar en la página Proxies para ver la respuesta del proveedor. “could not expose the proxy relay to the device (adb reverse)” o “could not set the device proxy” significan que adb perdió el emulador entre la conexión y la configuración; consulta Solución de problemas de ADB y vuelve a iniciar la ejecución.
El estado muestra caído
La prueba no pudo llegar a internet a través del proxy. Comprueba el host, el puerto y el esquema, luego las credenciales, y confirma que el proxy permite la IP de este ordenador si está autorizado por IP. Vuelve a Probar tras corregirlo; la latencia y la IP de salida se actualizan si sale bien.
El dispositivo en la nube muestra proxy setup failed
El anfitrión del dispositivo no pudo aplicar el proxy al arrancar. Comprueba que el proxy está activo y que es HTTP o HTTPS y no SOCKS5, y luego haz clic en Detener, espera e Iniciar. Para arrancar el dispositivo sin proxy, pon antes su Proxy en Sin proxy.
Siguientes pasos
Páginas relacionadas
Gracias. Si algo está mal, cuéntanoslo en Discord.
¿Dudas? Pregunta en Discord