Skip to content
Version: Current

Massprox Configuration

Status as of 2026-11-05: Massprox is partially operational. The gatherer loop may be inactive. Verify live state before changes.

Massprox reads most settings from environment variables. Keep runtime operational settings auditable and DB-first where the service supports it. Use environment variables only for bootstrap and process-level limits.

Variable Default Description
OUT proxies State directory
TARGET 1000000 Candidate target per run
VERIFY_CONC 2048 HTTP verify slots (capped)
RECHECK_CONC 1024 Recheck slots
TCP_CONC 8192 TCP dial slots (capped)
SCRAPE_CONC 128 Scrape slots (capped)
TCP_TIMEOUT 400ms Dial timeout

Massprox keeps its durable state in PostgreSQL (owner ruling 2026-11-09: durable state lives only in PostgreSQL). Per definitions/massprox.md:

  • Schemas massprox and massprox_ops hold the frontier, operational state and audit rows.
  • Raw lists (active, candidate, merged, sources/, ranked/) are files with a hash and a retention rule; they are inputs and outputs, not the state store.
  • The embedded-database store and its migration tool (massprox-migrate-sqlite) are migration inputs only and are cut.

Under OUT you may still see list files from an older layout (active.txt, candidates.txt, merged.txt, sources/, ranked/) and a status snapshot. Treat them as operational data: read the Postgres state, and do not commit any file under OUT.

  • Keep egress guard checks enabled.
  • Do not change routing to bypass the controlled gateway.
  • Do not enable direct IPv6 egress for UID 988.
  • Do not use settings to probe restricted addresses.
  • Limit concurrency to avoid resource exhaustion.

See Verify Egress Compliance and Massprox Operator Runbook.

  • Check systemd unit and drop-ins before edits.
  • Use bounded worker pools.
  • Monitor latency, failure reasons, and verified count.
  • Record config changes in the approved audit path.