Oat_Milky

Oat_Milky

mastodon
telegram

hysteria2協議服務端配置文件記錄

目前翻牆的主力梯子使用的是 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: your@email.address
  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: xxxxxxxx@xxx.xxx
  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 獲取方式:

  1. 首先登錄個人的 cloudflare 賬號

  2. 進入個人資料頁面https://dash.cloudflare.com/profile

  3. 創建 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

小結#

這是我個人第一次寫這種博客,加上相關教程也已經很豐富了,所以本文也只是單純記錄分享下個人使用到的功能,並且還有很多功能可以進行配置,未來會隨著版本更新和個人使用經驗我會繼續更新本文。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。