目前翻牆的主力梯子使用的是 hysteria2,穩定運行了一個多月了,服務端的配置文件也從一開始的能用就行逐漸按照需求完善了起來,總體來說自己在 vps 上部署 hysteria2 協議是比較簡單的,一方面油管上關於該協議有很多介紹視頻,另一方面官網文檔對配置文件每個部分的功能講解也比較清晰,這篇文章就來記錄一下我本人的一些自定義配置。
注 1:本文主要是記錄下個人目前配置文檔中添加的一些內容兼一部分教程,具體詳細的教程可自行搜索或者參考官網配置文檔地址:https://v2.hysteria.network/zh/docs/advanced/Full-Server-Config/
注 2:發布時 hysteria 最新版本號為 2.5.0
基本配置#
#監聽端口,可修改,默認為443
listen: :443
#自簽證書
tls:
cert: /etc/hysteria/server.crt
key: /etc/hysteria/server.key
#acme dns獲得證書
acme:
domains:
- "*.example.com"
email: [email protected]
type: dns
dns:
name: cloudflare
config:
cloudflare_api_token: your token
#驗證方式
auth:
type: password
password: 123456 #設置認證密碼,注意密碼強度
#偽裝方式
masquerade:
type: proxy
proxy:
url: https://bing.com #偽裝網址
rewriteHost: true
自簽或者 CA 證書都可以作為服務端所需要的證書,但配置文件中只能有一種,根據自己實際情況選擇適合自己的方式,將另一種從配置文件中刪除就可以完成最基本的服務端配置了。
自簽方式#
通過以下命令生成自簽證書
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
完整配置文件
listen: :443
tls:
cert: /etc/hysteria/server.crt
key: /etc/hysteria/server.key
auth:
type: password
password: fdsgfdgfrty63
masquerade:
type: proxy
proxy:
url: https://bing.com
rewriteHost: true
CA 證書#
可以通過 acme dns 的方式獲得 CA 證書,前提是擁有一個自己的域名,個人選擇的服務商為 cloudflare,完整配置如下:
listen: :443
acme:
domains:
- "xxx.xxxxxxxx.xxx"
email: [email protected]
type: dns
dns:
name: cloudflare
config:
cloudflare_api_token: hSxxxxxOlxxxxxxxn8U9-pxxxxxxw7
auth:
type: password
password: sldkjfdsnduhf
masquerade:
type: proxy
proxy:
url: https://bing.com
rewriteHost: true
cloudflare_api_token 獲取方式:
-
首先登錄個人的 cloudflare 賬號
-
創建 api 令牌,使用編輯區域 DNS 模板,獲得 api token

出站規則#
hysteria2 支持 direct,socks5 和 http 這三種出站類型
通常情況下不需要進行配置,但是如果你的服務器 ip 無法正常訪問某些網站,就可以通過配合 warp 的 socks5 代理與 hysteria2 中的 ACL 功能實現出站分流
需要在配置文件中的部分可參考以下內容
outbounds:
- name: warp
type: socks5
socks5:
addr: 127.0.0.1:40000
acl:
inline:
- warp(geosite:google)
- direct(all)
首先我在服務器上的 40000 端口上開啟了 warp 的 socks5 代理,接著在 outbounds 中配置了一個叫作 warp 的出站規則,這樣在 acl 中只要按照文檔格式添加- warp(xxxx)
就可以讓流量通過 warp 代理出站,- direct(all)
的作用則是讓剩余的其他流量直接出站
協議嗅探 (Sniff)#
這是在 2.5.0 版本最新添加的功能,解決了我之前服務端配置的出站規則無法生效的問題,官方給出的參考配置如下,修改下端口即可
sniff:
enable: true
timeout: 2s
rewriteDomain: false
tcpPorts: 80,443,8000-9000
udpPorts: all
小結#
這是我個人第一次寫這種博客,加上相關教程也已經很豐富了,所以本文也只是單純記錄分享下個人使用到的功能,並且還有很多功能可以進行配置,未來會隨著版本更新和個人使用經驗我會繼續更新本文。