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

image-20240731102319795

出站规则#

hysteria2 支持 direct,socks5 和 http 这三种出站类型

image-20240731103002393

通常情况下不需要进行配置,但是如果你的服务器 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

小结#

这是我个人第一次写这种博客,加上相关教程也已经很丰富了,所以本文也只是单纯记录分享下个人使用到的功能,并且还有很多功能可以进行配置,未来会随着版本更新和个人使用经验我会继续更新本文。

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。