Utilisez Shifter avec n8n
Intégrez les proxies résidentiels et ISP de Shifter dans vos workflows n8n de deux façons — au niveau de l'environnement pour tous les nœuds HTTP à la fois, ou directement sur le nœud HTTP Request lorsque vous avez besoin d'un contrôle par workflow.
Démarrage rapide
Installer
docker run -p 5678:5678 -e HTTP_PROXY=... n8nio/n8n Utilisation de base
# 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. Fonctionnalités
Exemples
Proxy par nœud via HTTP Request (interface)
Lorsque vous avez besoin d'un contrôle par workflow (différents pays par nœud, sessions persistantes par spider), configurez le proxy directement sur le nœud HTTP Request — aucune variable d'environnement n'est requise.
# 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"
} Session persistante par workflow avec un nœud Function
Générez un sid unique au début d'un workflow et transmettez-le à chaque nœud HTTP en aval — chaque requête de cette exécution partage une même IP résidentielle, idéal pour les scrapes en plusieurs étapes.
// 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. Branches géolocalisées (Switch + plusieurs pays)
Utilisez un nœud Switch pour acheminer différents éléments vers différentes branches, chaque nœud HTTP Request de branche étant configuré pour un pays différent. Idéal pour la surveillance de prix localisée ou les vérifications 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"
}
} Auto-hébergement avec Docker Compose
Configuration prête pour la production. Injectez les variables d'environnement Shifter dans le conteneur n8n, persistez les workflows dans Postgres, et laissez chaque nœud HTTP Request utiliser Shifter sans configuration par nœud.
# 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: Questions fréquentes Questions FAQ
Questions fréquentes sur l'utilisation de Shifter avec n8n.
La solution la plus simple consiste à définir les variables d'environnement HTTP_PROXY et HTTPS_PROXY sur le processus n8n (ou le conteneur). Chaque nœud HTTP Request — et la plupart des autres nœuds effectuant des appels externes — récupère ces variables automatiquement. Pour un contrôle par workflow, définissez le proxy directement dans les Options du nœud HTTP Request.
Commencer à utiliser Shifter avec n8n
Intégrez les 205M+ proxies résidentiels et ISP de Shifter dans vos workflows n8n. Configuration par variable d'environnement ou par noeud, sessions persistantes et géociblage par élément — compatible Cloud et auto-hébergé.