推薦使用 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 告訴我有這麼個東西。