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 协议,以避免被封号的风险。
一、服务器安装环境
本次教程的测试环境为:Dartnode 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 宽带,以下是使用 Dartnode 同一台 VPS 在晚高峰分别使用 hysteria2 和 juicity 的测速情况,可以看出 juicity 协议的速度的确要比 hysteria2 协议慢一些。
本文出处:HiFeng'Blog
本文链接:https://hicairo.com/post/74.html
版权声明:本博客所有文章除特别声明外,均采用CC BY-NC-SA许可协议。转载请注明出处!