wwebjs-api/.env.example
vbas-644 132bcf6ee3
feat: support outbound proxy for Chromium sessions (#131)
* feat: support outbound proxy for Chromium sessions

Routes WhatsApp Web traffic through an HTTP/HTTPS/SOCKS5 proxy when
PROXY_URL is set. Optional PROXY_API_KEY enables auth by passing the
key as the basic-auth username (the format API-key proxies expect).
No behavior change when unset.

Useful for deployments behind egress filters or where outbound
WhatsApp traffic must originate from a specific IP.

* docs: 📝 rewrite proxy auth part

* fix: 🐛 move api key value to passwd

* fix: 💄 change var naming

* fix: 🎨 change var ref in docs and data passing
2026-05-27 12:56:34 +03:00

67 lines
No EOL
2.6 KiB
Shell

## Application ##
# OPTIONAL, DEFAULT 3000
PORT=3000
# OPTIONAL, IF SET, ALL REQUESTS MUST INCLUDE THIS IN THE 'x-api-key' HEADER
API_KEY=SET_YOUR_API_KEY_HERE
# MANDATORY
BASE_WEBHOOK_URL=http://localhost:3000/localCallbackExample
# OPTIONAL, DISABLE FOR PRODUCTION
ENABLE_LOCAL_CALLBACK_EXAMPLE=TRUE
# OPTIONAL, THE MAXIMUM NUMBER OF CONNECTIONS TO ALLOW PER TIME FRAME
RATE_LIMIT_MAX=1000
# OPTIONAL, TIME FRAME FOR WHICH REQUESTS ARE CHECKED IN MS
RATE_LIMIT_WINDOW_MS=1000
## Client ##
# IF REACHED, MEDIA ATTACHMENT BODY WILL BE NULL
MAX_ATTACHMENT_SIZE=10000000
# WILL MARK THE MESSAGES AS READ AUTOMATICALLY
SET_MESSAGES_AS_SEEN=TRUE
# PREVENT SENDING CERTAIN TYPES OF CALLBACKS BACK TO THE WEBHOOK
# ALL CALLBACKS: auth_failure|authenticated|call|change_state|disconnected|group_join|group_leave|group_update|loading_screen|media_uploaded|message|message_ack|message_create|message_reaction|message_revoke_everyone|qr|ready|contact_changed|unread_count|message_edit|message_ciphertext
DISABLED_CALLBACKS=message_ack|message_reaction|unread_count|message_edit|message_ciphertext
# OPTIONAL, THE VERSION OF WHATSAPP WEB TO USE
WEB_VERSION='2.2328.5'
# OPTIONAL, DETERMINES WHERE TO GET THE WHATSAPP WEB VERSION(local, remote or none), DEFAULT 'none'
WEB_VERSION_CACHE_TYPE=none
# OPTIONAL, SHOULD WE RECOVER THE SESSION IN CASE OF PAGE FAILURES
RECOVER_SESSIONS=TRUE
# OPTIONAL, PATH TO CHROME BINARY
CHROME_BIN=
# OPTIONAL, RUN CHROME IN HEADLESS MODE
HEADLESS=TRUE
# OPTIONAL, RELEASE THE BROWSER LOCK ON SESSION INITIALIZATION
RELEASE_BROWSER_LOCK=TRUE
# OPTIONAL, SET THE LOG LEVEL
LOG_LEVEL=info
# OPTIONAL, ENABLE WEBHOOK FOR REALTIME UPDATES(TRUE BY DEFAULT)
ENABLE_WEBHOOK=TRUE
# OPTIONAL, ENABLE WEBSOCKET FOR REALTIME UPDATES(FALSE BY DEFAULT)
ENABLE_WEBSOCKET=FALSE
# OPTIONAL, AUTO START SESSIONS ON SERVER STARTUP(TRUE BY DEFAULT)
AUTO_START_SESSIONS=TRUE
## Session File Storage ##
# OPTIONAL
SESSIONS_PATH=./sessions
# OPTIONAL, ENABLE SWAGGER ENDPOINT FOR API DOCUMENTATION
ENABLE_SWAGGER_ENDPOINT=TRUE
## Reverse Proxy / Load Balancer ##
# OPTIONAL, BASE PATH FOR MOUNTING ROUTES (e.g., /api/v1/whatsapp)
BASE_PATH=
# OPTIONAL, ENABLE WHEN BEHIND REVERSE PROXY/LOAD BALANCER
TRUST_PROXY=FALSE
## CORS ##
# OPTIONAL, CORS ALLOWED ORIGINS (comma separated), DEFAULT ALLOWS ALL
# ALLOWED_ORIGINS=http://localhost:3000,http://example.com
## Outbound Proxy ##
# OPTIONAL, ROUTES CHROMIUM (WHATSAPP WEB) TRAFFIC THROUGH AN OUTBOUND PROXY.
# ACCEPTED FORMATS: http://host:port, https://host:port, socks5://host:port
# PROXY_URL=http://10.0.0.10:8118
# OPTIONAL, PROXY BASIC-AUTH USERNAME
# PROXY_USERNAME=
# OPTIONAL, PROXY BASIC-AUTH PASSWORD
# PROXY_PASSWORD=