2024-01-14 14:17:56 -07:00
|
|
|
# proxy-loadbalancer
|
|
|
|
|
2024-01-14 15:19:03 -07:00
|
|
|
_A round-robin load balancer for HTTP proxies._
|
|
|
|
|
2024-04-12 01:26:45 -06:00
|
|
|
does not support downstream https servers.
|
|
|
|
|
2024-01-14 15:19:03 -07:00
|
|
|
This is a simple load balancer using [proxy.py](https://github.com/abhinavsingh/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.
|
2024-04-11 17:59:19 -06:00
|
|
|
3. Deploy the `canihazip` https://git.evulid.cc/cyberes/canihazip and start it.
|
2024-01-14 15:19:03 -07:00
|
|
|
|
|
|
|
## Use
|
|
|
|
|
|
|
|
To start the load balancer server, navigate to `./proxy-skeleton` and run `python3 -m app`. The systemd service
|
2024-03-20 19:06:06 -06:00
|
|
|
`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.
|
2024-04-12 01:26:45 -06:00
|
|
|
- `Smartproxy-Disable-BV3HI`: don't filter SmartProxy endpoints by the 503 connect error.
|