推荐使用 VP.S 服务器搭建,推荐购买日本东京(BBTEC)或德国法兰克福(CU Premium AS9929/10099)。
简介#
Juicity 是一个在 2023 年 7 月末以 AGPL 协议发布的基于 QUIC 的新兴的代理协议。
Dae 是一个在 2023 年 1 月以 AGPL 协议发布的基于 eBPF 的 Linux 平台高性能透明代理软件。
服务端配置#
Juicity 官方提供了近 40 种平台的构建,支持 Windows、macOS 和 Linux 系统,x86、ARM、MIPS 和 Risc-V 平台。本文中搭建服务端的环境为 Debian 11,Juicity-Server 版本为 v0.1.2。
- 下载 Release。
wget https://github.com/juicity/juicity/releases/download/v0.1.2/juicity-linux-x86_64_v3_avx2.zip
- 解压压缩文件。
unzip juicity-linux-x86_64_v3_avx2.zip
- 使用 在线 UUID 生成器 生成一个 UUID,保留备用。
- 编辑 server.json。
cp example-server.json server.json
nano server.json
Example:
{
"listen": ":<端口>",
"users": {
"<生成的UUID>": "<密码>"
},
"certificate": "<证书链文件>",
"private_key": "<私钥>",
"congestion_control": "bbr",
"fwmark": "0x1000",
"send_through": "<服务器IP>",
"log_level": "info"
}
- 运行服务端。
./juicity-server run -c server.json
可以考虑使用守护程序软件或 Systemd Service。
客户端配置#
Dae 仅支持 Linux,Windows 和 MacOS 用户请移步 Juicity-Client。
本部分为 NixOS 下的配置。
- 安装 dae。
environment.systemPackages = with pkgs; [
...
dae
...
];
- 新建
/etc/dae
,编辑配置文件/etc/dae/config.dae
。
mkdir -p /etc/dae
nano /etc/dae/client.json
Example:
global {
wan_interface: auto
log_level: info
allow_insecure: false
auto_config_kernel_parameter: true
}
node {
fra: 'juicity://<UUID>:<密码>@<域名>:<端口>?congestion_control=bbr'
}
dns {
upstream {
googledns: 'tcp+udp://dns.google.com:53'
alidns: 'udp://dns.alidns.com:53'
}
routing {
request {
fallback: alidns
}
response {
upstream(googledns) -> accept
!qname(geosite:cn) && ip(geoip:private) -> googledns
fallback: accept
}
}
}
group {
proxy {
policy: min_moving_avg
}
}
routing {
pname(NetworkManager, systemd-resolved, dnsmasq) -> must_direct
dip(224.0.0.0/3, 'ff00::/8') -> direct
dip(geoip:private) -> direct
dip(geoip:cn) -> direct
domain(geosite:cn) -> direct
fallback: proxy
}
- 新建 Systemd Service
systemd.services.dae = {
enable = true;
description = "Dae Client Service (config.dae)";
after = [ "network.target" ];
serviceConfig = {
Type = "notify";
User = "root";
LimitNPROC = 512;
LimitNOFILE = 1048576;
ExecStartPre = "/run/current-system/sw/bin/dae validate -c /etc/dae/config.dae";
ExecStart = "/run/current-system/sw/bin/dae run --disable-timestamp -c /etc/dae/config.dae";
ExecReload = "/run/current-system/sw/bin/dae reload $MAINPID";
Restart = "on-abnormal";
WorkingDirectory = "/etc/dae";
};
};
保存编译 NixOS 配置即可。
Credit#
感谢 @bradfordzhang 告诉我有这么个东西。