Usa Shifter con n8n
Integra los proxies residenciales y de ISP de Shifter en los flujos de trabajo de n8n de dos formas: a nivel de entorno para todos los nodos HTTP a la vez, o de forma directa en el nodo HTTP Request cuando necesites control por flujo de trabajo.
Inicio rápido
Instalar
docker run -p 5678:5678 -e HTTP_PROXY=... n8nio/n8n Uso básico
# Easiest path: set HTTP_PROXY / HTTPS_PROXY when launching n8n
docker run -d --name n8n -p 5678:5678 \
-e HTTP_PROXY="customer-USERNAME-country-us-sid-123ABC:PASSWORD@p.shifter.io:443" \
-e HTTPS_PROXY="customer-USERNAME-country-us-sid-123ABC:PASSWORD@p.shifter.io:443" \
-e NO_PROXY="localhost,127.0.0.1" \
n8nio/n8n
# Every HTTP Request node will now route through Shifter automatically. Características
Ejemplos
Proxy por nodo mediante HTTP Request (UI)
Cuando necesitas control por flujo de trabajo (distintos países por nodo, sesiones sticky por spider), configura el proxy directamente en el nodo HTTP Request sin necesidad de variables de entorno.
# In the HTTP Request node:
# 1. Switch to "Generic Authentication"
# 2. Authentication: "Generic Credential Type"
# 3. Credential type: "HTTP Header Auth"
# 4. Then in the node body, add:
#
# Send Headers: ON
# Header Parameters:
# Proxy-Authorization: Basic <base64(USER:PASS)>
#
# 5. Set Request Options > Proxy:
# http://p.shifter.io:443
# Or, simpler — set "Send Body / Send Headers / Use Proxy" toggles
# and configure Proxy directly:
{
"parameters": {
"url": "https://example.com",
"options": {
"proxy": "customer-USERNAME-country-uk-sid-456DEF:PASSWORD@p.shifter.io:443",
"timeout": 30000,
"redirect": { "followRedirects": true }
}
},
"name": "Scrape UK products",
"type": "n8n-nodes-base.httpRequest"
} Sesión sticky por flujo de trabajo con nodo Function
Genera un sid único al inicio de un flujo de trabajo y pásalo a todos los nodos HTTP posteriores: cada solicitud de esa ejecución comparte una misma IP residencial, ideal para scraping en varios pasos.
// Function node — outputs a Shifter URL with a fresh sid + ttl
const sid = Math.random().toString(36).slice(2, 10);
const country = $json.country || "us";
return [
{
json: {
shifterProxy:
`customer-USERNAME-country-${country}-sid-${sid}-ttl-300:` +
`PASSWORD@p.shifter.io:443`,
country,
sid,
},
},
];
// Then in each downstream HTTP Request node, set:
// Proxy: ={{ $json.shifterProxy }}
//
// Every node in the run reuses the same residential IP. Ramas por país (Switch + varios países)
Usa un nodo Switch para enrutar distintos elementos por diferentes ramas, con el nodo HTTP Request de cada rama configurado para un país diferente. Ideal para monitorización de precios localizada o comprobaciones de SERP.
// Workflow shape:
//
// Schedule Trigger
// |
// Set: list of regions
// |
// Split In Batches (per region)
// |
// Switch (item.region == "us" / "uk" / "jp" / ...)
// |--- HTTP Request (proxy: country-us sid-us-001)
// |--- HTTP Request (proxy: country-uk sid-uk-001)
// |--- HTTP Request (proxy: country-jp sid-jp-001)
// |--- HTTP Request (proxy: country-de sid-de-001)
// |
// Merge -> HTML Extract -> Postgres Insert
// Or, parameterize the proxy on a single HTTP Request node:
{
"url": "https://example.com/{{$json.path}}",
"options": {
"proxy": "=customer-USERNAME-country-{{$json.region}}-sid-{{$json.region}}-{{$workflow.id}}:PASSWORD@p.shifter.io:443"
}
} Autoalojado con Docker Compose
Configuración lista para producción. Inyecta las variables de entorno de Shifter en el contenedor de n8n, persiste los flujos de trabajo en Postgres y permite que cada nodo HTTP Request use Shifter sin configuración por nodo.
# docker-compose.yml
version: "3.8"
services:
n8n:
image: n8nio/n8n:latest
restart: unless-stopped
ports:
- "5678:5678"
environment:
# Shifter proxy for every outbound HTTP Request node
HTTP_PROXY: "customer-USERNAME-country-us-sid-prod:PASSWORD@p.shifter.io:443"
HTTPS_PROXY: "customer-USERNAME-country-us-sid-prod:PASSWORD@p.shifter.io:443"
NO_PROXY: "localhost,127.0.0.1,postgres"
DB_TYPE: postgresdb
DB_POSTGRESDB_HOST: postgres
DB_POSTGRESDB_DATABASE: n8n
DB_POSTGRESDB_USER: n8n
DB_POSTGRESDB_PASSWORD: n8n_password
N8N_BASIC_AUTH_ACTIVE: "true"
N8N_BASIC_AUTH_USER: admin
N8N_BASIC_AUTH_PASSWORD: changeme
volumes:
- n8n_data:/home/node/.n8n
depends_on:
- postgres
postgres:
image: postgres:15
restart: unless-stopped
environment:
POSTGRES_DB: n8n
POSTGRES_USER: n8n
POSTGRES_PASSWORD: n8n_password
volumes:
- postgres_data:/var/lib/postgresql/data
volumes:
n8n_data:
postgres_data: Preguntas frecuentes
Preguntas frecuentes sobre el uso de Shifter con n8n.
La forma más sencilla es establecer las variables de entorno HTTP_PROXY y HTTPS_PROXY en el proceso de n8n (o en el contenedor). Cada nodo HTTP Request, y la mayoría de los nodos que realizan llamadas externas, recoge estas variables automáticamente. Para control por flujo de trabajo, establece el proxy directamente en las opciones del nodo HTTP Request.
Empieza a usar Shifter con n8n
Conecta los más de 205M de proxies residenciales y de ISP de Shifter a tus flujos de trabajo de n8n. Configuración mediante variables de entorno o por nodo, sesiones persistentes y geolocalización por elemento, compatible con Cloud y autoalojado.