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” 和探针后台的上线状态,一切都值了。

2

  1. Good day, I have a few questions about pricing, availability, and the general process of working with you. Could someone reach out at your earliest convenience? Thanks in advance.

  2. Hi, I’d appreciate the chance to talk through what you offer and see if we’re a good fit. Could someone reach out at your earliest convenience? Thanks in advance.

发表回复

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