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

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

https://github.com/tobyxdd/hysteria

Hysteria 是一个功能丰富的,专为恶劣网络环境进行优化的网络工具(双边加速),比如卫星网络、拥挤的公共 Wi-Fi、在中国连接国外服务器等。
基于修改版的 QUIC 协议。目前有以下模式:(仍在增加中)

  • SOCKS5 代理 (TCP & UDP)
  • HTTP/HTTPS 代理
  • TCP/UDP 转发
  • TCP/UDP TPROXY 透明代理 (Linux)
  • TUN (Windows 下为 TAP)

下载安装

快速入门

服务器

在目录下建立一个 config.json

{
  "listen": ":36712",
  "acme": {
    "domains": [
      "your.domain.com"
    ],
    "email": "hacker@gmail.com"
  },
  "obfs": "fuck me till the daylight",
  "up_mbps": 100,
  "down_mbps": 100
}

服务端需要一个 TLS 证书。 你可以让 Hysteria 内置的 ACME 尝试自动从 Let's Encrypt 为你的服务器签发一个证书,也可以自己提供。
证书未必一定要是有效、可信的,但在这种情况下客户端需要进行额外的配置。要使用自己的 TLS 证书,参考这个配置:

{
  "listen": ":36712",
  "cert": "/home/ubuntu/my.crt",
  "key": "/home/ubuntu/my.key",
  "obfs": "fuck me till the daylight",
  "up_mbps": 100,
  "down_mbps": 100
}

可选的 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"
  }
}

这个配置同时开了 SOCK5 (支持 TCP & UDP) 代理和 HTTP 代理。Hysteria 还有很多其他模式,请务必前往 高级用法 了解一下!
要启用/禁用一个模式,在配置文件中添加/移除对应条目即可。

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

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

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

展示评论