CHAN.RUN
The hub includes a web dashboard for managing exit nodes. It binds to localhost only — access it via SSH tunnel:
ssh -L 8080:127.0.0.1:8080 user@your-serverThen open http://localhost:8080 in your browser. The bind address is configurable with --dashboard-listen.
Shows all enrolled exit nodes with their current status:
Click Generate Token to create a one-time enrollment token. A QR code is displayed that exit node apps can scan. Tokens expire after 15 minutes. Optionally set a label — this name is assigned to whatever node enrolls with it.
Click a node's revoke button to delete its public key. The node is immediately disconnected and cannot reconnect.
When the hub receives a proxy request, it routes through the first connected exit node by default. With multiple nodes, you can select a specific one by label.
Use the SOCKS5 username field to pick a node (password is ignored):
# Default (first connected node)
curl --proxy socks5://localhost:1080 https://httpbin.org/ip
# Route through a specific node
curl --proxy socks5://vienna-home:x@localhost:1080 https://httpbin.org/ipHTTP CONNECT works the same way:
curl --proxy http://vienna-home:x@localhost:1081 https://httpbin.org/ipHow labels are assigned (in priority order):
--label exit-bangkoknode-1, node-2, etc.