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 协议,以避免被封号的风险。

1.hysteria_DDOS.webp

一、服务器安装环境

  本次教程的测试环境为: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 客户端配置,点击菜单上“服务器”中的“添加自定义服务器”。

2.V2rayN_import_custom.webp

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

3.V2rayN_import_juicity.webp

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

4.Shadowrocket_import_juicity.webp

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 协议慢一些。

5.SpeedTest_Dartnode_Hysteria2.webp6.SpeedTest_Dartnode_Juicity.webp


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