Cedar: an encrypted proxy
Features
Unlike many other encrypted tunnel proxies, Cedar does not create connections between server and client upon request.
Instead, it maintains several persistent connections and encapsulates network traffic into them. This is helpful in situations like:
- Your connection may be interrupted/reset by 3rd party (e.g. your ISP), but application layer provides no retry mechanism
- Your ISP has traffic policy limiting transfer rate by each connection
Setup
Get Cedar:
# on server side
go get "github.com/OliverQin/cedar/cmd/cdrserver"
# local
go get "github.com/OliverQin/cedar/cmd/cdrlocal"
Run the commands with -h
to read help info.
# Start server, using config file
go run cdrserver.go -c sample_config.json
# Start local SOCKS5 server
# You can use command line paramters directly,
go run cdrlocal.go -n 20 -b 100 -p change_me -s 127.0.0.1:1080 -r 12.3.45.67:33322 -n 20
A sample config file:
{
"local": "127.0.0.1:1080",
"remote": "12.3.45.67:33322",
"password": "change_me",
"buffersize": 100,
"numofconns": 20
}
Note
This project is experimental and still working in progress. Use at your own risk.
Comments and PRs are welcome!