alpine系统搭建hy2节点
更新系统:apk update && apk upgrade
查看ip:curl ifconfig.me
alpine中安装hysteria2
wget -O hy2.sh https://raw.githubusercontent.com/zrlhk/alpine-hysteria2/main/hy2.sh && sh hy2.sh
如果没有成功,可以重复执行,会覆盖密码
打开V2,选择服务器,选择添加hy2服务器
别名:随便
地址:2a01:4f9:6b:47e9::345 ipv6
端口:40443 去配置文件:/etc/hysteria/config.yaml 查看
密码:5PK35VON4/KM64bxw8cEXtkt 去配置文件:/etc/hysteria/config.yaml 查看
混淆密码:空
跳跃端口范围 空
传输层安全 tls
SNI bing.com
跳过证书验证 true 其他默认
在Alpine系统上完全卸载Hysteria2(hy2)的步骤如下:
1. 停止运行中的hy2服务
sudo rc-service hysteria stop
2. 禁用开机自启动
sudo rc-update del hysteria
3. 删除hy2服务文件
sudo rm /etc/init.d/hysteria
4. 删除hy2配置文件
sudo rm -rf /etc/hysteria/
5. 确认卸载完成
ps aux | grep hysteria
如果仅显示 grep hysteria
,则表明系统中已无 Hysteria2 进程,卸载成功。
补充:hysteria进程保活
新建脚本 /usr/local/bin/hysteria-keepalive.sh:
内容:
sudo tee /usr/local/bin/hysteria-keepalive.sh > /dev/null << 'EOF'
#!/bin/sh
#
# 只要 hysteria 服务退出,就自动重启并记录日志
#
# 配置 hysteria 可执行文件路径(根据实际安装位置改)
HY_EXEC="/usr/local/bin/hysteria"
# 配置 hysteria 的 YAML 文件路径(根据实际位置改)
HY_CONF="/etc/hysteria/config.yaml"
# 日志文件路径,放在家目录更安全,避免权限问题
HY_LOG="$HOME/hysteria-restart.log"
# 无限循环
while true; do
# 启动 hysteria 服务端
$HY_EXEC server -c "$HY_CONF"
# 将退出码和时间写进日志
echo "[hysteria] 进程已退出 (退出码 $? ),$(date) 重新启动" >> "$HY_LOG"
# 等待 1 秒 再重启
sleep 1
done
EOF
# 赋可执行权限
sudo chmod +x /usr/local/bin/hysteria-keepalive.sh
2手动验证脚本没语法错误且能单独跑通:
sh /usr/local/bin/hysteria-keepalive.sh
3.用 nohup 把脚本丢到后台跑:
在终端里敲:nohup /usr/local/bin/hysteria-keepalive.sh > ~/hysteria-nohup.log 2>&1 &
4.验证后台进程是否正常运行:
查看父脚本本身:ps aux | grep "[h]ysteria-keepalive.sh"
应该能看到 … hysteria-keepalive.sh 这一行,说明脚本还在跑。
查看 Hysteria 服务端子进程:
ps aux | grep "[h]ysteria server"
如果看到类似 /usr/local/bin/hysteria server -c /etc/hysteria/config.yaml 的行,就说明它在跑。
查看日志文件:看重启记录
tail -n 20 ~/hysteria-restart.log
如果脚本刚启动不久,你可能暂时看不到日志(还没挂掉过);等你手动杀掉子进程再重启时,就会在这里看到新的一行 [hysteria] 进程已退出 (退出码…),日期 重新启动。
5.触发一次“手动杀进程”,测试保活效果
查看 Hysteria 服务端子进程:
输入 ps aux | grep "[h]ysteria server" 记住子进程的 PID
152676 root 17:52 /usr/local/bin/hysteria server --config /etc/hysteria/config.yaml
kill 152676
等 1~2 秒钟。再次:ps aux | grep "[h]ysteria server"
如果你看到一个新 PID,比如现在是 23480,就说明脚本侦测到 “原来 152676 挂了”,然后 1 秒后重新启动成 23480,完美保活。

共有 0 条评论