--- title: 【记录】SOCKS5 转 QUIC urlname: -ji-lu-SOCKS5-zhuan-QUIC date: 2023-07-01 19:57:00 index_img: https://api.limour.top/randomImg?d=2023-07-01 19:57:00 tags: ['quic', 'socks5'] --- ## 准备工作 1. 安装好 [docker](/DOCKER-an-zhuang-liu-cheng-ji-lu) 2. [Warp 与 Tor 共存](/-ji-lu-Warp-yu-Tor-gong-cun) 3. Nginx格式的域名证书和密钥,域名解析到服务器 ## SOCKS5 转 QUIC ```bash 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 改为 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 # 模仿 docker 的操作,将 32768:61000 都映射到 QUIC 容器的 3234 端口 ``` ```yml 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 ``` ```json { "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 ### 通用配置文件 ```json { "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 平台 ```bash mkdir -p ~/app/hysteria && cd ~/app/hysteria && nano docker-compose.yml && nano ./hysteria.json sudo docker-compose up -d && sudo docker-compose logs ``` ```yml 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](https://github.com/apernet/hysteria/releases) 在程序目录创建配置文件和下面的 run.bat 文件 ```bat hysteria-windows-amd64.exe -c quic.json ``` 或者 run.ps1 文件 ```powershell # 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 ```