Skip to content

v1.0.0

Choose a tag to compare

@MejiroRina MejiroRina released this 22 Mar 23:54
· 32 commits to main since this release

First release of http-proxy-lb, an HTTP relay proxy that listens on a local port and forwards client traffic through a pool of upstream proxies, keeping clients connected when individual upstreams fail.

Added

  • Forward plain HTTP/1.x requests and tunnel HTTPS through CONNECT, with client keep-alive and per-upstream proxy Basic auth. (#1)
  • Choose how traffic is spread across upstreams with mode: round_robin (weighted round-robin), best (lowest latency plus active-connection score) or priority (lowest priority value first, falling back to the next online level). (#1)
  • Mark an upstream offline as soon as a connection to it fails, and retry the request on another upstream, up to min(pool_size, 3) attempts before answering 502. (#1)
  • Bring offline upstreams back only after an active probe through them to generate_204 returns HTTP 204, configured under health_check. (#1)
  • Send selected domains directly or through the pool with domain_policy (off, blacklist or whitelist), matching domain:, suffix:, *./. shorthand or plain domain expressions. (#1)
  • Reload the config file without a restart: upstreams are added and removed, and existing ones keep their state while picking up new priority, weight and auth values. (#1)
  • Monitor the proxy through an optional admin listener with Prometheus /metrics, a JSON /status and a /health check. (#1)
  • Limit concurrent connections and request time, enable per-request access logs, validate a config with --check, and shut down gracefully on SIGTERM/SIGINT. (#1)
  • Run it with the provided Dockerfile, Docker Compose file or systemd unit. (#1)

Artifacts

  • Docker: ghcr.io/seiunx-dev/http-proxy-lb:v1.0.0
  • Binaries for Linux x86_64, macOS arm64 and Windows x86_64: attached below.
Maintenance
  • Build the Docker image on Alpine instead of Debian. (139b0ad)
  • Set the package version to 1.0.0. (d2c7cf8)

Full Changelog: https://github.com/seiunx-dev/http-proxy-lb/commits/v1.0.0