显示:
Hi_Hysteria
一·简介
Hysteria 是一个功能丰富的,专为恶劣网络环境进行优化的网络工具(双边加速),比如卫星网络、拥挤的公共 Wi-Fi、在中国连接国外服务器等。 基于修改版的 QUIC 协议。
Hysteria这是一款由go编写的非常优秀的“轻量”代理程序,它很好的解决了在搭建富强魔法服务器时最大的痛点——线路拉跨。
在魔法咏唱时最难的不是搭建维护,而是在晚高峰时期的交付质量。当三大运营商晚高变成了:奠信、连不通、移不动时,你我都有感触。 虽然是走的udp但是提供obfs,暂时不会被运营商针对性的QoS(不开obfs也不会被QoS)。
1、原项目提供的bench:
2、50mbps北方电信,北京出口 直连落地vir San Jose机房163线路,22-23点测试YT 1080p60直播流:
190 dropped of 131329
3、无对钟国大陆线路优化,洛杉矶shockhosting机房,1c128m ovznat 4k@p60:
139783 Kbps
该项目仅作学习用途,请查看的访客在5s之内立即删除并停止使用。
由它所引起的任何问题,作者并不承担风险和任何法律责任。
因为脚本现处于0.x的测试版本,可能会有一些bug,如果遇到请发issue,欢迎star,您的⭐是我维护的动力。
适配ubuntu/debian, centos/rhel操作系统,misple/arm/x86/s390x架构。
windows使用请仔细阅读v2rayN For hysteria其他平台看这里。
(2022/05/14) 0.3.7:
1. 兼容hysteria 1.0.4,同时屏蔽udp/443 output(由于hysteria目前对udp无加速效果,防止网页走http/3减速)
2. 增加修改当前协议功能,无需重复安装
3. 兼容v2rayN,不再对cmd客户端优化
二·使用
第一次使用?
1. 防火墙问题
2. 自签证书
3. 限制UDP的服务商排雷列表【2022/03/21更新】
4. hysteria各个协议介绍
5. cmd客户端(伪)介绍
6. 部分其他平台?
7. 如何设置我的延迟、上行/下行速度?
8. 图形UI,v2rayN
拉取安装
su - root #Change to root
bash <(curl -fsSL https://git.io/hysteria.sh)
配置过程
首次安装后: hihy
命令调出菜单,如更新了hihy脚本,请执行选项9
或者12
,获得最新的配置
-------------------------------------------
|********** Hi Hysteria **********|
|********** Author: emptysuns ************|
|********** Version: 0.3.7 **********|
-------------------------------------------
Tips:hihy 命令再次运行本脚本.
.............................................
###############################
.....................
1) 安装 hysteria
2) 卸载 hysteria
.....................
3) 启动 hysteria
4) 暂停 hysteria
5) 重新启动 hysteria
6) 运行状态
.....................
7) 更新hysteria core
8) 查看当前配置
9) 重新配置hysteria
10) 切换ipv4/ipv6优先级
11) 更新hihy
12) 完全重置所有配置
13) 修改当前协议类型
###############################
0)退出
.............................................
请选择:1
脚本每次更新都可能会发生改变,请一定要展开并仔细参考演示过程,避免发生不必要的错误!
演示较长,点我查看
请选择:1 Ready to install.Update.wait... Hit:1 https://pkg.cloudflareclient.com bionic InRelease Hit:2 http://archive.ubuntu.com/ubuntu bionic InRelease Hit:3 http://archive.ubuntu.com/ubuntu bionic-updates InRelease Hit:5 http://security.ubuntu.com/ubuntu bionic-security InRelease Hit:6 http://archive.ubuntu.com/ubuntu bionic-backports InRelease Hit:4 https://packagecloud.io/ookla/speedtest-cli/ubuntu bionic InRelease Reading package lists... Done Building dependency tree Reading state information... Done 78 packages can be upgraded. Run 'apt list --upgradable' to see them. N: Skipping acquire of configured file 'main/binary-i386/Packages' as repository 'http://pkg.cloudflareclient.com bionic InRelease' doesn't support architecture 'i386'
Done. Install wget curl lsof *wget Installed.Ignore. *curl Installed.Ignore. *lsof Installed.Ignore.
Done. The Latest hysteria version:v1.0.4 Download...
Download completed. 开始配置: 请选择证书申请方式:
1、使用ACME申请(推荐,需打开tcp 80/443) 2、使用本地证书文件 3、自签证书
输入序号: 3 请输入自签证书的域名(默认:wechat.com): www.whitehouse.gov
您已选择自签www.whitehouse.gov证书加密.公网ip:1.2.3.4 请输入你想要开启的端口,此端口是server端口,建议10000-65535.(默认随机)
随机端口:37575
选择协议类型:
1、udp(QUIC) 2、faketcp 3、wechat-video(回车默认)
输入序号: 1 传输协议:udp
请输入您到此服务器的平均延迟,关系到转发速度(默认200,单位:ms): 60
期望速度,这是客户端的峰值速度,服务端默认不受限。Tips:脚本会自动*1.25做冗余,您期望过低或者过高会影响转发效率,请如实填写! 请输入客户端期望的下行速度:(默认50,单位:mbps): 100 请输入客户端期望的上行速度(默认10,单位:mbps): 20 请输入认证口令: pekopeko
配置录入完成!
执行配置... IPTABLES OPEN: udp/37575 SIGN...
SUCCESS.
Wait,test config...
Test success. net.core.rmem_max = 8000000 hysteria.sh: line 630: 22019 Killed /etc/hihy/bin/appS -c /etc/hihy/conf/hihyServer.json server > /tmp/hihy_debug.info 2>&1 Created symlink /etc/systemd/system/multi-user.target.wants/hihy.service -> /etc/systemd/system/hihy.service. 配置文件输出如下且已经在本目录生成(直接下载本目录生成的config.json[推荐]/自行复制粘贴到本地)
Tips:客户端默认只开启http(8888)、socks5(8889)代理!其他方式请参照hysteria文档自行修改客户端config.json ↓↓↓copy↓↓↓*******************************↓ { "server": "1.2.3.4:37575", "protocol": "udp", "up_mbps": 25, "down_mbps": 125, "http": { "listen": "127.0.0.1:10809", "timeout" : 300, "disable_udp": false }, "socks5": { "listen": "127.0.0.1:10808", "timeout": 300, "disable_udp": false }, "alpn": "h3", "acl": "acl/routes.acl", "mmdb": "acl/Country.mmdb", "auth_str": "pekopeko", "server_name": "www.whitehouse.gov", "insecure": true, "recv_window_conn": 3932160, "recv_window": 15728640, "disable_mtu_discovery": true, "resolver": "119.29.29.29:53", "retry": 3, "retry_interval": 3 } ↑↑↑↑copy↑↑↑*******************************↑
Shadowrocket/Sagernet/Passwall一键链接: hysteria://1.2.3.4:37575?protocol=udp&auth=pekopeko&peer=www.whitehouse.gov&insecure=1&upmbps=25&downmbps=125&alpn=h3#Hys-1.2.3.4
安装完毕
三·高级玩法(伪
1. 借用其他支持Socks5的GUI,来获得一个图形界面
四·Todo
如果您有好的功能建议,请不要忘记开个issue提出来欧~~~欢迎PR来完成Todo或者给我纠正我的渣代码
我的爱好是写bug ( ̄▽ ̄)~
- 检测端口是否被占用
- 利用xray s5 inbound来支持按域名分流(warp)
- 生成分享链接
- hihy替换掉hysteria
- 规范化脚本代码
- 利用docker安装?(不知道是否有必要)
- 多密码支持
- 利用base64加密替换原来的auth_str
- 兼容v2rayN,放弃cmd的更新
五·结语
魔改UDP的QUIC协议,加了tls和混淆的话,个人跑了一段时间大流量,未被运营商QoS,落地ip并没有被墙,也不知道什么时候被针对,大家且用且珍惜吧。
六·鸣谢
from https://github.com/emptysuns/Hi_Hysteria
(https://blog.imoeq.com/hi_hysteria/)
------------
支持hysteria的各种客户端
1. Clash.Meta[推荐]
clash.meta 继承了clash的所有特点,所以clash能用的GUI,它全部可以使用,包括openclash、clash verge等等。
推荐使用Alpha分支,同步最新代码。
更多支持clash.meta的客户端参考这里,hihy提供打包好的clash.verge 请在release查看, android端查看。
优点
它有许多hysteria core无法完成但是必要的功能。比如:
1. type: url-test可以自动根据httping选择节点
2. 而且得益于rule-providers这个clash配置项,用户不需要手动更新分流规则,每次连接都会自动更新,能做到完全无感。
3. 使用doh dot增加安全性,也能单独为dns配置节点
4. fallback 测试节点可用性并自动切换、负载均衡
5. GUI全平台都有很好的支持
6. 流媒体分流
7. .....
hihy不支持生成clash.meta url导入远程配置文件,主要是考虑到安全问题,防止节点信息泄露,需要用户复制粘贴到客户端自己本地文件,导入配置.
这里用clash_verge 为例,随意创建一个文件夹用来保存metaHys.yaml:
clash.meta可以同时配置支持vless、ss2022、trojan等等多配置,不过hihy目前不支持,没好的想法,更多配置请参考DOC。
目前许多优秀的特点hihy输出的配置文件没有支持,尽情期待. 2. v2rayN v2rayN已经在添加自定义配置时支持hysteria并能自动识别config的类型,hihy在0.3.7版本之后兼容v2rayN,hihy_cmd已经需要退出舞台了,不会再对它进行维护。
配置过程
点我:https://github.com/2dust/v2rayN/releases/latest/download/v2rayN.zip,下载最新的v2rayN,并解压。
点我:https://github.com/HyNetwork/hysteria/releases/latest/download/hysteria-tun-windows-6.0-amd64.exe,下载hysteria最新版本的Core,修改名称为hysteria.exe,将它放到v2rayN的根目录里。
开始使用时需要得到hihy生成的config.json配置文件,v2rayN选择这个文件,双击选择此节点。
从服务器下载的config.json可以删掉,v2rayN会自动在目录创建文件夹用来保存这些自定义配置文件。--------------------------------------------------------------------------------------------------
Hysteria多功能一键脚本,支持范围端口及多端口复用、四模式IP优先级切换
支持纯IPV4、纯IPV6的VPS直接安装,主流linux系统均支持
相关说明及注意点请查看博客说明
一键脚本:
wget -N https://gitlab.com/rwkgyg/hysteria-yg/raw/main/hysteria.sh && bash hysteria.sh
脚本源码备份Gitlab地址
参考项目Hi_Hysteria
from https://github.com/yonggekkk/Hysteria-yg
-------------------------------------------------------------------------------------
A rule-based tunnel in Go.
wiki.metacubex.one
Meta Kernel
Another Clash Kernel.
Features
- Local HTTP/HTTPS/SOCKS server with authentication support
- VMess, Shadowsocks, Trojan, Snell protocol support for remote connections
- Built-in DNS server that aims to minimize DNS pollution attack impact, supports DoH/DoT upstream and fake IP.
- Rules based off domains, GEOIP, IPCIDR or Process to forward packets to different nodes
- Remote groups allow users to implement powerful rules. Supports
automatic fallback, load balancing or auto select node based off latency
- Remote providers, allowing users to get node lists remotely instead of hardcoding in config
- Netfilter TCP redirecting. Deploy Clash on your Internet gateway with
iptables
. - Comprehensive HTTP RESTful API controller
Wiki
Configuration examples can be found at /docs/config.yaml, while documentation can be found Clash.Meta Wiki.
Build
You should install golang first.
Then get the source code of Clash.Meta:
git clone https://github.com/MetaCubeX/Clash.Meta.git
cd Clash.Meta && go mod download
If you can't visit github,you should set proxy first:
go env -w GOPROXY=https://goproxy.io,direct
Now you can build it:
go build
If you need gvisor for tun stack, build with:
go build -tags with_gvisor
IPTABLES configuration:
Work on Linux OS which supported iptables
# Enable the TPROXY listener
tproxy-port: 9898
iptables:
enable: true # default is false
inbound-interface: eth0 # detect the inbound interface, default is 'lo'
General installation guide for Linux
-
Create user given name clash-meta
-
Download and decompress pre-built binaries from releases
-
Rename executable file to Clash-Meta
and move to /usr/local/bin/
-
Create folder /etc/Clash-Meta/
as working directory
Run Meta Kernel by user clash-meta
as a daemon.
Create the systemd configuration file at /etc/systemd/system/Clash-Meta.service
:
[Unit]
Description=Clash-Meta Daemon, Another Clash Kernel.
After=network.target NetworkManager.service systemd-networkd.service iwd.service
[Service]
Type=simple
User=clash-meta
Group=clash-meta
LimitNPROC=500
LimitNOFILE=1000000
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_RAW CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_RAW CAP_NET_BIND_SERVICE
Restart=always
ExecStartPre=/usr/bin/sleep 1s
ExecStart=/usr/local/bin/Clash-Meta -d /etc/Clash-Meta
[Install]
WantedBy=multi-user.target
Launch clashd on system startup with:
$ systemctl enable Clash-Meta
Launch clashd immediately with:
$ systemctl start Clash-Meta
Display Process name
Clash add field Process
to Metadata
and prepare to get process name for Restful API GET /connections
.
To display process name in GUI please use Razord-meta.
Dashboard
We also made a custom fork of yacd provide better support for this project, check it out at Yacd-meta
Development
If you want to build an application that uses clash as a library, check out the
the GitHub Wiki
Debugging
Check wiki to get an instruction on using debug API.
Credits
- Dreamacro/clash
- SagerNet/sing-box
- riobard/go-shadowsocks2
- v2ray/v2ray-core
- WireGuard/wireguard-go
- yaling888/clash-plus-pro
from https://github.com/MetaCubeX/Clash.Meta
----------------------------------------------------------------------------------------------------
Hysteria 2 安装指南
github.com/apernet/hysteria Hysteria 2 安装指南
服务端
安装
- 下载程序(linux-amd64)或 编译程序
curl -Lo hysteria https://github.com/apernet/hysteria/releases/latest/download/hysteria-linux-amd64 && chmod +x hysteria && mv -f hysteria /usr/local/bin/
- 下载配置
curl -Lo /root/hysteria_config.yaml https://raw.githubusercontent.com/chika0801/hysteria-install/main/config_server.yaml
- 下载systemctl配置
curl -Lo /etc/systemd/system/hysteria.service https://raw.githubusercontent.com/chika0801/hysteria-install/main/hysteria.service && systemctl daemon-reload
- 上传证书和私钥
- 将证书文件改名为 fullchain.cer,将私钥文件改名为 private.key,将它们上传到 /root 目录
- 启动程序
systemctl enable --now hysteria
项目
程序
/usr/local/bin/hysteria
配置
/root/hysteria_config.yaml
重启
systemctl restart hysteria
状态
systemctl status hysteria
查看日志
journalctl -u hysteria -o cat -e
实时日志
journalctl -u hysteria -o cat -f
卸载
systemctl disable --now hysteria && rm -f /usr/local/bin/hysteria /root/hysteria_config.yaml /etc/systemd/system/hysteria.service
客户端
由 v2rayN 提供 HTTP SOCKS5 代理,由 v2rayN 提供路由规则
-
下载Windows客户端程序hysteria-windows-amd64.exe,重命名为hysteria.exe,复制到v2rayN\bin\hysteria文件夹。
-
下载客户端配置config_client.yaml,修改chika.example.com为证书中包含的域名,修改10.0.0.1为VPS的IP。
-
v2rayN:服务器 ——> 添加自定义配置服务器 ——> 浏览 ——> 选择客户端配置 ——> Core类型 hysteria ——> Socks端口 50000
由 sing-box 提供 Tun 模式(透明代理),由 sing-box 提供路由规则
- sing-box:参考Windows 使用方法,将客户端配置进行如下修改。
原内容
{
"tag": "proxy",
// 粘贴你的客户端配置,需要保留 "tag": "proxy",
},
替换为
{
"type": "socks",
"tag": "proxy",
"server": "127.0.0.1",
"server_port": 50000
},
检查此处有 hysteria.exe
{
"process_name": [ // 直连的 Windows 可执行程序
"xray.exe",
"hysteria.exe",
"tuic.exe",
"tuic-client.exe",
"juicity.exe",
"juicity-client.exe"
],
"outbound": "direct"
},
- v2rayN:服务器 ——> 添加自定义配置服务器 ——> 浏览 ——> 选择客户端配置 ——> Core类型 hysteria ——> Socks端口 0。
from https://github.com/chika0801/hysteria-install
-------------------------------------------------------------------------------------------------------
Hysteria 节点纯手动安装教程
Hysteria 是一个功能丰富的,专为恶劣网络环境进行优化的网络工具(双边加速),比如卫星网络、拥挤的公共
Wi-Fi、在中国连接国外服务器等。基于修改版的 QUIC 协议。由 go
编写的非常优秀的“轻量”代理程序,它很好的解决了在搭建科学上网服务器时的痛点——线路一般、高峰时期慢。虽然是走的 UDP 但是提供 obfs
,暂时不会被运营商针对性的 QoS ( 不开 obfs 也不会被 QoS )。
经过实际测试, Hysteria 协议在速度上碾压 vmess , vless ,naive 等其他协议,值得推荐给大家。网上有关
Hysteria
的安装教程已经挺多了,也有一键安装脚本。尤其官方的一键安装脚本做的挺好,非常适合零基础的用户使用。但是总有一些技术控的小伙伴,想搞清楚一键安装脚本到底在自己的服务器上安装了什么软件,做了那些操作。或者通过一键安装脚本没有部署成功,自己也不知道什么原因。这篇教程将给大家简单还原一键脚本安装了那些软件,进行了那些配置。大家在了解这些信息后,如果出现没有部署成功时,也可以检查相关配置,排除故障。
一、服务器安装环境
本次教程的测试环境为:Vultr IPv4&IPv6双栈 VPS ,1vCPU ,1GB Memory ,25 GB SSD , CentOS 7 Without SELinux 。
二、服务器安装步骤
1、对于 hax.co.id/woiden.id 等纯 IPv6 主机,打开 DNS64 ,其他主机跳过这一步。
echo -e "nameserver 2a01:4f8:c2c:123f::1" > /etc/resolv.conf
2、升级操作系统内核
建议升级一下系统内核,避免缺失某些依赖包而造成不必要的麻烦。
hostnamectl | grep -i system | cut -d: -f2
使用上述命令查询你的操作系统。
#Debian、Ubuntu等操作系统使用以下命令升级
apt update
apt upgrade -y
apt full-upgrade -y
apt-get install socat
#Redhat、Centos、Fedora等操作系统使用以下命令升级
yum -y update
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install kernel-ml
grub2-set-default 0
yum -y remove kernel-3.*
yum install -y socat
3、配置防火墙
没有防火墙的服务器相当于裸奔,不管什么时候,建议打开操作系统的防火墙,然后在防火墙规则里放行自己使用的端口。
#查看防火墙状态
systemctl status firewalld
#设置开机启动防火墙
systemctl enable firewalld
#开启防火墙
systemctl start firewalld
为 Hysteria 服务在防火墙上放行相关端口:
# Hysteria 服务在申请域名证书时,需要使用 80/443 端口,我们在 IPv4&IPv6 规则表中放行 80&443 端口。
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --permanent --zone=public --add-rich-rule='
rule family=ipv6
source address=::/0
port protocol=tcp port=80
accept'
firewall-cmd --permanent --zone=public --add-rich-rule='
rule family=ipv6
source address=::/0
port protocol=tcp port=443
accept'
firewall-cmd --reload
#可以使用下面这行命名查询防火墙的规则表
firewall-cmd --list-all
为 Hysteria 服务放行监听端口及端口跳跃所使用的端口。以下示例中,我们准备使用 10255/udp 为监听端口,30000-35000/udp 为端口跳跃所使用的端口,你可以自行修改。
firewall-cmd --permanent --zone=public --add-port=10255/udp
firewall-cmd --permanent --zone=public --add-port=30000-35000/udp
firewall-cmd --permanent --zone=public --add-rich-rule='
rule family=ipv6
source address=::/0
port protocol=udp port=10255
accept'
firewall-cmd --permanent --zone=public --add-rich-rule='
rule family=ipv6
source address=::/0
port protocol=udp port=30000-35000
accept'
firewall-cmd --reload
为 Hysteria 服务设置端口转发,将 30000-35000/udp 端口收到的数据转发到端口 10255/udp:
firewall-cmd --zone=public --add-forward-port=port=30000-35000:proto=udp:toport=10255 --permanent
firewall-cmd --zone=public --add-rich-rule='rule family=ipv6 forward-port port=30000-35000 protocol=udp to-port=10255' --permanent
firewall-cmd --reload
4、创建工作组和用户
#建议尽量不要使用 root 用户运行服务,我们创建一个名为 hysteria 的用户用于运行 hysteria 。
groupadd --system hysteria
useradd --system \
--gid hysteria \
--create-home \
--home-dir /var/lib/hysteria \
--shell /usr/sbin/nologin \
--comment "hysteria server" \
hysteria
5、安装 Hysteria 服务端
Hysteria 项目在 GitHub 的项目地址为:https://github.com/apernet/hysteria 。
#下载最新版本的 hysteria
wget -q -O /usr/bin/hysteria https://github.com/apernet/hysteria/releases/download/v1.3.3/hysteria-linux-amd64
chmod a+x /usr/bin/hysteria
#创建 hysteria 配置文件目录
mkdir /etc/hysteria
6、安装域名证书
Hysteria 服务端 必须要 一个 TLS 证书。有两种方式,任选一种即可。
① 使用内置的 ACME 客户端从 Let’s Encrypt 自动获取一个证书。这是最简单的方式,前提是你有解析到服务器的域名和一个有效的邮箱地址。缺点是必须占用一个端口。使用这种方式时, /etc/hysteria/config.json 按照如下示例配置即可:
#示例中 example.ifeng.ml 已解析到服务器,obfs 为混淆密码
cat > /etc/hysteria/config.json <<EOF
{
"listen": ":10255",
"acme": {
"domains": [
"example.ifeng.ml"
],
"email": "example@ifeng.ml"
},
"obfs": "8ZuA2Zpqhuk8yakXvMjDqEXBwY"
}
EOF
② 自定义证书 - 使用 acme.sh 手动申请证书
以下代码演示的是使用 acme.sh 手动申请证书,当然你也可以使用 dnspod 等第三方工具生成证书后,手动上传到对应位置。
curl https://get.acme.sh | sh
ln -s /root/.acme.sh/acme.sh /usr/local/bin/acme.sh
acme.sh --set-default-ca --server letsencrypt
#example.ifeng.ml 请替换为你的真实域名
#注意:hax.co.id/woiden.id 等纯 IPv6 主机,在下面命令中加上--listen-v6参数
acme.sh --issue -d example.ifeng.ml --keylength ec-256 --standalone --insecure
acme.sh --install-cert -d example.ifeng.ml --ecc \
--key-file /etc/hysteria/example.ifeng.ml.key \
--fullchain-file /etc/hysteria/example.ifeng.ml.pem
③ 自定义证书 - 自签证书
#生成私钥
openssl ecparam -genkey -name prime256v1 -out /etc/hysteria/example.ifeng.ml.key
#生成证书
openssl req -new -x509 -days 36500 -key /etc/hysteria/example.ifeng.ml.key -out /etc/hysteria/example.ifeng.ml.pem -subj "/CN=example.ifeng.ml"
使用自定义证书时, /etc/hysteria/config.json 按照如下示例配置即可。
cat > /etc/hysteria/config.json <<EOF
{
"listen": ":10255",
"cert": "/etc/hysteria/example.ifeng.ml.pem",
"key": "/etc/hysteria/example.ifeng.ml.key",
"obfs": "8ZuA2Zpqhuk8yakXvMjDqEXBwY"
}
EOF
7、将 Hysteria 作为守护进程运行
在 /etc/systemd/system/ 目录创建 hysteria.service
cat > /etc/systemd/system/hysteria.service <<EOF
[Unit]
Description=Hysteria Server Service (config.json)
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/hysteria -config /etc/hysteria/config.json server
WorkingDirectory=/etc/hysteria
User=hysteria
Group=hysteria
Environment=HYSTERIA_LOG_LEVEL=info
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_RAW
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_RAW
NoNewPrivileges=true
[Install]
WantedBy=multi-user.target
EOF
8、启动 Hysteria 服务端
chown -R hysteria:hysteria /etc/hysteria/
systemctl daemon-reload
systemctl enable hysteria
systemctl start hysteria
#查看当前状态
systemctl status hysteria
#使用更改的配置文件重新加载 hysteria
systemctl reload hysteria
三、 客户端配置
Hysteria 客户端:https://github.com/apernet/hysteria/releases/latest
1、根据客户端操作系统,下载对应的 Hysteria 客户端,以 64 位 windows 操作系统为例。
在官方网站下载
hysteria-windows-amd64.exe 文件并 copy 到 v2rayN 安装目录(v2rayN V5.39 copy
到安装目录,v2rayN V6.14 copy 到安装目录中的 \bin\hysteria
)。用记事本创建一个config.json文件,内容如下:
其中 up_mbps 和 down_mbps 分别指宽带签约的上行速率和下行速率,根据情况自行修改。
{
"server": "example.ifeng.ml:30000-35000",
"obfs": "8ZuA2Zpqhuk8yakXvMjDqEXBwY",
"up_mbps": 30,
"down_mbps": 200,
"insecure": true,
"socks5": {
"listen": "127.0.0.1:10808"
},
"http": {
"listen": "127.0.0.1:10809"
}
}
2、v2rayN 客户端配置,点击菜单上“服务器”中的“添加自定义服务器”。3、导入上一步配置好的 config.json 文件, Core 类型选择 hysteria 后点确定按钮。
4、苹果手机 Shadowrocket 客户端配置,类型选择 Hysteria ,分别填入地址、端口、混淆密码、上行速度、下行速度、协议选择 udp,保存.
四、 其他说明
通过以上简单的配置,相信你已经搭建好了 Hysteria 代理,你也会发现 Hysteria 在速度上碾压其他协议。需要说明一下, Hysteria 不支持 CDN 反代,这点官方文档里已经说的很清楚了。
Hysteria 其他更多的功能,请参考官方文档( https://hysteria.network )自行配置.------------------------------------------------
一键脚本安装新版Hysteria 2,不需要域名,垃圾小鸡直接起飞
1 前言
Hysteria协议大家可能在很多地方都见过,很多人都说是可以拯救吃灰小鸡的脚本。但是由于他使用的udp协议,并且比较暴力。除去有qos的风险,还有可能会被商家删鸡,所以使用起来见仁见智了。hysteria的多倍发包比较克制,hostloc论坛反馈像是racknerd和cloudcone等商家并没有对此进行删机。
目前来说只要是你本地和vps商家对于udp协议没有qos的严重,都是可以流畅起飞的。Hysteria 2 与 Hysteria 1.x 完全不兼容并且,作者还开发了tcp-brutal这个项目,TCP Brutal是Hysteria的拥塞控制算法移植到TCP上,期待以后有人做出可以让reality协议也使用hysteria算法的方法。在文章末尾有大家关心的一些问题,比如Hysteria 2和Hysteria 1的区别,是否是暴力发包等等。另外,关于Hysteria
2的稳定性,我和一个用Hysteria
2协议做直连机场的机场主讨论过,他说稳定性还是很不错的,关于自签证书是否会封IP他说没有实际证据,但是如果开了混淆是有概率封端口的,由于这个脚本默认自带混淆大家可以不用考虑,如果后续有封端口的情况发生,大家可以换一个可以决定是否开启混淆的脚本使用来关闭混淆。并没有使用某人的四合一脚本,实在是不敢用他的脚本,用你的vps挖矿谁受得了。御坂的脚本有点是可以不使用自己的域名,直接使用bing的自签证书,目前这个证书的防墙效果有待考证,我使用是没有问题的。hy2安装脚本:wget
-N --no-check-certificate
https://raw.githubusercontent.com/Misaka-blog/hysteria-install/main/hy2/hysteria.sh
&& bash hysteria.sh
给大家看以下Hysteria 2协议的速度,测试环境是移动晚高峰时间测速,vps是cloudcone的dc1垃圾小鸡,进行油管4K测速。2 安装
SSH链接上你的vps以后,确定在此vps上你要使用hy2的端口是开放的,这里推荐debian系统,默认端口就是开放的。然后使用此一键脚本,会提示你以下界面。- 安装 Hysteria 2
- 卸载 Hysteria 2
- 关闭、开启、重启 Hysteria 2
- 修改 Hysteria 2 配置
- 显示 Hysteria 2 配置文件
- 更新 Hysteria 2 内核
- 退出脚本
请输入选项 [0-5]:
这里我们输入 1 ,然后等待程序反应。后续提示Hysteria 2 安装成功!
Hysteria 2 协议证书申请方式如下:- 必应自签证书 (默认)
- Acme 脚本自动申请
- 自定义证书路径
请输入选项 [1-3]:
这里我们需要选择证书,如果使用自己的域名申请证书,可以选择2,如果觉得麻烦,可以直接输入1使用bing的自签证书。默认回车也是bing的自签证书。然后会提示你选择端口,443最好。默认回车是随机,随机也可以。
然后会提示你Hysteria
2 端口使用模式,这里有单端口和端口跳跃。Hysteria作者有说明:中国用户有时报告运营商会阻断或限速 UDP
连接。不过,这些限制往往仅限单个端口。端口跳跃可用作此情况的解决方法。客户端将随机选择一个端口进行初始连接,并定期随机跳跃到另一个端口。用于控制时间间隔的选项是
transport
部分中的 hopInterval
。一句话来说就是定期换连接端口来防止某些qos。所以我们默认选择单端口即可,如果后续有使用一段时间后限速。排除vps商家qos以后,可以使用端口跳跃。然后会提示你设置 Hysteria 2 密码,这里默认回车使用随机密码即可。
然后会提示你Hysteria 2 的伪装网站地址,如果有喜欢的可以自己选择,默认回车是使用世嘉maimai日本网站。一路畅快淋漓的回车下来,你的Hysteria 2就搭建完成了。
后续会给你客户端 配置文件和Hysteria 2 节点分享链接。某些软件比如v2rayn不支持用节点链接一键导入,就需要配置文件。配置文件可以直接复制脚本给出的客户端配置文件,或者从服务器的/root/hy/路径里面寻找也是可以的。如果需要json配置文件,找到你刚刚安装脚本的ssh界面。在桌面新创建一个txt文件,里面脚本返回给你的客户端 JSON 配置文件内容。比如我的服务器的内容就是下面的内容:然后我们将该txt的文件名改成hy-client.json
重点是后面的文件格式一定要是.json结尾。3 导入软件
3.1 windows的V2rayn
https://github.com/2dust/v2rayN/releases
推荐下载新版本的v2rayN-With-Core.zip,解压后得到的文件夹。点击v2rayN即可打开软件使用。然后我们需要替换Hysteria
2内核,截止到写文章时,v2rayn的sing-box内核并无法使用Hysteria
2协议,这不是sing-box内核的问题,最新版内核是支持的,可能是内核和软件之间没有协作好,所以我们仍然使用Hysteria内核,需要自己下载替换。进去以后下载名字为hysteria-windows-amd64-avx.exe的版本。然后进入你解压的V2rayn文件夹里面的bin/hysteria目录中,将我们下载的hysteria-windows-amd64-avx.exe改名为hysteria-windows-amd64.exe后替换掉原本目录里面改的hysteria-windows-amd64.exe文件。然后我们打开v2rayn软件,点击右上角的 服务器
,点击 添加自定义服务器
。然后添加服务器。注意内核选择Hysteria,然后配置文件点击右边的浏览
选择刚刚保存在桌面的json文件。端口是你在用脚本搭建服务器时候选择的脚本,选择回车使用随机脚本的用户去ssh界面找一下默认的是哪个端口。然后这个节点就导入成功了,可以使用了。具体的v2rayn设置系统代理和分流去谷歌搜以下v2rayn的使用教程。3.3 windows的Nekoray / 安卓的Nekobox
新版的nekoray和nekobox可以直接导入节点链接,并且使用sing-box进行代理。我写的nekoray使用教程:https://duangks.com/archives/153/我写的nekobox使用教程:https://duangks.com/archives/146/首先复制你的节点链接,比如我搭建好的链接就是hysteria2://081e248c@71.48.11.19:9368/?insecure=1&sni=www.bing.com#Misaka-Hysteria2
在nekoray界面点击程序
然后点击从剪切板导入
即可。在nekobox界面点击右上角第二个图标,一个文档中间带有加号的图标,然后点击从剪切板导入。4 常见问题
4.1 Hysteria 2 与 Hysteria 1 的比较
Hysteria 2 继承了 Hysteria 1.x 的几乎所有功能,同时引入了各种新的修复和增强。但值得注意的是,由于协议和代码经过了重大更改,Hysteria 2 与 Hysteria 1.x 完全不兼容。 用户必须在客户端和服务器上使用一致的版本。主要改进最值得注意的几点包括:- 新协议 :重新设计的协议,伪装成 HTTP/3,增加对抗审查的能力。
- 0-RTT UDP 会话建立 :每个新 UDP 会话的第一个包没有额外延迟。
- 新的 ACL 和出站系统 :根据不同的请求使用不同的出口。
- 流量统计 API :便于监控和管理。
- 性能改进 :各种底层优化,提高了性能和稳定性。
缺失的功能Hysteria 2 尚未实现 Hysteria 1.x 中的一些功能:- 客户端 ACL :目前 ACL 只在服务器端可用。
- FakeTCP 协议 :FakeTCP 一直是相对小众的功能,我们还在评估是否要重新引入。
- TUN 模式 :目前暂无,但很可能在未来重写、重新引入。
4.2 Hysteria 是多倍发包吗?
不是。Hysteria 不会在任何情况下主动对一份数据进行多次发送 ,只有在检测到丢包时才会对丢失的部分进行重传(丢包重传是任何可靠协议都必须有的)。而检测丢包和重传的策略和原版 QUIC 完全一致,QUIC 的策略本身也源自 TCP 没有太大区别。在丢包率低的情况下,Hysteria 传输一份数据所消耗的流量和数据本身大小没有太大差异,并且能跑满带宽。假如是多倍发包,即使只多一倍,流量消耗也会是原来的两倍,并且最大有效传输速度只是线路的一半。因此所谓多倍发包是一个非常容易证伪的错误说法。from https://archive.is/vEqty#selection-1415.0-1454.0
clash.meta可以同时配置支持vless、ss2022、trojan等等多配置,不过hihy目前不支持,没好的想法,更多配置请参考DOC。
目前许多优秀的特点hihy输出的配置文件没有支持,尽情期待.
配置过程
点我:https://github.com/2dust/v2rayN/releases/latest/download/v2rayN.zip,下载最新的v2rayN,并解压。
点我:https://github.com/HyNetwork/hysteria/releases/latest/download/hysteria-tun-windows-6.0-amd64.exe,下载hysteria最新版本的Core,修改名称为hysteria.exe,将它放到v2rayN的根目录里。
开始使用时需要得到hihy生成的config.json配置文件,v2rayN选择这个文件,双击选择此节点。
从服务器下载的config.json可以删掉,v2rayN会自动在目录创建文件夹用来保存这些自定义配置文件。
Hysteria多功能一键脚本,支持范围端口及多端口复用、四模式IP优先级切换
支持纯IPV4、纯IPV6的VPS直接安装,主流linux系统均支持
相关说明及注意点请查看博客说明
一键脚本:
wget -N https://gitlab.com/rwkgyg/hysteria-yg/raw/main/hysteria.sh && bash hysteria.sh
脚本源码备份Gitlab地址
参考项目Hi_Hysteria
from https://github.com/yonggekkk/Hysteria-yg
-------------------------------------------------------------------------------------
A rule-based tunnel in Go.
wiki.metacubex.oneMeta Kernel
Another Clash Kernel.
Features
- Local HTTP/HTTPS/SOCKS server with authentication support
- VMess, Shadowsocks, Trojan, Snell protocol support for remote connections
- Built-in DNS server that aims to minimize DNS pollution attack impact, supports DoH/DoT upstream and fake IP.
- Rules based off domains, GEOIP, IPCIDR or Process to forward packets to different nodes
- Remote groups allow users to implement powerful rules. Supports automatic fallback, load balancing or auto select node based off latency
- Remote providers, allowing users to get node lists remotely instead of hardcoding in config
- Netfilter TCP redirecting. Deploy Clash on your Internet gateway with
iptables
. - Comprehensive HTTP RESTful API controller
Wiki
Configuration examples can be found at /docs/config.yaml, while documentation can be found Clash.Meta Wiki.
Build
You should install golang first.
Then get the source code of Clash.Meta:
git clone https://github.com/MetaCubeX/Clash.Meta.git
cd Clash.Meta && go mod download
If you can't visit github,you should set proxy first:
go env -w GOPROXY=https://goproxy.io,direct
Now you can build it:
go build
If you need gvisor for tun stack, build with:
go build -tags with_gvisor
IPTABLES configuration:
Work on Linux OS which supported iptables
# Enable the TPROXY listener
tproxy-port: 9898
iptables:
enable: true # default is false
inbound-interface: eth0 # detect the inbound interface, default is 'lo'
General installation guide for Linux
-
Create user given name
clash-meta
-
Download and decompress pre-built binaries from releases
-
Rename executable file to
Clash-Meta
and move to/usr/local/bin/
-
Create folder
/etc/Clash-Meta/
as working directory
Run Meta Kernel by user clash-meta
as a daemon.
Create the systemd configuration file at /etc/systemd/system/Clash-Meta.service
:
[Unit]
Description=Clash-Meta Daemon, Another Clash Kernel.
After=network.target NetworkManager.service systemd-networkd.service iwd.service
[Service]
Type=simple
User=clash-meta
Group=clash-meta
LimitNPROC=500
LimitNOFILE=1000000
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_RAW CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_RAW CAP_NET_BIND_SERVICE
Restart=always
ExecStartPre=/usr/bin/sleep 1s
ExecStart=/usr/local/bin/Clash-Meta -d /etc/Clash-Meta
[Install]
WantedBy=multi-user.target
Launch clashd on system startup with:
$ systemctl enable Clash-Meta
Launch clashd immediately with:
$ systemctl start Clash-Meta
Display Process name
Clash add field Process
to Metadata
and prepare to get process name for Restful API GET /connections
.
To display process name in GUI please use Razord-meta.
Dashboard
We also made a custom fork of yacd provide better support for this project, check it out at Yacd-meta
Development
If you want to build an application that uses clash as a library, check out the the GitHub Wiki
Debugging
Check wiki to get an instruction on using debug API.
Credits
- Dreamacro/clash
- SagerNet/sing-box
- riobard/go-shadowsocks2
- v2ray/v2ray-core
- WireGuard/wireguard-go
- yaling888/clash-plus-pro
from https://github.com/MetaCubeX/Clash.Meta
----------------------------------------------------------------------------------------------------
Hysteria 2 安装指南
Hysteria 2 安装指南
服务端
安装
- 下载程序(linux-amd64)或 编译程序
curl -Lo hysteria https://github.com/apernet/hysteria/releases/latest/download/hysteria-linux-amd64 && chmod +x hysteria && mv -f hysteria /usr/local/bin/
- 下载配置
curl -Lo /root/hysteria_config.yaml https://raw.githubusercontent.com/chika0801/hysteria-install/main/config_server.yaml
- 下载systemctl配置
curl -Lo /etc/systemd/system/hysteria.service https://raw.githubusercontent.com/chika0801/hysteria-install/main/hysteria.service && systemctl daemon-reload
- 上传证书和私钥
- 将证书文件改名为 fullchain.cer,将私钥文件改名为 private.key,将它们上传到 /root 目录
- 启动程序
systemctl enable --now hysteria
项目 | |
---|---|
程序 | /usr/local/bin/hysteria |
配置 | /root/hysteria_config.yaml |
重启 | systemctl restart hysteria |
状态 | systemctl status hysteria |
查看日志 | journalctl -u hysteria -o cat -e |
实时日志 | journalctl -u hysteria -o cat -f |
卸载
systemctl disable --now hysteria && rm -f /usr/local/bin/hysteria /root/hysteria_config.yaml /etc/systemd/system/hysteria.service
客户端
由 v2rayN 提供 HTTP SOCKS5 代理,由 v2rayN 提供路由规则
-
下载Windows客户端程序hysteria-windows-amd64.exe,重命名为hysteria.exe,复制到v2rayN\bin\hysteria文件夹。
-
下载客户端配置config_client.yaml,修改chika.example.com为证书中包含的域名,修改10.0.0.1为VPS的IP。
-
v2rayN:服务器 ——> 添加自定义配置服务器 ——> 浏览 ——> 选择客户端配置 ——> Core类型 hysteria ——> Socks端口 50000
由 sing-box 提供 Tun 模式(透明代理),由 sing-box 提供路由规则
- sing-box:参考Windows 使用方法,将客户端配置进行如下修改。
原内容
{
"tag": "proxy",
// 粘贴你的客户端配置,需要保留 "tag": "proxy",
},
替换为
{
"type": "socks",
"tag": "proxy",
"server": "127.0.0.1",
"server_port": 50000
},
检查此处有 hysteria.exe
{
"process_name": [ // 直连的 Windows 可执行程序
"xray.exe",
"hysteria.exe",
"tuic.exe",
"tuic-client.exe",
"juicity.exe",
"juicity-client.exe"
],
"outbound": "direct"
},
- v2rayN:服务器 ——> 添加自定义配置服务器 ——> 浏览 ——> 选择客户端配置 ——> Core类型 hysteria ——> Socks端口 0。
from https://github.com/chika0801/hysteria-install
-------------------------------------------------------------------------------------------------------
Hysteria 节点纯手动安装教程
Hysteria 是一个功能丰富的,专为恶劣网络环境进行优化的网络工具(双边加速),比如卫星网络、拥挤的公共
Wi-Fi、在中国连接国外服务器等。基于修改版的 QUIC 协议。由 go
编写的非常优秀的“轻量”代理程序,它很好的解决了在搭建科学上网服务器时的痛点——线路一般、高峰时期慢。虽然是走的 UDP 但是提供 obfs
,暂时不会被运营商针对性的 QoS ( 不开 obfs 也不会被 QoS )。
经过实际测试, Hysteria 协议在速度上碾压 vmess , vless ,naive 等其他协议,值得推荐给大家。网上有关 Hysteria 的安装教程已经挺多了,也有一键安装脚本。尤其官方的一键安装脚本做的挺好,非常适合零基础的用户使用。但是总有一些技术控的小伙伴,想搞清楚一键安装脚本到底在自己的服务器上安装了什么软件,做了那些操作。或者通过一键安装脚本没有部署成功,自己也不知道什么原因。这篇教程将给大家简单还原一键脚本安装了那些软件,进行了那些配置。大家在了解这些信息后,如果出现没有部署成功时,也可以检查相关配置,排除故障。
一、服务器安装环境
本次教程的测试环境为:Vultr IPv4&IPv6双栈 VPS ,1vCPU ,1GB Memory ,25 GB SSD , CentOS 7 Without SELinux 。
二、服务器安装步骤
1、对于 hax.co.id/woiden.id 等纯 IPv6 主机,打开 DNS64 ,其他主机跳过这一步。
echo -e "nameserver 2a01:4f8:c2c:123f::1" > /etc/resolv.conf
2、升级操作系统内核
建议升级一下系统内核,避免缺失某些依赖包而造成不必要的麻烦。
hostnamectl | grep -i system | cut -d: -f2
使用上述命令查询你的操作系统。
#Debian、Ubuntu等操作系统使用以下命令升级
apt update
apt upgrade -y
apt full-upgrade -y
apt-get install socat
#Redhat、Centos、Fedora等操作系统使用以下命令升级
yum -y update
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install kernel-ml
grub2-set-default 0
yum -y remove kernel-3.*
yum install -y socat
3、配置防火墙
没有防火墙的服务器相当于裸奔,不管什么时候,建议打开操作系统的防火墙,然后在防火墙规则里放行自己使用的端口。
#查看防火墙状态
systemctl status firewalld
#设置开机启动防火墙
systemctl enable firewalld
#开启防火墙
systemctl start firewalld
为 Hysteria 服务在防火墙上放行相关端口:
# Hysteria 服务在申请域名证书时,需要使用 80/443 端口,我们在 IPv4&IPv6 规则表中放行 80&443 端口。
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --permanent --zone=public --add-rich-rule='
rule family=ipv6
source address=::/0
port protocol=tcp port=80
accept'
firewall-cmd --permanent --zone=public --add-rich-rule='
rule family=ipv6
source address=::/0
port protocol=tcp port=443
accept'
firewall-cmd --reload
#可以使用下面这行命名查询防火墙的规则表
firewall-cmd --list-all
为 Hysteria 服务放行监听端口及端口跳跃所使用的端口。以下示例中,我们准备使用 10255/udp 为监听端口,30000-35000/udp 为端口跳跃所使用的端口,你可以自行修改。
firewall-cmd --permanent --zone=public --add-port=10255/udp
firewall-cmd --permanent --zone=public --add-port=30000-35000/udp
firewall-cmd --permanent --zone=public --add-rich-rule='
rule family=ipv6
source address=::/0
port protocol=udp port=10255
accept'
firewall-cmd --permanent --zone=public --add-rich-rule='
rule family=ipv6
source address=::/0
port protocol=udp port=30000-35000
accept'
firewall-cmd --reload
为 Hysteria 服务设置端口转发,将 30000-35000/udp 端口收到的数据转发到端口 10255/udp:
firewall-cmd --zone=public --add-forward-port=port=30000-35000:proto=udp:toport=10255 --permanent
firewall-cmd --zone=public --add-rich-rule='rule family=ipv6 forward-port port=30000-35000 protocol=udp to-port=10255' --permanent
firewall-cmd --reload
4、创建工作组和用户
#建议尽量不要使用 root 用户运行服务,我们创建一个名为 hysteria 的用户用于运行 hysteria 。
groupadd --system hysteria
useradd --system \
--gid hysteria \
--create-home \
--home-dir /var/lib/hysteria \
--shell /usr/sbin/nologin \
--comment "hysteria server" \
hysteria
5、安装 Hysteria 服务端
Hysteria 项目在 GitHub 的项目地址为:https://github.com/apernet/hysteria 。
#下载最新版本的 hysteria
wget -q -O /usr/bin/hysteria https://github.com/apernet/hysteria/releases/download/v1.3.3/hysteria-linux-amd64
chmod a+x /usr/bin/hysteria
#创建 hysteria 配置文件目录
mkdir /etc/hysteria
6、安装域名证书
Hysteria 服务端 必须要 一个 TLS 证书。有两种方式,任选一种即可。
① 使用内置的 ACME 客户端从 Let’s Encrypt 自动获取一个证书。这是最简单的方式,前提是你有解析到服务器的域名和一个有效的邮箱地址。缺点是必须占用一个端口。使用这种方式时, /etc/hysteria/config.json 按照如下示例配置即可:
#示例中 example.ifeng.ml 已解析到服务器,obfs 为混淆密码
cat > /etc/hysteria/config.json <<EOF
{
"listen": ":10255",
"acme": {
"domains": [
"example.ifeng.ml"
],
"email": "example@ifeng.ml"
},
"obfs": "8ZuA2Zpqhuk8yakXvMjDqEXBwY"
}
EOF
② 自定义证书 - 使用 acme.sh 手动申请证书
以下代码演示的是使用 acme.sh 手动申请证书,当然你也可以使用 dnspod 等第三方工具生成证书后,手动上传到对应位置。
curl https://get.acme.sh | sh
ln -s /root/.acme.sh/acme.sh /usr/local/bin/acme.sh
acme.sh --set-default-ca --server letsencrypt
#example.ifeng.ml 请替换为你的真实域名
#注意:hax.co.id/woiden.id 等纯 IPv6 主机,在下面命令中加上--listen-v6参数
acme.sh --issue -d example.ifeng.ml --keylength ec-256 --standalone --insecure
acme.sh --install-cert -d example.ifeng.ml --ecc \
--key-file /etc/hysteria/example.ifeng.ml.key \
--fullchain-file /etc/hysteria/example.ifeng.ml.pem
③ 自定义证书 - 自签证书
#生成私钥
openssl ecparam -genkey -name prime256v1 -out /etc/hysteria/example.ifeng.ml.key
#生成证书
openssl req -new -x509 -days 36500 -key /etc/hysteria/example.ifeng.ml.key -out /etc/hysteria/example.ifeng.ml.pem -subj "/CN=example.ifeng.ml"
使用自定义证书时, /etc/hysteria/config.json 按照如下示例配置即可。
cat > /etc/hysteria/config.json <<EOF
{
"listen": ":10255",
"cert": "/etc/hysteria/example.ifeng.ml.pem",
"key": "/etc/hysteria/example.ifeng.ml.key",
"obfs": "8ZuA2Zpqhuk8yakXvMjDqEXBwY"
}
EOF
7、将 Hysteria 作为守护进程运行
在 /etc/systemd/system/ 目录创建 hysteria.service
cat > /etc/systemd/system/hysteria.service <<EOF
[Unit]
Description=Hysteria Server Service (config.json)
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/hysteria -config /etc/hysteria/config.json server
WorkingDirectory=/etc/hysteria
User=hysteria
Group=hysteria
Environment=HYSTERIA_LOG_LEVEL=info
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_RAW
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_RAW
NoNewPrivileges=true
[Install]
WantedBy=multi-user.target
EOF
8、启动 Hysteria 服务端
chown -R hysteria:hysteria /etc/hysteria/
systemctl daemon-reload
systemctl enable hysteria
systemctl start hysteria
#查看当前状态
systemctl status hysteria
#使用更改的配置文件重新加载 hysteria
systemctl reload hysteria
三、 客户端配置
Hysteria 客户端:https://github.com/apernet/hysteria/releases/latest
1、根据客户端操作系统,下载对应的 Hysteria 客户端,以 64 位 windows 操作系统为例。
在官方网站下载 hysteria-windows-amd64.exe 文件并 copy 到 v2rayN 安装目录(v2rayN V5.39 copy 到安装目录,v2rayN V6.14 copy 到安装目录中的 \bin\hysteria )。用记事本创建一个config.json文件,内容如下:
其中 up_mbps 和 down_mbps 分别指宽带签约的上行速率和下行速率,根据情况自行修改。
{
"server": "example.ifeng.ml:30000-35000",
"obfs": "8ZuA2Zpqhuk8yakXvMjDqEXBwY",
"up_mbps": 30,
"down_mbps": 200,
"insecure": true,
"socks5": {
"listen": "127.0.0.1:10808"
},
"http": {
"listen": "127.0.0.1:10809"
}
}
2、v2rayN 客户端配置,点击菜单上“服务器”中的“添加自定义服务器”。3、导入上一步配置好的 config.json 文件, Core 类型选择 hysteria 后点确定按钮。
4、苹果手机 Shadowrocket 客户端配置,类型选择 Hysteria ,分别填入地址、端口、混淆密码、上行速度、下行速度、协议选择 udp,保存.
四、 其他说明
通过以上简单的配置,相信你已经搭建好了 Hysteria 代理,你也会发现 Hysteria 在速度上碾压其他协议。需要说明一下, Hysteria 不支持 CDN 反代,这点官方文档里已经说的很清楚了。
Hysteria 其他更多的功能,请参考官方文档( https://hysteria.network )自行配置.------------------------------------------------
一键脚本安装新版Hysteria 2,不需要域名,垃圾小鸡直接起飞
1 前言
目前来说只要是你本地和vps商家对于udp协议没有qos的严重,都是可以流畅起飞的。Hysteria 2 与 Hysteria 1.x 完全不兼容
wget
-N --no-check-certificate
https://raw.githubusercontent.com/Misaka-blog/hysteria-install/main/hy2/hysteria.sh
&& bash hysteria.sh
2 安装
- 安装 Hysteria 2
- 卸载 Hysteria 2
- 关闭、开启、重启 Hysteria 2
- 修改 Hysteria 2 配置
- 显示 Hysteria 2 配置文件
- 更新 Hysteria 2 内核
- 退出脚本
请输入选项 [0-5]:
Hysteria 2 安装成功!
Hysteria 2 协议证书申请方式如下:
- 必应自签证书 (默认)
- Acme 脚本自动申请
- 自定义证书路径
请输入选项 [1-3]:
然后会提示你Hysteria 2 端口使用模式,这里有单端口和端口跳跃。Hysteria作者有说明:中国用户有时报告运营商会阻断或限速 UDP 连接。不过,这些限制往往仅限单个端口。端口跳跃可用作此情况的解决方法。客户端将随机选择一个端口进行初始连接,并定期随机跳跃到另一个端口。用于控制时间间隔的选项是
transport
部分中的 hopInterval
。一句话来说就是定期换连接端口来防止某些qos。然后会提示你Hysteria 2 的伪装网站地址,如果有喜欢的可以自己选择,默认回车是使用世嘉maimai日本网站。
后续会给你客户端 配置文件和Hysteria 2 节点分享链接。某些软件比如v2rayn不支持用节点链接一键导入,就需要配置文件。配置文件可以直接复制脚本给出的客户端配置文件,或者从服务器的/root/hy/路径里面寻找也是可以的。
hy-client.json
重点是后面的文件格式一定要是.json结尾。3 导入软件
3.1 windows的V2rayn
推荐下载新版本的v2rayN-With-Core.zip,解压后得到的文件夹。点击v2rayN即可打开软件使用。
服务器
,点击 添加自定义服务器
。浏览
选择刚刚保存在桌面的json文件。端口是你在用脚本搭建服务器时候选择的脚本,选择回车使用随机脚本的用户去ssh界面找一下默认的是哪个端口。3.3 windows的Nekoray / 安卓的Nekobox
hysteria2://081e248c@71.48.11.19:9368/?insecure=1&sni=www.bing.com#Misaka-Hysteria2
程序
然后点击从剪切板导入
即可。4 常见问题
4.1 Hysteria 2 与 Hysteria 1 的比较
- 新协议 :重新设计的协议,伪装成 HTTP/3,增加对抗审查的能力。
- 0-RTT UDP 会话建立 :每个新 UDP 会话的第一个包没有额外延迟。
- 新的 ACL 和出站系统 :根据不同的请求使用不同的出口。
- 流量统计 API :便于监控和管理。
- 性能改进 :各种底层优化,提高了性能和稳定性。
- 客户端 ACL :目前 ACL 只在服务器端可用。
- FakeTCP 协议 :FakeTCP 一直是相对小众的功能,我们还在评估是否要重新引入。
- TUN 模式 :目前暂无,但很可能在未来重写、重新引入。
4.2 Hysteria 是多倍发包吗?
No comments:
Post a Comment