Config priority
Settings are resolved in this order (highest wins):File structure
Duration values
All duration fields accept a suffix (1s, 5m, 2h) or a bare integer (seconds):
proxyProviders
Named groups of external proxy IPs with shared authentication and an optional region tag. At least one provider is required — IPs are declared here and referenced by pools.ipPools
Named collections of proxy IPs referenced by targets. Pools decouple the IP list from the target config — multiple targets can reference the same pool while maintaining independent rotation state.ipPools fields
ipRequests fields
Multiple
ipRequests entries combine IPs from different providers into one pool:
targets
The core routing config. Each inbound request is matched against the target list top-to-bottom — the first regex match handles the request. At least one target is required.identity
Attaches a persistent browser persona to each (IP, target) pair. Disabled by default — add theidentity: block to enable.
auth
Authentication is disabled by default. When enabled, every proxy request must include anX-Proxy-Hopper-Auth: Bearer <token> header.
See the Authentication section for full configuration guides.
authServer
Configuration for the external token server that backs managed auth — required only if at least one target setsauthManaged: true. Lives under server.authServer (nested inside the server: block, not top-level).
Unlike the rest of
server:, authServer has no PROXY_HOPPER_AUTH_SERVER_* environment variables and no CLI flags — it’s YAML-only.