A round-robin load balancer for HTTP proxies.
Go to file
Cyberes 89c0e16379 update documentation 2024-04-12 18:34:47 -06:00
proxy-skeleton remove canihazip, adjust timing, adjust catbox test url 2024-04-11 17:59:19 -06:00
src update documentation 2024-04-12 18:34:47 -06:00
.gitignore update documentation 2024-04-12 18:34:47 -06:00
LICENSE Initial commit 2024-01-14 14:17:56 -07:00
README.md update documentation 2024-04-12 18:34:47 -06:00
build.sh finish prototype 2024-04-12 18:23:18 -06:00
config.example.yml finish prototype 2024-04-12 18:23:18 -06:00
loadbalancer.service update documentation 2024-04-12 18:34:47 -06:00
requirements.txt adjust logging and test headers 2024-02-14 15:28:23 -07:00

README.md

proxy-loadbalancer

A round-robin load balancer for HTTP proxies.

This is a simple proxy load balancer that will route requests to a cluster of proxy backends in a round-robin fashion. This makes it easy to connect your clients to a large number of proxy servers without worrying about implementing anything special clientside.

HTTPS proxy servers are not supported.

Install

  1. Download the latest release from /releases or run ./build.sh to build the program locally.
  2. cp config.example.yml config.yml
  3. Edit the config.
  4. Start the loadbalancer with ./proxy-loadbalancer --config [path to your config.yml]

You can run your own "public IP delivery server" canihazip https://git.evulid.cc/cyberes/canihazip or use the default api.ipify.org

An example systemd service loadbalancer.service is provided.

Special Headers

The load balancer accepts special headers to control its behavior.

  • Thirdparty-Bypass: don't use any third-party endpoints for this request.
  • Thirdparty-Include-Broken: use all online endpoints for this request, including third-party ones that failed the special test.