Modular proxy tunnel that encapsulates traffic within a cover protocol to circumvent censorship.
This package implements a modular framework for proxies that encapsulate traffic within some cover protocol to circumvent censorship based on deep packet inspection and endpoint fingerprinting techniques. For more information, check out this post.
This package is currently pre-alpha and is considered experimental.
Requires Go version 1.16 or above.
Installation will build the package and install it into $GOPATH/bin
.
git clone github.com/awnumar/rosen
cd rosen
go install
You can now run Rosen with the rosen
command. For this to work $GOPATH/bin
must be in your PATH
.
If you just need a standalone binary, instead of go install
run:
go build
or to cross compile (for example):
env GOOS=windows GOARCH=amd64 go build
env
is a Unix command that temporarily sets environment variables, syntax may differ for other operating systems. A full list of supported GOOS
and GOARCH
values is available here.
Run the configuration tool to create a config file.
rosen -configure
Then on the server side run
rosen -mode server -config example.json
And finally on the client side run
rosen -mode client -config example.json
This will launch a SOCKS server on the default port (23579). Use the -help
flag to see other options.
This is public domain software. See LICENSE for details.