A simple, easy-to-use tunnel utility written in go.
- AEAD Cipher
- Lightweight
- Obfuscate message length
- Suspend illegal connections to filter active probing
- Stream compression for better web-browsing experience
Download binary from github release page
on Linux / Windows x86_64, Go 1.13.3 or newer
git clone github.com/ktcunreal/torii
Install Dependencies:
go get -u golang.org/x/crypto/nacl/secretbox
go get -u github.com/golang/snappy
Build binaries:
go build -o server server/main.go
go build -o client client/main.go
./server -s "0.0.0.0:1234" -t "0.0.0.0:2345" -u "127.0.0.1:8123" -p "some-long-random-passphrase" -z "snappy"
or
./server -c /path/to/config.json
{
"socksserver": "0.0.0.0:1234",
"tcpserver": "0.0.0.0:2345",
"upstream": "127.0.0.1:8123",
"compression": "snappy",
"key": "some-long-random-passphrase"
}
./client -s "127.0.0.1:1234" -l "0.0.0.0:1080" -t "127.0.0.1:2345" -b ""0.0.0.0:1081" -p "some-long-random-passphrase" -z "snappy"
or
./client -c /path/to/config.json
{
"socksserver": "127.0.0.1:1234",
"socksclient": "0.0.0.0:1080",
"tcpserver": "127.0.0.1:2345",
"tcpclient": "0.0.0.0:1081",
"compression": "snappy",
"key": "some-long-random-passphrase"
}
On start, Torii will search for config.json under current working directory. If config.json does not exist, it will read config from cmdline args. If both cmdline args and config.json are given, torii will use config.json.
Use a password consist of alphanumeric and symbol, at least 20 digits in length (Recommended)
https://github.com/golang/snappy
https://golang.org/x/crypto/nacl/secretbox
https://github.com/xtaci/kcptun
https://gfw.report/blog/ss_advise/en/