Skip to content

Latest commit

 

History

History
112 lines (84 loc) · 2.8 KB

README.md

File metadata and controls

112 lines (84 loc) · 2.8 KB

juicity-server

Install

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 CGO_ENABLED=0 juicity-server

Run

./juicity-server run -c config.json

Or with Docker

docker run --name juicity \
  --restart always \
  —-network host \
  -v /path/to/config.json:/etc/juicity/server.json \
  -v /path/to/fullchain.cer:/path/to/fullchain.cer \
  -v /path/to/private.key:/path/to/private.key \
  -dit ghcr.io/juicity/juicity:main

Configuration

Mini configuration:

{
  "listen": ":23182",
  "users": {
    "00000000-0000-0000-0000-000000000000": "my_password"
  },
  "certificate": "/path/to/fullchain.cer",
  "private_key": "/path/to/private.key",
  "congestion_control": "bbr",
  "disable_outbound_udp443": true,
  "log_level": "info"
}

Full configuration:

{
  "listen": ":23182",
  "users": {
    "00000000-0000-0000-0000-000000000000": "my_password"
  },
  "certificate": "/path/to/fullchain.cer",
  "private_key": "/path/to/private.key",
  "congestion_control": "bbr",
  "log_level": "info",
  "fwmark": "0x1000",
  "send_through": "113.25.132.3",
  "dialer_link": "socks5://127.0.0.1:1080",
  "disable_outbound_udp443": true
}
  • congestion_control: one of cubic, bbr, new_reno.
  • fwmark is useful for iptables/nft.
  • send_through is the interface IP to specify to use.
  • dialer_link can be extreme flexible. Juicity support many protocols, even proxy chains. See proxy-protocols 中文.
  • disable_outbound_udp443: usually quic traffic. Suggest to disable it because quic usually consumes too much cpu/mem resources.

Arguments

Run juicity-server run -h to get the full arguments.

UUID Generator

You may make use of an online uuid-generator from @v2fly to generate a legitimate uuid.

Alternatively, for system that ships with Python (e.g Debian or Ubuntu), you may use the following commands to generate a UUID

python3 -c "from uuid import uuid4;print(uuid4())"

Or install a cross-platform binary uuidgen:

# e.g debian
sudo apt install uuid-runtime

# usage
uuidgen

Also see #63

Generate ShareLink

juicity-server generate-sharelink -c /etc/juicity/server.json
# output
juicity://00000000-0000-0000-0000-000000000000:[email protected]:15333?congestion_control=bbr&pinned_certchain_sha256=5ykL73pOK7NAu92A48dCrFjDqDowdChUSmlpQzudmvc%3D&sni=example.com