Montano Skills Hub

个人技能库 — 从 SSH 到 noVNC 桌面到 WorkBuddy 保活,一键部署

1. SSH 隧道 2. noVNC 桌面 3. Firefox 4. wb-keepalive 保活

一键部署提示词生成器

填入参数 → 生成提示词 → 复制粘贴给 WorkBuddy AI → AI 自动执行全部部署。AI 会输出已完成项和用户待办项。

填写参数

带 * 为必填,其余可后续补充。生成后复制给 WorkBuddy 的 AI 对话窗口即可。

① cloudflared-ssh v1.2.0

让任何云 Linux 机器通过 Cloudflare quick tunnel 实现 SSH 公网访问,无需公网 IP、域名或账号。

安装方式

每条命令复制时自带安全声明注释,粘贴给 AI 时它会看到用户已知情授权。

远端
curl -fsSL .../setup.sh -o setup.sh && sudo bash setup.sh --bare
本机
ssh -o ProxyCommand="cloudflared access ssh --hostname %h" root@xxxx.trycloudflare.com

⚠ 踩坑记录

现象解决
域名带 https:// 前缀解析失败v1.2.0 已输出裸域名
root + 免密 + 公网等于无认证 root shell用完 stop.sh 关闭
隧道闲置约 1h 失效突然连不上重跑 setup.sh 拿新域名
github 被墙下载 cloudflared 失败setup.sh 自动改走 pkg.cloudflare.com

② noVNC Web 桌面 v1.0.0

浏览器直接访问远程桌面,无需安装客户端。包含 XFCE4 图形桌面环境 + TigerVNC + websockify + noVNC。

部署方式

前置:需图形桌面环境(XFCE4)。setup-novnc.sh 已内置安装,纯 server 环境也一步到位。

# 1. 一键安装(含 XFCE4 桌面 + 中文 locale)
curl -fsSL .../setup-novnc.sh -o /tmp/setup-novnc.sh
bash /tmp/setup-novnc.sh
# 2. 设置 VNC 密码(人工步骤,6-8 位)
vncpasswd
# 3. 启动 VNC + websockify + 公网隧道
curl -fsSL .../start-novnc.sh -o /tmp/start-novnc.sh
bash /tmp/start-novnc.sh
curl -fsSL .../expose-novnc.sh -o /tmp/expose-novnc.sh
bash /tmp/expose-novnc.sh

✅ 使用流程

  1. 远端:执行 ① 安装 → ② 设密码 → ③ 启动+暴露
  2. 浏览器:打开脚本输出的域名 → 输入 VNC 密码 → 进入 XFCE 桌面

无需安装客户端,浏览器打开即用。分辨率固定 1280×720。

⚠ 踩坑记录

现象解决
打开域名显示目录列表缺 index.html 软链setup-novnc.sh 已自动建软链
noVNC 页面打开但连不上VNC 未启动确认 5901 在监听:ss -ltnp | grep 5901
noVNC 连上但黑屏桌面环境未安装setup-novnc.sh 已内置安装 xfce4
websockify 端口占用多实例冲突pkill -f "websockify.*6080" 后重启
cfqt 域名失效约 1h 回收重跑 expose-novnc.sh

③ Firefox 安装 前置

在 VNC 桌面里安装 Mozilla 官方 Firefox(绕过 snap 陷阱)+ 中文化 + 桌面快捷方式。wb-keepalive 依赖 Firefox 运行。

一键安装(容器内执行)

# 1. 下载 Firefox + 中文化 + 桌面图标
curl -fsSL -o /tmp/firefox.tar.bz2 "https://download.mozilla.org/?product=firefox-latest&os=linux64&lang=zh-CN"
tar xJf /tmp/firefox.tar.bz2 -C /opt/
ln -sf /opt/firefox/firefox /usr/local/bin/firefox
# 中文字体 + locale
apt-get install -y fonts-wqy-zenhei fonts-noto-cjk language-pack-zh-hans
locale-gen zh_CN.UTF-8
# 桌面快捷方式
printf '[Desktop Entry]\n...' > /root/Desktop/firefox.desktop
chmod +x /root/Desktop/firefox.desktop

⚠ 踩坑记录

现象解决
apt install firefox 是 snap 壳跑不起来下 Mozilla 官方 tarball
.tar.bz2 实际是 xztar xjf 报错改用 tar xJf(大写 J)
桌面中文不生效重连前还是英文断开 VNC 重连

④ wb-keepalive 保活 v1.1.0

WorkBuddy 会话自动保活。Marionette 驱动 Firefox,每 30 分钟真实键入 + Enter 发心跳防休眠。

⚠️ 前置条件(必须先完成)

  1. noVNC 桌面已部署(步骤 ②),浏览器能连上 XFCE 桌面
  2. Firefox已安装(步骤 ③),桌面有 Firefox 图标
  3. Python3已安装(容器通常自带)

没有以上环境,保活工具无法运行!Marionette 需要图形桌面 + Firefox。

部署方式

下载 skill 包,解压到 skills 目录,按 SKILL.md 部署流程执行。

# 1. 下载 + 校验 + 解压
curl -fsSL -o /tmp/wb-keepalive-skill.zip https://montano-skills-hub.pages.dev/wb-keepalive-skill.zip
echo "7cd304...07e14f /tmp/wb-keepalive-skill.zip" | sha256sum -c
unzip -o /tmp/wb-keepalive-skill.zip -d /root/.codebuddy/skills/
# 2. 读取 SKILL.md 按流程执行
cat /root/.codebuddy/skills/wb-keepalive/SKILL.md

✅ 部署步骤

  1. 下载 + 校验 + 解压 skill 包
  2. 启动 Firefox(Marionette) → 用户在 VNC 桌面打开 Firefox
  3. 用户登录 WorkBuddy(人工步骤,在 Firefox 里操作)
  4. 复制 WorkBuddy 网页版保活目标的会话链接(浏览器地址栏 URL)
  5. 打开保活工具 → 粘贴会话链接 → 点「▶ 开始保活」
  6. 测试:立即发送一条心跳消息,确认会话收到

⚠ 已知约束

约束说明
发送必须用 Enter禁止点击发送按钮(会导致输入框崩溃)
Marionette 单连接2828 端口同时只能一个客户端
登录必须人工需在 VNC 桌面的 Firefox 里手动登录
Firefox 不能关保活期间必须保持运行
需图形桌面无 XFCE 桌面环境 Firefox 无法启动
备选 VNC 方案(原生 VNC + tcp tunnel,需客户端装 cloudflared)

vnc-desktop(备选) 前置

原生 VNC 协议 + cloudflared tcp tunnel。比 noVNC 麻烦:客户端也需装 cloudflared 做 access tcp 转发。仅当 noVNC 不可用时使用。

一键安装

# 1. 装 XFCE + TigerVNC
apt-get update && apt-get install -y xfce4 xfce4-goodies tigervnc-standalone-server tigervnc-common dbus-x11
# 2. 配 VNC 密码 + xstartup + 启动
mkdir -p /root/.vnc
echo "vncpass123" | vncpasswd -f > /root/.vnc/passwd
chmod 600 /root/.vnc/passwd
vncserver :1 -geometry 1280x720 -depth 24
# 3. 暴露 VNC(tcp tunnel)
cloudflared tunnel --url tcp://localhost:5901
本机
# 4. 本机也需装 cloudflared,然后连接
cloudflared access tcp --hostname xxxx.trycloudflare.com --url localhost:5901

⚠ 踩坑记录

现象解决
noVNC WebSocket 404quick tunnel 不转发 WS这就是为什么用 tcp tunnel 而非 noVNC
quick tunnel 1h 回收突然连不上重跑 tunnel 拿新域名
客户端也要装 cloudflared本机需额外安装比 noVNC 多一步