準備作業#
- dockerをインストールします。
- Warp と Tor 共存を設定します。
- Nginx 形式のドメイン証明書と秘密鍵を準備し、ドメインをサーバーに解決します。
SOCKS5 から QUIC への変換#
docker run --rm --net=sswitch alpine ping socks5 # socks5のIPを記録します
mkdir -p ~/app/hysteria && cd ~/app/hysteria && nano docker-compose.yml && nano ./hysteria.json
# jsonファイルの中のsocks5:5353をsocks5に対応するIP(例:172.18.0.2)に変更します
# 証明書を申請し、アップロードし、my.pemとmy.keyに名前を変更します
sudo docker-compose up -d && sudo docker-compose logs
iptables -t nat -L # QUICコンテナのIPを確認します
iptables -t nat -A DOCKER -p udp --dport 32768:61000 -j DNAT --to-destination 172.18.0.4:3234 # 32768:61000をQUICコンテナの3234ポートにマッピングします
version: '3.9'
services:
hysteria:
image: tobyxdd/hysteria
restart: always
ports:
- '13234:3234/udp'
volumes:
- ./hysteria.json:/etc/hysteria.json
- ./my.key:/home/ubuntu/my.key
- ./my.pem:/home/ubuntu/my.crt
command: ["server", "--config", "/etc/hysteria.json"]
networks:
default:
external: true
name: sswitch
{
"listen": ":3234",
"protocol": "udp",
"cert": "/home/ubuntu/my.crt",
"key": "/home/ubuntu/my.key",
"obfs": "26位随机英文数字字符",
"up_mbps": 100,
"down_mbps": 100,
"resolver": "udp://1.1.1.1:53",
"resolve_preference": "46",
"socks5_outbound": {
"server": "socks5:5353"
}
}
QUIC から SOCKS5 への変換#
一般的な設定ファイル#
{
"server": "証明書に対応するドメイン:32768-61000",
"obfs": "前の26文字のランダムな文字列",
"idle_timeout": 30,
"hop_interval": 61,
"up_mbps": 10,
"down_mbps": 50,
"socks5": {
"listen": "0.0.0.0:1580"
},
"http": {
"listen": "0.0.0.0:8580"
}
}
Linux プラットフォーム#
mkdir -p ~/app/hysteria && cd ~/app/hysteria && nano docker-compose.yml && nano ./hysteria.json
sudo docker-compose up -d && sudo docker-compose logs
version: '3.9'
services:
hysteria:
image: tobyxdd/hysteria
restart: always
ports:
- '1580:1580'
- '1580:1580/udp'
- '8580:8580'
volumes:
- ./hysteria.json:/etc/hysteria.json
command: ["--config", "/etc/hysteria.json"]
Windows プラットフォーム#
QUICの対応するプラットフォームのプログラムファイルをダウンロードします。
プログラムのディレクトリで、以下の設定ファイルと run.bat ファイルを作成します。
hysteria-windows-amd64.exe -c quic.json
または run.ps1 ファイルを作成します。
# set-executionpolicy remotesigned
# New-PSDrive HKCR Registry HKEY_CLASSES_ROOT
# Set-ItemProperty HKCR:\\Microsoft.PowerShellScript.1\\Shell '(Default)' 0
.\hysteria-windows-amd64.exe -c .\quic.json