Laughing Kowalevski
Uncategorized 尚无浏览 1 分钟阅读

翼龙面板魔改教程:利用“替身脚本”无损植入 Komari/哪吒探针 (支持 Hy2)

前言

以前的panle freecloud搭建了一个Hy2,最近想植入komari探针,配置只有64MB 内存、64MB 硬盘,面板使用的是翼龙面板 (Pterodactyl)。

我的目标很简单:在上面跑一个 Hysteria2 (Hy2),顺便挂一个 Komari (哪吒分支) 的探针方便监控。

但现在有几个问题

  1. 面板限制: 启动命令被锁定为 /start.sh,无法修改。
  2. 资源极限: 64MB 内存稍有不慎就 OOM (内存溢出);64MB 硬盘装完系统和 Hy2 仅剩 20MB 左右。

经过一番折腾和排查,终于完美解决了所有问题。这篇文章记录一下如何在不破坏原生脚本的情况下,通过“移花接木”的方式实现双进程共存。

核心思路:替身攻击

既然面板锁定了启动命令,强制运行 /home/container/hysteria-linux-amd64,那我们就顺水推舟:

  1. 真正的主程序改名为 hysteria-core
  2. 新建一个同名的脚本文件 hysteria-linux-amd64
  3. 在这个脚本里先启动探针,再拉起真正的主程序。

步骤一:资源大瘦身 (硬盘篇)

因为硬盘只有 64MB,Hy2 占用约 18MB,如果随便下载一个 40MB 的探针文件,硬盘直接爆满,服务器会当场死机。

避坑指南:

  • 不要下载 那个 30MB-40MB 的 komari-linux-amd64(那是服务端面板!)。
  • 一定要下载 komari-agent-linux-amd64,体积只有 7MB 左右。

下载后上传到面板文件根目录,并重命名为 agent

步骤二:实施“移花接木”

  1. 在面板文件管理中,找到原本的 hysteria-linux-amd64 文件。
  2. 将其重命名为 hysteria-core
  3. 新建文件,文件名填写 hysteria-linux-amd64 (注意不要加 .sh 后缀)。
  4. 写入以下脚本内容:

Bash

#!/bin/bash

# --- 1. 权限与内存优化 (关键!) ---
# 给程序赋予执行权限
chmod +x ./agent
chmod +x ./hysteria-core

# 🌟 64MB 内存救星:强制 Go 语言积极回收内存
# 如果不加这一行,Hy2 跑一会就会因为内存溢出被系统杀掉
export GOGC=20

# --- 2. 启动 Komari 探针 ---
# ⚠️ 注意:Komari 的参数与哪吒不同!
# -e: 面板地址 (必须带 https://)
# -t: 通信密钥
if [ -f "./agent" ]; then
    echo "🔍 正在启动探针..."
    # 下面这行换成你自己的面板地址和密钥
    ./agent -e https://你的面板域名.com -t 你的密钥 >/dev/null 2>&1 &
    echo "✅ Komari 探针已启动"
else
    echo "⚠️ 未找到 agent 文件"
fi

# --- 3. 移交控制权给主程序 ---
echo "🚀 正在启动 Hysteria 主程序..."
# 使用 exec 让 Hy2 接管当前进程,完美伪装
exec ./hysteria-core "$@"

重启服务器,最终效果

  • Hysteria2: 正常连接,极简配置占用约 15MB。
  • 探针: 正常上线,占用约 10MB。
  • 剩余内存: 还有约 30MB 的富余,稳如老狗!

总结

在极端受限的环境下,GOGC=20 是 Go 语言程序的保命神技,而替换二进制文件为 Shell 脚本则是突破面板启动限制的通用解法。

折腾虽累,但看到绿色的 “Server Running” 和探针后台的上线状态,一切都值了。

0

  1. 此文章尚无评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注