
- 前提摘要:仅供交流学习使用!使用者在使用时,必须遵守当地法律和规定。使用者有责任确保他们的行为符合其所在地区的法律、规章以及其他适用的规定。
声明:以下博客内容参考了不良林大佬的视频和文档,可以去关注一下博主本人,十分推荐
1、准备工作
❶vps服务器
- 一台VPS(虚拟服务器),带主流系统,例如:Debian/Ubuntu/CentOS
#推荐两个便宜的鸡鸡,黑五的优惠在10刀左右一年,这个价格月流量一般都在1.5t以上,到期可以一直以优惠价续杯 【线路差,但是流量管饱,hy2协议很适合】:RackNerd、CloudCone ( 每周邮箱推广会有优惠 )
❷远程连接工具:( finalshell )
❸域名解析
- 解析到Cloudflare域名一个(可选)
- 大家自行注册域名
- 国内域名注册商:腾讯云、阿里云、华为云等 #优缺点:便宜,但需要实名
- 国外域名注册商:GoDaddy、Spaceship、Porkbun等 #免备案,支付可能存在困难
#推荐注册一个免费的域名:点击跳转
❹连接客户端
v2rayN:Windows客户端下载
v2rayNG:Android客户端下载
hysteria2官方文档:点击阅读
2、正式搭建
❶连接vps #本步略过
❷官方安装脚本(一键安装Hysteria2)
bash <(curl -fsSL https://get.hy2.sh/)
❸设置服务自启
systemctl enable hysteria-server.service
❹生成自签证书
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
❺设置配置文件(CA证书和自签证书二选一)(这里是自签证书演示)
cat << EOF > /etc/hysteria/config.yaml
listen: :443 #监听端口(根据个人需求修改)
#使用CA证书(二选一)
#acme:
# domains:
# - a.com #你的域名,需要先解析到服务器ip
# email: test@sharklasers.com #你的邮箱,格式正确即可
#使用自签证书(二选一)
tls:
cert: /etc/hysteria/server.crt
key: /etc/hysteria/server.key
auth:
type: password
password: 123456 #设置认证密码
masquerade:
type: proxy
proxy:
url: https://bing.com #伪装网址
rewriteHost: true
EOF
❻启动服务
查看运行状态#inactive表示没有启动,使用restart或者start指令启动
systemctl status hysteria-server.service
- 执行前先退出当前的查看状态,字母q退出,再执行重启指令,重新查看状态
systemctl start hysteria-server.service
systemctl restart hysteria-server.service
- 显示active,表示已经成功启动,不一定可用,需等待日志出现serve up and running的提示。如果申请证书过程中出现错误,请注意放行对应的tcp 80和443端口,或者直接关闭安全组/防火墙
#如果不使用自签证书,使用CA证书的话,可以将域名托管给cloudflare进行解析(这里不进行过多赘述),然后可以使用以下的命令进行CA证书的申请:脚本使用文档
wget -N --no-check-certificate https://raw.githubusercontents.com/Misaka-blog/acme-1key/master/acme1key.sh && bash acme1key.sh
3、使用教程
❶Windows端演示
- 新建一个文本文档,粘贴以下配置信息
server: ip:443 #跟服务端的监听端口要对应
auth: 123456 #认证秘钥
bandwidth:
up: 20 mbps
down: 100 mbps #按实际情况进行修改,纯净网络下进行测速
tls:
sni: www.bing.com #使用 CA 证书搭建的,SNI 填写你的域名
insecure: true #使用CA证书时需要改成false
socks5:
listen: 127.0.0.1:1080
http:
listen: 127.0.0.1:8080
- 导入服务器,可以参考我的填写剩余空位
#如果是使用自签证书搭建的,SNI 就填写伪装网址,跳过证书验证选择 true;跳过证书验证选择 false
对应详细操作(可看可不看)



❷Android端演示
- 使用文章开始的v2rayNG,添加hysteria2服务器,按照配置信息进行填写,文章已经写的很详细了(参考详细操作p1)
4、端口跳跃(额外补充)
#运营商会阻断或限速 UDP 连接。不过,这些限制往往仅限单个端口。端口跳跃可用作此情况的解决方法
服务端设置
- 使用命令查看服务器网卡名称
ip a
- 使用iptables 或 nftables 的 DNAT 将端口转发到服务器的监听端口(这里以iptables为例)
# IPv4
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 20000:50000 -j REDIRECT --to-ports 443
# IPv6
ip6tables -t nat -A PREROUTING -i eth0 -p udp --dport 20000:50000 -j REDIRECT --to-ports 443
客户端设置
- Hysteria 客户端支持一种特殊的多端口地址格式(需要下载最新的hysteria核心放入到v2rayn的hysteria2文件夹下)
example.com:1234,5678,9012
example.com:20000-50000
example.com:1234,5000-6000,7044,8000-9000
- 客户端将随机选择一个端口进行初始连接,并定期随机跳跃到另一个端口。用于控制时间间隔的选项是
transport部分中的hopInterval
transport:
udp:
hopInterval: 30s