- Multiplexing
- All proxy connections running over N persist proxy channel connections
- Simple PAC(Proxy Auto Config)
- Multiple Ciphers support
- Chacha20Poly1305
- AES128
- HTTP/Socks4/Socks5 Proxy
- Local client running as HTTP/Socks4/Socks5 Proxy
- Transparent TCP Proxy
- Transparent tcp proxy implementation
- Low-memory Environments Support
- Use 10MB RSS memory at client/server side
./target/debug/rsnova -h
rsnova 0.1.0
yinqiwen<[email protected]>
Private proxy solution & network troubleshooting tool.
USAGE:
rsnova [OPTIONS]
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-c, --config <FILE> Sets a custom config file [default: ./rsnova.toml]
./rsnova -c ./client.toml
client.toml
[log]
logtostderr = true
level = "info"
logdir = "./"
[[tunnel]]
listen = "127.0.0.1:48100"
pac=[{host = ".*", channel = "rmux"}]
[[channel]]
# name of current channel
name = "rmux"
# host & port of server
url = "127.0.0.1:48101"
ping_interval_sec = 10
conns_per_host = 5
max_alive_mins = 40
# cipher to communicate with server
cipher = {key="abcdefg", method = "chacha20poly1305"}
./rsnova -c ./server.toml
server.toml
[log]
logtostderr = true
level = "info"
logdir = "./"
[[tunnel]]
# listen address of tunnel server
listen = "rmux://127.0.0.1:48101"
# pac rule to relay traffic, 'direct' is special channel which relay direct to remote target server
pac=[{host = ".*", channel = "direct"}]
cipher = {key="abcdefg", method = "chacha20poly1305"}