2023-10-06
过眼云烟
00
请注意,本文编写于 469 天前,最后修改于 6 天前,其中某些信息可能已经过时。

目录

Hysteria2代理:服务端及客户端搭建
简介
准备工作
1. 应用下载
2. 域名DNS配置
服务端搭建
一键安装
手动安装
服务端配置
客户端搭建
客户端配置
Windows10代理配置
总结
拓展
docker
故障排除
第三方客户端
本站教程
赞助请求

Hysteria2代理:服务端及客户端搭建

简介

Hysteria 是一个新兴的强大、快速、安全的网络代理工具。且完全开源!

Hysteria2的首个版本:Hysteria 2.0.0在2023年9月2日首次发布。这是 Hysteria 2 的第一个稳定版本。几乎完全重写了 Hysteria 原有的代码,包括新的协议、新的功能和各种改进。

本文用于记录服务器搭建和使用方式:

  1. 使用官方发布的应用运行服务端和客户端。
  2. 参照官方文档中的配置文件示例配置服务端和客户端。

提示:私人搭建服务端需要一个拥有公网IP的服务器、一个映射到该IP的域名!建议有相关经验的人员选择自建。

截止本文编写时,官方最新版本是【app/v2.0.3

准备工作

1. 应用下载

本文使用的应用如下:

  • 服务端:服务器系统是Linux,系统架构是x86_64,所以选择应用包hysteria-linux-amd64,将其下载到本地备用。
  • 客户端:客户端是Windows10,系统架构是x86_64,所以选择应用包hysteria-windows-amd64.exe,将其下载到本地备用。

提示:官方发布的每个应用都是服务端和客户端通用的,如hysteria-linux-amd64既可以进行服务端部署,也可以作为客户端连接服务端。

关于发布版选择的更多信息,请阅读官网文档或本站搬运的内容:Hysteria2官方服务版本选择 | 对照表

2. 域名DNS配置

简介中提到 私人搭建服务端需要一个拥有公网IP的服务器、一个映射到该IP的域名! 。所以你应该在服务端搭建前准备好服务器、域名,并将域名正确解析到服务器对应的IP上。这里就不多说了,如果要独立搭建服务器,需要自行去学习这部分,包含购买服务器购买域名DNS解析等相关知识。

PS:购买海外服务器,本站整理了一些常见大厂商信息可供参考:海外常见云服务器VPS

服务端搭建

自建代理工具,推荐搬瓦工平价配置VPS,每月1T流量,1 Gbps = 125 MB/s带宽
可使用优惠码 BWHNCXNVXV!!!

一键安装

官方提供了一个 bash 脚本,可以在常见的 Linux 发行版上自动下载最新版本的 Hysteria 并配置 systemd 服务,请选择使用以下脚本:

  • 安装或升级到最新版本:
sh
bash <(curl -fsSL https://get.hy2.sh/)
  • 安装或升级为指定版本(跳过版本检查):
sh
bash <(curl -fsSL https://get.hy2.sh/) --version v2.2.3

安装成功后,会出现配置文件地址及下一步的相关提示,按照提示执行操作即可。

  • 卸载 Hysteria:
sh
bash <(curl -fsSL https://get.hy2.sh/) --remove

手动安装

本文服务端使用的是Centos系统的Linux服务器,服务端搭建可以分为以下几步:

  1. 创建hysteria文件夹,用于存储相关应用及文件,如/root/hysteria
  2. 进入/root/hysteria文件夹,将上面提到的hysteria-linux-amd64上传到/root/hysteria文件夹中;
  3. 创建并编辑config.yaml文件,用于填写hysteria服务端相关配置信息;
  4. 将基础配置信息填入config.yaml文件并保存,本文的配置信息可查看下方的 服务端配置
  5. hysteria-linux-amd64设置为可执行文件,Centos 赋予可执行权限的命令是chmod -R 777 hysteria-linux-amd64,其他系统请自行设置;
  6. 运行程序启动服务端,我使用的运行命令(Centos系统)如下:
    bash
    # 服务端模式后台运行程序,并将输出信息(日志)保存到logs.log文件中 nohup ./hysteria-linux-amd64 server > logs.log 2>&1 &
  7. 查看logs.log文件内容,若有server up and running,说明服务运行成功

服务端配置

  • 提示:hysteria服务端需要HTTPS证书支持,官方应用有自动申请证书功能,但由于我测试的次数过多,好像超过了自动申请证书的限制,所以我的配置中有域名证书手动配置相关配置信息,如果你不会手动申请证书,请将手动配置删除,并放开自动配置的注释
yaml
listen: :24443 # 你的服务端口,默认是443,可以自行修改,本文修改为24443 #acme: # 域名证书自动配置 #domains: # - www.baidu.com # 你的域名 #email: [email protected] # 你的邮箱 tls: # 域名证书手动配置 cert: /root/hysteria/www.baidu.com_bundle.crt # 你的域名证书 key: /root/hysteria/www.baidu.com.key # 你的域名证书 auth: type: password password: 123456 # 将123456改为你的密码 masquerade: type: proxy proxy: url: https://www.baidu.com/ # 伪装网址,自行修改 rewriteHost: true

更多配置信息可参考本站文章:Hysteria2 服务器配置整理

客户端搭建

如果觉得原生客户端用起来不舒服,可以选择第三方客户端,移至本文最下方查看三方客户端相关文章。

本文客户端使用的是Windows10系统,客户端配置步骤如下:

  1. 创建文件夹用于存放hysteria相关文件,如D:/hysteria
  2. 进入D:/hysteria文件夹,将hysteria-windows-amd64.exe拷贝到当前文件夹;
  3. 创建config.yaml文件,并编辑;
  4. 将客户端配置信息填入config.yaml文件并保存,配置信息可参考 客户端配置
  5. 在本文件夹中打开cmd窗口,运行hysteria-windows-amd64.exe,如果输出如下信息,说明服务端连接成功:
client mode connected to server {"count": 1} use this URI to share your server {"uri": "hysteria2://[email protected]:24443/"} HTTP proxy server listening {"addr": "127.0.0.1:8080"} SOCKS5 server listening {"addr": "127.0.0.1:1080"}

客户端配置

yaml
server: www.baidu.com:24443 # 你的服务端域名和端口 auth: 123456 # 你的服务端密码 bandwidth: # 带宽限制,本文未修改,更多信息请查看官方文档 up: 20 mbps down: 100 mbps socks5: # socks5代理,本文未修改,更多信息请查看官方文档 listen: 127.0.0.1:1080 http: # http代理,本文未修改,更多信息请查看官方文档 listen: 127.0.0.1:8080

Windows10代理配置

经过以上操作,你已经将客户端及服务端全部运行完毕,但可能你会发现网络代理并未生效。

这是因为Windows10网络代理还需要在系统设置中进行相关设置,本文使用的设置信息如下图:

proxy

通过上图的配置后,我已经可以正常访问Google、YouTube等网站了。

总结

通过以上信息,你已经可以独自搭建Hysteria2的网络代理了,希望大家科学上网,汲取有用的信息!

拓展

docker

可能对于习惯使用Docker的朋友,上面服务端搭建方式有点不适应,没问题,官方也提供了相应的Docker镜像,官方给出的docker-compose.yml示例如下:

yaml
version: "3.9" services: hysteria: image: tobyxdd/hysteria container_name: hysteria restart: always network_mode: "host" volumes: - acme:/acme - ./hysteria.yaml:/etc/hysteria.yaml command: ["server", "-c", "/etc/hysteria.yaml"] volumes: acme:

其中hysteria.yaml内容就是本文中服务端搭建时用到的 服务端配置,即服务端的config.yaml

当然域名相关的需求和配置还是一样需要的。

故障排除

在本人搭建hysteria2服务时,遇到一个问题:服务端运行成功,客户端一直连接不上服务端。

遇到这种情况可以从以下几个方面排查:

  1. 域名是否正确映射到服务器;
  2. 服务器端口是否正常开放?如本文中的24443
  3. 服务器的公网IP是否是其独立的IP?

本人的问题就是第三个原因导致的。当时使用的服务器是通过Google云赠送的$100购买的一个实例,通过命令行查看服务器IP发现并没有其提供的公网IP,换了一个其他厂商的服务器(命令行查看IP可以看到其公网IP的服务器)部署服务端,然后发现客户端可以正常连接了。

PS:看来Google白嫖的东西还是不太行啊!

更多官方故障排除请查看:https://v2.hysteria.network/zh/docs/advanced/Troubleshooting/

第三方客户端

本站教程

截止2023年11月9日,Hysteria官网贴出的支持的三方客户端有以下几个:

名称描述平台模式
Clash.MetaA rule-based tunnel in Go (v1.16.0 后支持 Hysteria 2)Windows, Linux, macOS, Android, iOS客户端
FuriousA PySide6-based cross platform GUI client that launches your beloved GFW to outer space. (0.2.6 后支持 Hysteria 2)Windows, Linux, macOS客户端
NekoBox for AndroidUniversal proxy toolchain for Android (1.2.4 后支持 Hysteria 2)Android客户端
Pharos ProMultiProtocol Proxy Client for iPhone/iPad (v1.8.3 后支持 Hysteria 2)iOS客户端
ShadowrocketRule based proxy utility client for iPhone/iPad (2.2.35 后支持 Hysteria 2)iOS客户端
sing-boxA universal proxy platform (1.5.0-beta.2 后支持 Hysteria 2)Windows, Linux, macOS, Android, iOS客户端,服务端

赞助请求

建站不易,以下是一个广告,还请动动您的小拇指,点击一次以示鼓励,谢谢!

就目前的访问量,即便每个访客都点一次广告,收入也不足以支付运营成本,如果看不到广告,可能是网络原因或被拦截了,那就算了吧。祝你生活愉快~~

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:DingDangDog

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!