Juicity 协议手动安装教程
Juicity 协议是一个开源的网络代理协议,作者在开发 Juicity 协议时受到了 TUIC 的启发。Juicity、TUIC、Hysteria 协议一样,均基于 QUIC(Quick UDP Internet Connections)协议实现。QUIC 是一个由 Google 开发的基于 UDP 的传输层网络协议,旨在减少连接和传输延迟。Juicity 与 Hysteria 不同之处主要为使用的拥塞算法,Juicity 可以使用的拥塞算法包括 reno、cubic、bbr 和 bbr2 ,而 hysteria 可以使用 brutal 拥塞算法。 brutal 拥塞算法表现的更为霸道与暴力,因此在网络链路不好的情况下,Hysteria 协议比 Juicity 协议的传输速度要快一些。
正因为 hysteria 协议使用了 brutal 拥塞算法,可能会被 IDC 提供商误认为服务器在对外进行 DDOS 攻击,从而关停服务器。说明一下,我不是在黑 hysteria ,我目前主线路使用的也是 hysteria 协议,我想表达的是根据情况来选择合适的协议,例如在甲骨文云、谷歌云上可以使用同样基于 QUIC 的 Juicity 协议,以避免被封号的风险。

一、服务器安装环境
本次教程的测试环境为:IPv4&IPv6 双栈 VPS ,1vCPU ,1GB Memory ,10 GB SSD ,Ubuntu 22.04.4 LTS ,同时需要一枚域名。
二、服务器端安装步骤
1、升级软件及操作系统内核
apt update apt upgrade -y apt -y install wget unzip uuid-runtime socat apt-get update apt-get upgrade apt-get upgrade linux-image-generic reboot
2、关闭防火墙
systemctl status ufw systemctl stop ufw systemctl disable ufw
3、开启 BBR
#查询支持的 TCP 拥塞控制算法 sysctl net.ipv4.tcp_available_congestion_control #查询应用的 TCP 拥塞控制算法 sysctl net.ipv4.tcp_congestion_control #启用 BBR TCP 拥塞控制算法 echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf sysctl -p echo "tcp_bbr" >> /etc/modules-load.d/modules.conf
4、申请域名证书
#创建 Juicity 配置文件目录 mkdir /etc/juicity #安装 acme.sh curl https://get.acme.sh | sh ln -s /root/.acme.sh/acme.sh /usr/local/bin/acme.sh acme.sh --set-default-ca --server letsencrypt #申请域名证书 #example.domain.com请替换为你的真实域名 #注意:纯ipv6主机,在下面命令中加上--listen-v6参数 acme.sh --issue -d example.domain.com --keylength ec-256 --standalone --insecure acme.sh --install-cert -d example.domain.com --ecc \ --key-file /etc/juicity/example.domain.com.key \ --fullchain-file /etc/juicity/example.domain.com.pem
5、安装 Juicity 服务器端
#下载最新版本的 Juicity
wget -O /tmp/juicity-linux-x86_64.zip https://github.com/juicity/juicity/releases/download/v0.4.2/juicity-linux-x86_64.zip
unzip -d /tmp/juicity /tmp/juicity-linux-x86_64.zip
mv /tmp/juicity/juicity-server /usr/bin
#将 Juicity 作为守护进程运行
mv /tmp/juicity/juicity-server.service /etc/systemd/system/
#服务器端配置文件
#可以使用 'uuidgen' 命令生成 UUID,使用 'openssl rand -base64 8' 命令生成 password 。
cat > /etc/juicity/server.json <<EOF
{
"listen": ":10086",
"users": {
"UUID": "password"
},
"certificate": "/etc/juicity/example.domain.com.pem",
"private_key": "/etc/juicity/example.domain.com.key",
"congestion_control": "bbr",
"disable_outbound_udp443": true,
"log_level": "info"
}
EOF
#启动 Juicity 服务端
systemctl daemon-reload
systemctl enable juicity-server
systemctl start juicity-server
#查看当前状态
systemctl status juicity-server三、 客户端配置
Juicity 客户端:https://github.com/juicity/juicity/releases/latest
1、根据客户端操作系统,下载对应的 Juicity 客户端,以 64 位 windows 操作系统,V2rayN V6.29 版本为例。
在官方网站下载 juicity-linux-x86_64.zip,解压后将 juicity-client.exe 文件 copy 到 v2rayN 安装目录 \bin\juicity 目录中。 如果 bin 目录中没有 juicity 文件夹,请自行创建。
用记事本创建一个 client.json 文件,内容如下:
其中 example.domain.com:10086 代表域名和服务器端监听的端口,请根据实际情况修改,同时修改 UUID 和 password 的值。
{
"listen": ":15000",
"server": "example.domain.com:10086",
"uuid": "UUID",
"password": "password",
"sni": "example.domain.com",
"allow_insecure": false,
"congestion_control": "bbr",
"log_level": "info"
}2、v2rayN 客户端配置,点击菜单上“服务器”中的“添加自定义服务器”。

3、导入上一步配置好的 client.json 文件, Core 类型选择 juicity ,socks 端口填写上一步设置的监听端口 15000 后点确定按钮。

4、苹果手机 Shadowrocket 客户端配置,类型选择 juicity ,分别填入地址、端口、UUID、密码、SIN后保存。

juicity 协议的链接地址格式为:
juicity://uuid:[email protected]:port?congestion_control=bbr&sni=example.domain.com&allow_insecure=0&pinned_certchain_sha256=CERT_HASH
手机上敲字比较累,可以参考以上格式在计算机上制作好 juicity 协议的链接,然后将链接通过微信等发到手机,复制后在 Shadowrocket 客户端导入即可。
四、测速情况
我目前使用的是 200M 宽带,以下是使用同一台 VPS 在晚高峰分别使用 hysteria2 和 juicity 的测速情况,可以看出 juicity 协议的速度的确要比 hysteria2 协议慢一些。


本文出处:HiFeng'Blog
本文链接:https://www.hicairo.com/post/74.html
版权声明:本博客所有文章除特别声明外,均采用CC BY-NC-SA许可协议。转载请注明出处!