domosekai / turnout

Transparent and HTTP proxy with smart routing solution. Automatic selection between direct route and proxies, without the need to maintain any list.
MIT License
20 stars 8 forks source link
gfw proxy routing socks5

Turnout

Let's suppose for some reason your ISP is incapable to grant you reliable access to some specific websites. In such case, many of us ended up with a dual-connection plan.

A main connection provided by the ISP as is, is complemented by a second connection circumventing the problem of the first. The second route is usually metered, and accessible via a proxy (HTTP/HTTPS/SOCKS5) interface.

Turnout is aimed to give users smooth browsing experience while minimizing the traffic ($$) incurred on the metered connection, by doing smart routing in the background.

User ------ Router ---(ISP)---- Route 1 (default unreliable route)
               |
               -----(Proxy)---- Route 2 (metered reliable route)

Conventional routing plans

Smart routing

Technical highlights

Basic usage

Note: Turnout is supposed to be deployed on local network. It is not safe or optimized to use it in a remote environment, such as a VPS.

Known issues

Credits

Turnout is similar in idea to but not based on the code of COW. Therefore please do not expect the same behavior.

Turnout has used these external packages, either directly or by modifying their code: