Download from releases
Multiple platforms and architectures are provited at https://github.com/juicity/juicity/releases.
Build from sratch
If you want to build from scratch:
git clone https://github.com/juicity/juicity
cd juicity
make juicity-client
./juicity-client run -c config.json
Mini configuration:
{
"listen": ":1080",
"server": "<ip or domain>:<port>",
"uuid": "00000000-0000-0000-0000-000000000000",
"password": "my_password",
"sni": "www.example.com",
"allow_insecure": false,
"congestion_control": "bbr",
"log_level": "info"
}
Full configuration:
{
"listen": ":1080",
"server": "<ip or domain>:<port>",
"uuid": "00000000-0000-0000-0000-000000000000",
"password": "my_password",
"sni": "www.example.com",
"allow_insecure": false,
"congestion_control": "bbr",
"log_level": "info",
"pinned_certchain_sha256": "aQc4fdF4Nh1PD6MsCB3eofRyfRz5R8jJ1afgr37ABZs=",
"forward": {
"127.0.0.1:12322": "127.0.0.1:22",
"0.0.0.0:5201/tcp": "127.0.0.1:5201",
"0.0.0.0:5353/udp": "8.8.8.8:53"
}
}
listen
is the address that the socks5 and http server listen at. If you want authentication, write it likeuser:pass@:1080
.- Optional values of
congestion_control
: cubic, bbr, new_reno. sni
can be omitted if domain is given inserver
.pinned_certchain_sha256
is the pinned hash of remote TLS certificate chain. You can generate it byjuicity-server generate-certchain-hash [fullchain_cert_file]
. See juicity#34.forward
format is"<Local Address>[/tcp][/udp]": "<Remote Address>"
. Remote address can be local or another host./tcp
and/udp
are optional.
Run juicity-client run -h
to get the full arguments.