发布于 

hysteria2搭建

官网文档 : https://v2.hysteria.network/zh/docs/advanced/Full-Server-Config/#_2

安装

1
bash <(curl -fsSL https://get.hy2.sh/)

当提示 What’s next? 执行下面的命令先将 Hysteria 设置为开机自启

1
systemctl enable hysteria-server.service

配置

使用以下命令生成自签证书

1
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 3650 && sudo chown hysteria /etc/hysteria/server.key && sudo chown hysteria /etc/hysteria/server.crt

修改配置文件

1
vim /etc/hysteria/config.yaml

将配置文件中的内容全部删除,填入以下配置。根据自己的需要选择使用 CA 证书,还是使用自签证书,将对应的注释取消即可

简版(推荐)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
listen: :443 #监听端口

#有域名,使用CA证书
#acme:
# domains:
# - test.heybro.bid #你的域名,需要先解析到服务器ip
# email: augustdoit@gmail.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

普版

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
33
34
35
36
37
38
39
40
41
listen: :443 #默认端口443,可以修改为其他端口

#使用CA证书
#acme:
# domains:
# - your.domain.net #已经解析到服务器的域名
# email: your@email.com #你的邮箱

#使用自签证书
#tls:
# cert: /etc/hysteria/server.crt
# key: /etc/hysteria/server.key

auth:
type: password
password: 123456 #认证密码,使用一个强密码进行替换

resolver:
type: udp
tcp:
addr: 8.8.8.8:53
timeout: 4s
udp:
addr: 8.8.4.4:53
timeout: 4s
tls:
addr: 1.1.1.1:853
timeout: 10s
sni: cloudflare-dns.com
insecure: false
https:
addr: 1.1.1.1:443
timeout: 10s
sni: cloudflare-dns.com
insecure: false

masquerade:
type: proxy
proxy:
url: https://cn.bing.com/ #伪装网址
rewriteHost: true

伪装网址推荐使用个人网盘的网址,个人网盘比较符合单节点大流量的特征,可以通过谷歌搜索 intext:登录 cloudreve 来查找别人搭建好的网盘网址

开放 80 和 443 端口

我开放了udp协议443端口和36712端口(36712自行测试关闭)

维护

启动

1
systemctl start hysteria-server.service

状态

1
systemctl status hysteria-server.service

日志

1
journalctl --no-pager -e -u hysteria-server.service

重新启动

1
systemctl restart hysteria-server.service

如果显示:{“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

客户端

我用的clash verge ,建议用最新版,需要支持hysteria2协议

1.订阅页面新增1个本地订阅

2.右键点击刚刚新建的订阅,进入 扩展覆写配置

3.把下面的配置覆盖粘贴进去即可

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
# 基础端口设置
port: 7890
socks-port: 7891
allow-lan: true
mode: rule
log-level: info
ipv6: false

# 核心:节点配置 (IP直连 + 自签名证书方案)
proxies:
- name: "Hysteria2-Oracle" # 节点显示名称
type: hysteria2 # 协议类型
server: xxx # 您的服务器 IP
port: 443 # 端口
password: "123456" # 您的密码
sni: bing.com # 伪装域名
skip-cert-verify: true # 跳过证书验证(重要)
up: 40 Mbps # 参考您之前设置的上传带宽
down: 100 Mbps # 参考您之前设置的下载带宽

# 策略组:决定流量怎么走
proxy-groups:
- name: "节点选择" # 手动选择节点的组
type: select
proxies:
- "Hysteria2-Oracle" # 上面定义的节点
- DIRECT # 直连

# 规则:简单的分流规则
rules:
- GEOIP,CN,DIRECT # 国内 IP 直连
- MATCH,节点选择 # 其他所有流量走代理