Skip to main content

Fields

All server fields can be set in three places (highest priority wins — see config priority):
Field (YAML)Env varDefaultDescription
hostPROXY_HOPPER_HOST0.0.0.0Bind address
portPROXY_HOPPER_PORT8080Proxy server port
logLevelPROXY_HOPPER_LOG_LEVELINFOTRACE | DEBUG | INFO | WARNING | ERROR
logFormatPROXY_HOPPER_LOG_FORMATtexttext | json
logFilePROXY_HOPPER_LOG_FILEstderrPath to log file
backendPROXY_HOPPER_BACKENDmemorymemory | redis
redisUrlPROXY_HOPPER_REDIS_URLredis://localhost:6379/0Redis connection URL
metricsPROXY_HOPPER_METRICSfalseEnable Prometheus /metrics endpoint
metricsPortPROXY_HOPPER_METRICS_PORT9090Metrics server port
probePROXY_HOPPER_PROBEtrueEnable background IP health prober
probeIntervalPROXY_HOPPER_PROBE_INTERVAL60Seconds between probe rounds
probeTimeoutPROXY_HOPPER_PROBE_TIMEOUT10Per-probe HTTP timeout (seconds)
probeUrlsPROXY_HOPPER_PROBE_URLSCloudflare + GoogleEndpoints to probe through each IP. Comma-separated as env var.
modesPROXY_HOPPER_MODESallEnabled interaction modes. Comma-separated as env var. Valid values: connect_tunnel, http_proxy, forwarding.

Example

server:
  host: 0.0.0.0
  port: 8080
  logLevel: INFO
  logFormat: json       # recommended for Docker/Kubernetes
  backend: memory       # or redis
  redisUrl: redis://localhost:6379/0
  metrics: true
  metricsPort: 9090
  probe: true
  probeInterval: 60
  probeTimeout: 10
  probeUrls:
    - https://1.1.1.1
    - https://www.google.com
  modes:
    - connect_tunnel
    - http_proxy
    - forwarding

CLI flags

CLI flags override all other sources. They cover the most operationally useful overrides:
proxy-hopper run --config config.yaml [OPTIONS]

  --config / -c PATH       Path to YAML config file  [required]
  --host TEXT              Bind address
  --port INT               Proxy server port
  --log-level CHOICE       TRACE|DEBUG|INFO|WARNING|ERROR
  --log-format CHOICE      text|json
  --log-file PATH          Write logs to file instead of stderr
  --metrics / --no-metrics Enable Prometheus /metrics
  --metrics-port INT       Metrics server port
  --backend CHOICE         memory|redis
  --redis-url TEXT         Redis connection URL
  --probe / --no-probe     Enable background IP health prober
  --probe-interval FLOAT   Seconds between probe rounds
  --probe-timeout FLOAT    Per-probe HTTP timeout
  --probe-urls TEXT        Comma-separated probe endpoints