logo NodeSeekbeta

【开源】【我的世界/SSH管理/探针/农场主与鸡】可建造版,超低内存占用,超低带宽占用

本项目原本是自用SSH管理,最近发现有大佬做成我的世界版本,感觉挺好玩。于是自己在SSH基础上也搓了一个。
特色:可建造,人是农场主,鸡是鸡。
支持游客随时链接探针 / 干净卸载探针。
游客也可设置探针密码,输入密码后才可看到探针信息。

使用习惯不太愿意把广播和SSH交给探针agent,所以SSH是SSH,探针是纯探针。
体验:https://139.red (建造材料 增加一个探针+材料100)
开源地址:https://github.com/baiduxc/sshweb
image

下一步准备搞个排行榜,搞个PK功能,搞个Ai agent建造。有喜欢的可以一起维护或者单开一支!!!~~~

介绍:

SSHWeb · 我的世界农场版

把你的服务器变成一座 Minecraft 风格农场:每台 SSH 服务器是一只鸡,公开探针是带国旗的探针鸡,游客是随机造型的农场主。在浏览器里 3D 漫游、追鸡,把鸡打倒后打开真 PTY 网页终端(vim / htop 原样可用),还能挖矿、建造、和其他游客互啄。

单二进制 / 单容器部署,无外部 CDN 依赖(three.js、xterm.js、306 国国旗图全部内置)。

特性

🐔 服务器农场

  • 每台登记的 SSH 服务器 = 一只鸡,头顶显示名称与 ❤ 血量(100 血 / 5 颗进度心)
  • 左键攻击(木剑 / 弓箭 / 手枪),血量归零鸡倒地;管理员按 F 交互进入真 PTY 网页终端(xterm.js ↔ SSH,Ctrl+C、Tab 补全、vim htop 全屏程序原样可用),退出终端原地满血复活;倒地 10 秒无人交互也会自动复活
  • 被攻击的鸡会逃跑,受击闪红 + 粒子 + 伤害数字 + 音效
  • 密码或 SSH 私钥(支持口令)认证,凭据只存在你自己机器上

📡 公开探针(服务器状态鸡)

  • 右上角「📡 加入」生成一键安装命令,任何服务器(不限于管理员自己的)都能接入:

    curl -fsSL 'https://你的域名/probe/agent.sh?t=***' | sudo bash
    
  • 纯 bash + systemd agent,无二进制依赖(curl 缺失自动用 wget),每 5 秒上报:CPU / 内存 / 磁盘 / 上下行网速 / 负载 / 在线时长 / 进程数 / CPU 型号

  • 探针鸡头顶大信息卡直显全部数据;国旗按上报 IP 自动识别(内置 306 国旗图,离线可用)

  • 生成时可配置:完全公开 或 密码查看(游戏内登录框输入查看密码解锁,HttpOnly Cookie 保存 7 天);IP 可选第三段掩码(如 203.0.xxx.1)

  • 一键卸载:

    curl -fsSL 'https://你的域名/probe/uninstall.sh' | sudo bash
    
  • 探针只有统计上报能力,没有任何 SSH 能力;安装命令前缀自动跟随当前访问域名,反代 / 自定义域名部署即得对应公网命令

  • 探针鸡同样可以被攻击、倒地、自动复活,纯粹图一乐

🎮 多人游戏性

  • 游客免登录直接进入:随机造型农场主(肤色 / 衣着按 ID 哈希生成,人人不同),可攻击鸡、攻击其他游客、自由建造
  • 游客身份与 IP 深度绑定:昵称、建造材料持久保存,重进不丢;右上角「✏️ 改名」(≤32 字符)
  • 建造系统:开局送 50 材料;泥土🟫 / 木头🪵 / 石头🪨 三种建材直接放技能栏,左键放置(白色预览框指示落点),可跳起向上搭高;⛏️ 拆除返还材料;方块全端实时同步并持久化到 data.json
  • 每日奖励:每天添加一个探针 → 材料 +100(服务端权威计数,防刷)
  • 玩家 100 血,被啄倒弹出死亡界面(显示凶手),随机点复活;复活点落在建筑上时自动站到建筑顶上,不会卡进方块
  • 围栏、谷仓、掩体石墙、树、水塘、玩家方块全部有碰撞;石墙和围栏可以跳上去
  • 左上角统计面板:探针鸡在线 / 网站鸡在线 / 暴躁鸡(倒地数)/ 我的材料
  • 顶部事件播报:「XXX 啄倒了 XXX」
  • 手机可玩:自动显示虚拟摇杆,右半屏拖动视角、点按攻击
  • 指针锁定操作:点击画面隐藏鼠标转视角,ESC 释放

🔐 权限模型

  • 游客:看鸡、打架、建造;看不到任何 SSH 连接信息,无法打开终端
  • 管理员(右上角登录):农场主形态 👑 + 全部武器 + 倒地鸡 F 交互进终端 + 管理面板(服务器 / 探针 / 改密码)
  • 探针查看密码在登录框输入即可解锁对应探针,无需管理员权限

快速开始

Docker(推荐)

docker run -d --name sshweb \
  -p 45678:45678 \
  -e SSHWEB_PASSWORD='你的强密码' \
  -v sshweb-data:/data \
  --restart unless-stopped \
  ghcr.io/baiduxc/sshweb:latest

打开 http://服务器IP:45678 直接进入农场(游客免登录);管理员点右上角「登录」。

docker compose

git clone https://github.com/baiduxc/sshweb.git && cd sshweb
SSHWEB_PASSWORD='你的强密码' docker compose up -d

直接运行

go build -o sshweb .
./sshweb -listen :45678 -data ./data

或从 Releases 下载预编译二进制(linux amd64 / arm64、darwin arm64)。

配置

参数 / 环境变量 默认 说明
-listen :45678 监听地址
-data / SSHWEB_DATA data 数据目录(data.json,0600)
SSHWEB_PASSWORD admin888 仅首次启动生效;之后用管理面板修改

Nginx 反向代理 + HTTPS 示例

location / {
    proxy_pass http://127.0.0.1:45678;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;        # WebSocket(终端 / 游戏大厅)
    proxy_set_header Connection "upgrade";
    proxy_read_timeout 3600s;
    proxy_set_header X-Forwarded-Proto $scheme;    # 探针安装命令跟随 https
    proxy_set_header X-Forwarded-Host $host;       # 探针安装命令跟随你的域名
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  # 游客/探针国家识别
}

操作说明

操作 键位
移动 / 疾跑 WASD / Shift
跳跃 空格
锁定鼠标(转视角) 点击画面;ESC 释放
攻击 / 挖矿 / 放置 左键(按当前技能自动判定)
切换技能 1-7 / Q / 点击技能栏
交互(倒地鸡 → 终端) F(仅管理员)
管理面板 E(仅管理员)

安全须知(请先读完再暴露公网)

  • 本面板等价于「把 SSH 入口搬进浏览器」:首次启动务必设置强密码(SSHWEB_PASSWORD 或界面修改),默认密码等于没有密码
  • 所有凭据(SSH 密码 / 私钥、管理密码、探针 token、探针查看密码)只保存在你自己机器的 data.json(0600),任何 API 响应都不下发
  • 探针 token 是安装凭据:泄露者只能冒充上报数据,无法读取任何信息;必要时删除探针重新生成
  • 游客与 IP 绑定仅用于昵称/材料持久化,不存储任何可识别个人信息
  • 建议置于 HTTPS 反代之后;有条件用防火墙限制端口来源
  • 目标服务器主机密钥不做校验(面板托管场景),适合自建内网 / 云机管理

从源码构建

git clone https://github.com/baiduxc/sshweb.git
cd sshweb
go build .            # Go ≥ 1.25
# 或
docker build -t sshweb .

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有71940位seeker

🎉欢迎新用户🎉