Skip to main content

Overview

Proxy providers are named groups of external proxy IPs with shared authentication and an optional region tag. Providers are referenced from IP pools via ipRequests. Defining providers is optional — targets can also list IPs inline. Providers are useful when:
  • Multiple pools or targets share the same credential set
  • You want per-region observability in Prometheus metrics
  • You want to draw a random sample of IPs from a larger list at startup

Fields

FieldTypeDefaultDescription
namestringrequiredUnique identifier referenced from ipPools.ipRequests
authblockOptional — omit entirely for open or IP-whitelisted proxies
auth.typestringbasicAuth type — currently basic
auth.usernamestringrequired if auth setUsername for HTTP Basic auth
auth.passwordstring""Password for HTTP Basic auth
ipListlistrequiredProxy addresses — scheme://host:port, host:port, or bare host
regionTagstringRegion label attached to metrics — enables per-region queries

Examples

Provider with authentication

proxyProviders:
  - name: provider-us
    auth:
      type: basic
      username: user
      password: secret
    ipList:
      - "10.0.0.1:3128"
      - "10.0.0.2:3128"
      - "10.0.0.3:3128"
    regionTag: US-East

Provider without authentication

For open proxies or IP-whitelisted providers, omit the auth block entirely:
proxyProviders:
  - name: provider-open
    ipList:
      - "10.1.0.1:3128"
      - "10.1.0.2:3128"
    regionTag: EU-West

Multiple providers

proxyProviders:
  - name: provider-au
    auth:
      type: basic
      username: user
      password: secret
    ipList:
      - "10.0.0.1:3128"
      - "10.0.0.2:3128"
    regionTag: Australia

  - name: provider-ca
    auth:
      type: basic
      username: user
      password: secret
    ipList:
      - "10.1.0.1:3128"
      - "10.1.0.2:3128"
    regionTag: Canada

Region tags and metrics

The regionTag value appears as a region label on all IP-level and probe Prometheus metrics:
# Average probe latency by region
avg by (region) (proxy_hopper_probe_duration_seconds)

# Quarantine rate by region
rate(proxy_hopper_ip_quarantine_events_total[5m]) by (region)