推奨は VP.S サーバーの構築に使用することをお勧めします。日本の東京(BBTEC)またはドイツのフランクフルト(CU Premium AS9929/10099)を購入することをお勧めします。
紹介#
Juicity は、2023 年 7 月末に AGPL ライセンスでリリースされた、QUIC ベースの新興のプロキシプロトコルです。
Dae は、2023 年 1 月に AGPL ライセンスでリリースされた、eBPF ベースの Linux プラットフォーム向けの高性能透過プロキシソフトウェアです。
サーバーの設定#
Juicity は、Windows、macOS、Linux システム、x86、ARM、MIPS、Risc-V プラットフォームをサポートする約 40 種類のプラットフォームのビルドを提供しています。この記事では、Debian 11 でサーバーを構築し、Juicity-Server のバージョンは v0.1.2 です。
- リリースをダウンロードします。
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
例:
{
"listen": ":<ポート>",
"users": {
"<生成されたUUID>": "<パスワード>"
},
"certificate": "<証明書チェーンファイル>",
"private_key": "<秘密鍵>",
"congestion_control": "bbr",
"fwmark": "0x1000",
"send_through": "<サーバーのIP>",
"log_level": "info"
}
- サーバーを実行します。
./juicity-server run -c server.json
デーモンソフトウェアまたは Systemd サービスの使用を検討してください。
クライアントの設定#
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
例:
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 サービスを作成します。
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 の設定を保存してコンパイルしてください。
クレジット#
@bradfordzhang さんに教えていただき、ありがとうございます。