Files

59 lines
1.5 KiB
TOML
Raw Permalink Normal View History

2026-03-17 02:56:24 -07:00
# mc-proxy configuration
# Database. Required. Listeners, routes, and firewall rules are persisted here.
# On first run, the database is seeded from the config below.
# On subsequent runs, the database is the source of truth.
[database]
path = "/srv/mc-proxy/mc-proxy.db"
2026-03-17 02:56:24 -07:00
# Listeners. Each listener binds a TCP port and has its own route table.
# These are used to seed the database on first run only.
2026-03-17 02:56:24 -07:00
[[listeners]]
addr = ":443"
[[listeners.routes]]
hostname = "metacrypt.metacircular.net"
backend = "127.0.0.1:18443"
[[listeners.routes]]
hostname = "mcias.metacircular.net"
backend = "127.0.0.1:28443"
[[listeners]]
addr = ":8443"
[[listeners.routes]]
hostname = "metacrypt.metacircular.net"
backend = "127.0.0.1:18443"
[[listeners]]
addr = ":9443"
[[listeners.routes]]
hostname = "mcias.metacircular.net"
backend = "127.0.0.1:28443"
# gRPC admin API. Optional — omit addr to disable.
[grpc]
addr = "127.0.0.1:9090"
tls_cert = "/srv/mc-proxy/certs/cert.pem"
tls_key = "/srv/mc-proxy/certs/key.pem"
client_ca = "/srv/mc-proxy/certs/ca.pem" # mTLS; omit to disable client auth
# Firewall. Global blocklist, evaluated before routing. Default allow.
[firewall]
geoip_db = "/srv/mc-proxy/GeoLite2-Country.mmdb"
blocked_ips = []
blocked_cidrs = []
blocked_countries = ["KP", "CN", "IN", "IL"]
# Proxy behavior.
[proxy]
connect_timeout = "5s"
idle_timeout = "300s"
shutdown_timeout = "30s"
# Logging.
[log]
level = "info"