2020-07-25 19:35:14 -04:00
2020-04-03 15:50:29 -04:00
2020-05-30 12:44:43 -04:00
2020-04-18 00:41:15 -04:00
2020-07-25 18:38:01 -04:00
2020-04-10 17:36:01 -04:00
2020-05-30 00:37:16 -04:00
2020-05-29 19:46:23 -04:00
2020-05-30 01:27:41 +00:00
2020-07-25 19:35:14 -04:00
2020-07-25 18:38:01 -04:00
2020-07-25 19:35:14 -04:00
2020-07-25 19:35:14 -04:00
2020-05-29 19:46:23 -04:00
2020-07-25 19:35:14 -04:00

Openvpn Load Balancing Socks5 Server

ovpn-lb-socks5 supervises multiple openvpn client connections and provides a socks5 proxy to load balance the connections to achieve bandwidth aggregation. The link isolation uses iptables and ip rules with group id as the identifier. One socks5 server is started for each openvpn connection, and an additional load balancing socks5 server listens for external requests.

The program also provides link quality monitoring (ping time and speed). The load balancing proxy has the option to dynamically change the rule for load balancing based on the link quality.

The program has builtin web ui to monitor and control the openvpn connections and load balancing rules.

The program needs to run as root.

Todos

  • improve log reading efficiency, potentially using pytailer
  • remove instance or change configuration
  • improve ui using template, move to ajax
  • save and load configurations
  • parameterize inline constants
  • refractor code
  • documentations

2020/07/25 Sat

  • frontend ui design: ajax
  • configuration defination
  • configuration save and load
  • charts: mpld3
Description
Openvpn Load Balancing Socks5 Server
Readme 5.6 MiB
Languages
Go 38.7%
Python 37.2%
HTML 17.4%
Shell 6.7%