利用 Hysteria 搭建科学上网服务

Published on: December 13, 2022 | Reading Time: 1 min | Last Modified: December 13, 2022

hysteria
科学上网

10月份之后 shadowsocks 扶墙服务器 IP 频繁遭屏蔽,更换 IP 浪费了我不少银两。考虑到 shadowsocks 协议已被防火长城精准识别,再用还会被封 IP,所以就用 Hysteria 替代 shadowsocks,作为以后科学上网的主要方式。

Hysteria 默认运用 UDP 协议进行通信,其主要应用场景有:

  • 绕过网络审查
  • 提升传输速度
  • 绕过商业/学校/企业防火墙
  • 绕过运营商 QoS 限速

下载 Hysteria

cd /etc # 切换到系统 etc 文件夹
wget https://github.com/apernet/hysteria/releases/download/v1.3.2/hysteria-linux-amd64 #下载 Hysteria 服务程序
mv hysteria-linux-amd64 hysteria-server #将 Hysteria 服务程序重命名为 hysteria-server
chmod +x hysteria-server #为 hysteria-server 赋予可执行权限

创建 Hysteria 服务配置文件

vi config.json
{
  "listen": ":8388",
  "protocol": "udp",
  "cert": "/home/sixdian/ssl/cert.pem",
  "key": "/home/sixdian/ssl/key.pem",
  "obfs": "******",
  "up": "100 Mbps",
  "down": "20 Mbps",
  "alpn": "sixdian",
  "recv_window_conn": 8388608,
  "recv_window_client": 20971520
}

将 Hysteria 服务加入到 systemctl

vi /etc/systemd/system/hysteria.service
[Unit]
Description=hysteria-server
After=network-online.target

[Service]
Type=simple
ExecStart=/etc/hysteria/hysteria-server server -c /etc/hysteria/config.json
Restart=always
RestartSec=2

[Install]
WantedBy=multi-user.target

防火墙设置

firewall-cmd --zone=public --add-port=8388/udp --permanent #开放 8388 UDP 端口
firewall-cmd --zone=public --add-port=50000-60000/udp --permanent #开放 50000-60000 UDP 端口
firewall-cmd --zone=public --add-masquerade --permanent #允许防火墙伪装 IP
firewall-cmd --zone=public --add-forward-port=port=50000-60000:proto=udp:toport=8388 --permanent #将 50000-60000 UDP 端口转到到 8388 UDP
firewall-cmd --reload #使防火墙配置生效

启动 Hysteria,并使 Hysteria 服务开机启动

systemctl start hysteria #启动 Hysteria
systemctl enable hysteria #设置 Hysteria 开机启动