Hysteria - 一个针对恶劣网络环境双边加速的转发 & 代理工具

Hysteria - 一个针对恶劣网络环境双边加速的转发 & 代理工具

https://github.com/tobyxdd/hysteria

Hysteria 是专门针对恶劣网络环境(常见于卫星网络、在中国连接国外服务器等)进行优化的连接转发和代理工具(即所谓的双边加速),基于修改版的 QUIC 协议。

可以理解为是我此前弃坑的项目 https://github.com/dragonite-network/dragonite-java 的续作。

快速入门

服务器

在目录下建立一个 config.json

{
  "listen": ":36712",
  "cert": "/home/ubuntu/my_cert.crt",
  "key": "/home/ubuntu/my_key.crt",
  "obfs": "AMOGUS",
  "up_mbps": 100,
  "down_mbps": 100
}

服务端必须要一个 TLS 证书(但并非一定要受信 CA 签发的)。

obfs 选项使用提供的密码对协议进行混淆,这样协议就不容易被检测出是 Hysteria/QUIC,可以用来绕过针对性的 DPI 屏蔽或者 QoS。如果服务端和客户端的密码不匹配就不能建立连接,因此这也可以作为一个简单的密码验证。对于更高级的验证方案请见下文 auth

up_mbpsdown_mbps 限制服务器对每个客户端的最大上传和下载速度。这些也是可选的,如果不需要可以移除。

要启动服务端,只需运行

./cmd_linux_amd64 server

如果你的配置文件没有命名为 config.json 或在别的路径,请用 -config 指定路径:

./cmd_linux_amd64 -config blah.json server

客户端

和服务器端一样,在程序根目录下建立一个config.json

{
  "server": "example.com:36712",
  "obfs": "AMOGUS",
  "up_mbps": 10,
  "down_mbps": 50,
  "socks5": {
    "listen": "127.0.0.1:1080"
  },
  "http": {
    "listen": "127.0.0.1:8080"
  },
  "relay": {
    "listen": "127.0.0.1:2222",
    "remote": "123.123.123.123:22"
  }
}

这个配置同时开了 SOCK5 (支持 TCP & UDP) 代理,HTTP 代理和到 123.123.123.123:22 的 TCP 转发。请根据自己实际需要修改和删减。

如果你的服务端证书不是由受信任的 CA 签发的,需要用 "ca": "/path/to/file.ca" 指定使用的 CA 或者用 "insecure": true 忽略所有证书错误(不推荐)。

up_mbpsdown_mbps 在客户端是必填选项,请根据实际网络情况尽量准确地填写,否则将影响 Hysteria 的使用体验。

更深入的说明请见 GitHub 上的项目 README

展示评论