前言
reality
目前安全性最高也是自建最多人使用的协议,能有效消除服务端 TLS 指纹特征,隐藏和保护流量的特征。
域名选择
reality只需要获取域名即可使用,目标网站必须满足 5 个条件:
- 使用 TLS 1.3 协议
- 使用 X25519 签名算法
- 支持 HTTP/2 协议(H2)
- 不使用 CDN - 如果 Reality 目标网站使用 CDN,数据将转发到 CDN 节点,使你的 Reality 节点成为别人的反向代理加速节点
- 中国境内不依赖任何代理可以直接访问
域名推荐度:偷自己 > 偷邻居 > 偷服务器所在地图书馆、大学、旅游局 > 偷测试出来的 > 偷大厂
一键脚本
1 2 3 4
| bash <(wget -qO- -o- https://github.com/233boy/Xray/raw/main/install.sh)
xray
|
面板部署
1 2 3 4
| bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
x-ui
|
shadowsocks
最简单、最快速、延迟最低的加密代理协议,但极易遭到封锁。历经波折,目前更新到shadowsocks 2022
shadowsocks 2022声称提升了性能并带有完整的重放保护和防止TCP主动探测,但仍有较大封锁风险谨慎使用
一键脚本
部署shadowsocks 2022
1 2 3 4
| bash <(wget -qO- -o- https://github.com/233boy/Xray/raw/main/install.sh)
xray
|
面板部署
shadowsocks 2022 + http混淆
1 2 3 4
| bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
x-ui
|
hysteria
UDP协议,基于魔改的 QUIC 协议,垃圾线路的救星,部分地区容易Qos出现断流情况
URI 格式:hysteria2://[auth@]hostname[:port]/?[key=value]&[key=value]…
例如:hysteria2://rR9YCGYaY0LpP7BLswTSzQ==@47.76.67.1:30000/?sni=hy.test.com&insecure=0#🇭🇰 Test
性能优化
1 2 3
| sysctl -w net.core.rmem_max=16777216 sysctl -w net.core.wmem_max=16777216
|
官方一键脚本
1 2 3 4
| bash <(curl -fsSL https://get.hy2.sh/)
bash <(curl -fsSL https://get.hy2.sh/) --remove
|
证书设置
可使用acme申请的域名证书或自签证书
1 2
| openssl req -x509 -nodes -newkey ec:<(openssl ecparam -name prime256v1) -keyout /etc/hysteria/server.key -out /etc/hysteria/server.crt -subj "/CN=bing.com" -days 36500 && sudo chown hysteria /etc/hysteria/server.key && sudo chown hysteria /etc/hysteria/server.crt
|
修改配置文件
1
| vim /etc/hysteria/config.yaml
|
config.yaml文件,最小化配置文件,更多功能参考官网
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| listen: :30000
tls: cert: /etc/hysteria/fullchain.cer key: /etc/hysteria/private.key
auth: type: password password: rR9YCGYaY0LpP7BLswTSzQ==
masquerade: type: proxy proxy: url: https://www.paypal.com/ rewriteHost: true
|
服务启动
1 2 3 4 5 6
| ufw status ufw allow 30000
systemctl restart hysteria-server.service systemctl enable hysteria-server.service
|
端口跳跃
运营商会阻断或限速 UDP 连接。不过,这些限制往往仅限单个端口。端口跳跃可用作此情况的解决方法。
注意:设置 iptables 规则网卡名称 eth0 要根据具体情况更改,可用命令 ip a 查看网卡名称!
常见以太网接口命名:eth0 /eth1 /eth2 /ens33 /ens5 / enp0s3
1 2 3 4 5 6 7 8
| apt install iptables-persistent
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 30001:32000 -j REDIRECT --to-ports 30000
ip6tables -t nat -A PREROUTING -i eth0 -p udp --dport 30001:32000 -j REDIRECT --to-ports 30000
netfilter-persistent save
|
在该示例中,服务器以太网卡名称 eth0 监听 30000 端口,但客户端可以通过 30001-32000 范围内的任何端口连接。
证书错误
如果显示:{"error": "invalid config: tls: open /etc/hysteria/server.crt: permission denied"}
或者 failed to load server conf
的错误,则说明 Hysteria 没有访问证书文件的权限,需要执行下面的命令将 Hysteria 切换到 root 用户运行
1 2 3 4
| sed -i '/User=/d' /etc/systemd/system/hysteria-server.service sed -i '/User=/d' /etc/systemd/system/hysteria-server@.service systemctl daemon-reload systemctl restart hysteria-server.service
|
snell
Surge团队开发的私有专属协议,媲美甚至超越shadowsocks,最新版仅限于Surge使用。
一键脚本
1
| wget -O snell.sh --no-check-certificate https://git.io/Snell.sh && chmod +x snell.sh && ./snell.sh
|
Docker部署
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| mkdir snell && cd snell
cat > docker-compose.yaml << EOF services: snell: image: vocrx/snell-server:alpine container_name: snell restart: always network_mode: host environment: - PORT=65110 - PSK=jy7jbw6yFWikg2uS - DNS=1.1.1.1,8.8.8.8 EOF
services: snell: image: vocrx/snell-server:alpine container_name: snell restart: always network_mode: host environment: - PORT=自定义使用的端口, 仅host模式下生效, 不写则随机。 - PSK=节点密码, 不写则随机。 - IPV6=true/false, 不写默认为false。 - DNS=8.8.8.8,1.1.1.1, 不写为系统默认 - VERSION=v4.1.1, 自定义二进制文件版本, 不写则默认最新版 - OBFS=http,默认为空,写此条必须配置HOST - HOST=icloud.com,默认为空
docker compose up -d
|