没疯,真没疯。
Hysteria 是一个功能丰富的,专为恶劣网络环境进行优化的网络工具(双边加速),比如卫星网络、拥挤的公共 Wi-Fi、在中国连接国外服务器等。
😂在我等人看来,这看起来是很适合做梯子的。
测了一下,速度确实非常棒
使用shadowsocks/trojan的速度

使用hysteria

速度足足提升了10倍,跑满了本地带宽
配置起来很简单😂就以自签名证书为例了
配置服务端
自签名证书
openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 3650 -out certificate.pem
下载
去GitHub Release可以找到,我的是OpenVZ的🐤,下载了non-tun版本的。
https://github.com/HyNetwork/hysteria/releases
创建配置文件
config.json
{
"listen": ":443",
"cert": "/etc/hysteria/certificate.pem",
"key": "/etc/hysteria/key.pem",
"up_mbps": 300,
"down_mbps": 300,
"obfs": "dankdhsawj"
}
可选的 obfs 选项使用提供的密码对协议进行混淆,这样协议就不容易被检测出是 Hysteria/QUIC,可以用来绕过针对性的 DPI 屏蔽或者 QoS。 如果服务端和客户端的密码不匹配就不能建立连接,因此这也可以作为一个简单的密码验证。
up_mbps 和 down_mbps用来限制每个客户端最大下载速度和上传速度,可选
运行
hysteria server
即可。使用-config参数指定配置文件路径
hysteria -config /etc/hysteria/config.json server
客户端
iOS
iOS可以使用shadowrocket,混淆字段写obfs的值,密码留空,允许不安全勾选
shadowrocket测速会显示超市,延迟测试方法改成CONNECT就好了,可能是个bug
Linux
{
"server": "1.1.1.1:443",
"obfs": "1231",
"up_mbps": 300,
"down_mbps": 300,
"socks5": {
"listen": "127.0.0.1:1080"
},
"insecure": true
}
然后直接运行hysteria就可以,之后可以用proxychains之类的工具了。如有需要也可以添加http字段
"http": {
"listen": "127.0.0.1:8080"
}
systemd自动启动
/lib/systemd/system/hysteria.service
如果是systemd的话,写个单元文件
[Unit] Description=Hysteria After=network.target network-online.target nss-lookup.target [Service] Restart=on-failure Type=simple ExecStart=/usr/sbin/hysteria -config /etc/hysteria/config.json server [Install] WantedBy=multi-user.target
systemctl daemon-reload # 重新加载 systemctl enable hysteria # 开机自启 systemctl start hysteria # 启动
🐤专属配置
这个小鸡,是从sentris那里弄来的,这么多年没想到竟然没倒闭没跑路。
由于小鸡配置堪忧,我想办法给搞成了Alpine,毕竟Alpine是出了名的小,省内存也是必然的。

因为是Alpine所以自然也就是OpenRC了。
hysteria额外配置
由于小鸡内存少,必须额外配置下,要不然总是被OOM Kill
"recv_window_conn": 2097152, "recv_window_client": 8388608,
这样会减少OOM的可能性
OpenRC启动项
如果是OpenRC……/etc/init.d/hysteria
#!/sbin/openrc-run
name="hysteria"
command="/usr/sbin/hysteria"
command_args="-config /etc/hysteria/config.json server"
command_background="yes"
pidfile="/run/hysteria.pid"
depend() {
after sshd
}
然后
chmod +x /etc/init.d/hysteria rc-update add hysteria # 开机自启动 rc-service hysteria start # 启动
非常不幸的是,如果进程挂掉了,OpenRC是没什么办法给拉起来的。可以办法是用supervisor,可以使用Go版本的 https://github.com/ochinchina/supervisord
然而这个内存占用有点可怕,毕竟我整个只有64M的内存啊,这一个用了22.5%,14M了。

那就只能魔改crontab,10秒一次,最多20秒拉起(
# 创建一个shell脚本 /usr/bin/restart
#!/bin/sh
echo Restarting...
for svc in $(rc-status --crashed); do
rc-service $svc -- --nodeps restart
done
# 加x权限
chmod+x /usr/bin/restart
# crontab中
* * * * * for i in {1..6}; do /usr/bin/restart & sleep 10; done
😂感觉还行(((






