A round-robin load balancer for HTTP proxies.
Go to file
Cyberes d1bea64203 prototype new golang loadbalancer 2024-04-12 01:26:45 -06:00
proxy-skeleton remove canihazip, adjust timing, adjust catbox test url 2024-04-11 17:59:19 -06:00
src prototype new golang loadbalancer 2024-04-12 01:26:45 -06:00
.gitignore prototype new golang loadbalancer 2024-04-12 01:26:45 -06:00
LICENSE Initial commit 2024-01-14 14:17:56 -07:00
README.md prototype new golang loadbalancer 2024-04-12 01:26:45 -06:00
build.sh prototype new golang loadbalancer 2024-04-12 01:26:45 -06:00
loadbalancer.service fix systemd services 2024-01-14 20:08:51 -07: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.

does not support downstream https servers.

This is a simple load balancer using proxy.py 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.

Install

  1. pip install -r requirements.txt
  2. Copy proxy-skeleton/app/config.py.example to proxy-skeleton/app/config.py and fill in your config details.
  3. Deploy the canihazip https://git.evulid.cc/cyberes/canihazip and start it.

Use

To start the load balancer server, navigate to ./proxy-skeleton and run python3 -m app. The systemd service loadbalancer.service is provided as a service example.

Special Headers

The load balancer accepts special headers to control its behavior.

  • Smartproxy-Bypass: don't use any SmartProxy endpoints.
  • Smartproxy-Disable-BV3HI: don't filter SmartProxy endpoints by the 503 connect error.