让探针里的小鸡具象化到3D网页养鸡,支持大多数的ServerStatus、哪吒 (V1)、Komari、极简探针、NodeGet等探针里的小鸡到养鸡。 作者: nodeseek-huimm-五【https://www.nodeseek.com/space/42323#/general】 帖子:https://www.nodeseek.com/post-946748-1
打开网页就变成一只鸡。3D 鸡场里走跑跳、啄别的鸡,还有会追人的大白鹅(能反过来啄倒拿分)。
探针机器变鸡:把你自己探针面板接进来,每台机器就是一只鸡 —— 头顶显示在线时间、实时/累计流量、机器型号,CPU/RAM 圆圈、地区旗;机器越忙鸡越大,CPU 超 50% 会主动啄人;机器下线就躺倒,恢复自动站起来。
网站变鸡:填几个网址,定期探可用性和延迟。在线就生成「网站鸡」显示实时延迟(绿/黄/红),挂了躺倒并标原因(404 / 5xx / CF 源站失联 / 无法连接)。
支持 8 类探针协议自动识别:ServerStatus、哪吒(V1)、Komari、极简探针、NodeGet、NodeFlare、CF探针、CF Monitor,识别不出会通用兜底。探针地址只写域名即可,接口路径程序自己找。
依赖全在镜像里,运行时不联网装包,不需要 systemd,不以 root 运行。
mkdir -p /opt/chicken-vps-data && chown -R 1000:1000 /opt/chicken-vps-data
docker run -d --name chicken-vps \
--restart unless-stopped \
-p 3777:3777 \
-v /opt/chicken-vps-data:/data \
aprilming/chicken_farm:20260924
打开 http://服务器IP:3777/ —— 此时是空场(2 只鹅、没有鸡),因为还没配探针。
写配置再重启:
cat > /opt/chicken-vps-data/config.json <<'JSON'
{
"port": 3777,
"trustCloudflareIp": false,
"geese": 2,
"probe": {
"interval": 15000,
"sources": [
{ "name": "我的VPS", "url": "https://tz.example.com/json/stats.json", "timeout": 9000 }
],
"sites": [
{ "name": "我的博客", "url": "https://blog.example.com/", "region": "cn" }
]
}
}
JSON
docker restart chicken-vps
配置只认 /data/config.json,挂载 /data 就能持久化。容器不会自动生成它,没这个文件就跑默认值。
| 环境变量 | 默认 | 说明 |
|---|---|---|
PORT | 3777 | 容器内监听端口(建议别改,改映射的宿主端口) |
CONFIG_PATH | /data/config.json | 配置路径 |
TZ | Asia/Shanghai | 时区 |
NODE_ENV | production | — |
config.json 字段:
| 字段 | 说明 |
|---|---|
port | 监听端口 |
trustCloudflareIp | 是否信任 CF-Connecting-IP。只有在 CF 后面才设 true,否则访客能伪造国旗 |
geese | 大白鹅数量,可 0 |
probe.interval | 轮询间隔毫秒,默认 15000 |
probe.sources[] | 探针机器:name、url(面板根)、timeout,需要认证的面板加 token |
probe.sites[] | 网站监测:name、url、region(国旗国家码) |
sources(机器)和 sites(网站)互不影响,只配一个也照常跑;一个都不配属于正常状态。
必须支持 WebSocket 升级:
location / {
proxy_pass http://127.0.0.1:3777;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_read_timeout 3600s;
}
走 CF 时把 trustCloudflareIp 设 true 再重启,国旗才是真实位置;不走 CF 保持 false。
| 操作 | 按键 |
|---|---|
| 移动 / 疾跑 / 跳 | WASD 或方向键 / Shift / 空格 |
| 啄击 | 鼠标左键或 F |
| 扇翅 | 鼠标右键 |
| 转视角 | 鼠标移动(点画面锁定,Esc 释放) |
| 缩放 / 静音 / 暂停 | 滚轮 / M / Esc |
手机平板自动出触屏操作层(左摇杆 + 右拖拽 + 动作键)。血量归零侧翻 3 秒后满血随机复活,啄倒一只得 1 分,右上角有榜。名字在左下角改,最多 12 字。
docker logs -f chicken-vps # 启动横幅、探针同步、逐源报错
docker restart chicken-vps # 改完 config.json
/,docker ps 显示 healthy/data 需要 chown 1000docker pull aprilming/chicken_farm:latest 后按原命令重建容器,/data 保留即可| Tag | 说明 |
|---|---|
20260924 | 固定版本 |
latest | 最新固定版本 |
平台:linux/amd64、linux/arm64、linux/arm/v7(x86 服务器、ARM VPS / 苹果芯片、树莓派)。基础镜像 node:22-slim,依赖全部内置(three / ws / maxmind / mmdb-lib / tiny-lru,纯 JS,各架构行为一致)。
docker pull --platform linux/arm64 aprilming/chicken_farm:20260924
docker buildx imagetools inspect aprilming/chicken_farm:20260924
token 明文存在卷里的 config.json,卷权限建议 chmod 700,尽量用面板 API token 而不是面板密码。chicken-vps-<date>.run 安装器;这个镜像只是同一个程序换了运行方式。上游程序未声明开源协议(package.json 里 private: true,无 license 字段),本镜像原样打包,按其免费软件对待。基础镜像与内置的 JS 库各自遵循自己的协议。
Content type
Image
Digest
sha256:5394ccf50…
Size
89.7 MB
Last updated
2 days ago
docker pull aprilming/chicken_farm