Neko 一键部署脚本
当前目录包含两个文件:
deploy-neko.sh: 运行在 Linux 服务器上的交互式部署脚本。run_remote_deploy.py: 在本机 Windows 上通过 SSH 上传并启动deploy-neko.sh。
已实现的目标
x86_64默认部署ghcr.io/m1k1o/neko/google-chrome:latest,arm64自动切换ghcr.io/m1k1o/neko/chromium:latest。- 自动覆盖 Neko 镜像自带的 Chromium/Chrome policy 为
{},去掉默认企业管控。 - 首次启动通过
initial_preferences/master_preferences预装 Tampermonkey,并打开扩展开发者模式。 - 默认账号固定为:
- 普通用户:
live / 12345678 - 管理员:
admin / 12345678
- 普通用户:
- 每个实例独立目录、独立 profile、独立下载目录、独立用户文件、独立会话文件。
- 自动探测下一个可用 HTTP 端口、Display 编号、WebRTC UDP 端口段。
- 交互菜单内置实例
创建 / 列表 / 启动 / 停止 / 重启 / 删除,以及可选PortainerWeb 控制面板。 - 默认尝试放行服务器本机防火墙端口(
ufw/firewalld)。
服务端直接使用
chmod +x ./deploy-neko.sh
./deploy-neko.sh
常用命令:
./deploy-neko.sh list
./deploy-neko.sh create
./deploy-neko.sh start --name neko-1
./deploy-neko.sh stop --name neko-1
./deploy-neko.sh restart --name neko-1
./deploy-neko.sh remove --name neko-1
./deploy-neko.sh portainer
如果想先生成配置、不真正启动容器:
./deploy-neko.sh create --name smoke-test --yes --dry-run
Windows 本地一键上传并运行
本机已经有 python 和 paramiko 时,直接执行:
python .\run_remote_deploy.py
也可以显式指定:
python .\run_remote_deploy.py --host 192.168.2.179 --user eric
密码可用环境变量传入:
$env:NEKO_REMOTE_PASSWORD="你的SSH密码"
python .\run_remote_deploy.py
目录结构
默认所有实例都落在:
~/neko-instances/<实例名>/
每个实例至少包含:
docker-compose.ymlbrowser.confbrowser-prefs.jsonpolicies.jsonmembers.jsonsessions.jsonprofile/downloads/
我对 YouTube 直播环境的建议
脚本已经尽量把容器环境往“真实长期使用的浏览器”方向收:
- 使用真 Chrome(x86)而不是无头浏览器。
- 不使用 Selenium、Puppeteer、
--enable-automation、--remote-debugging-port这类明显自动化痕迹。 - 关闭 Neko 默认浏览器管控,保留独立持久化 profile,让 Cookie、登录态、浏览历史长期稳定。
- 保持固定实例、固定账号、固定 profile,不要频繁删容器和清 profile。
- 让服务器
TZ、语言、登录地区、出口 IP 长期稳定。
但要直接说明: Google/YouTube 是否降权 不能靠容器脚本“保证”。最关键的还是:
- 出口 IP 质量,优先住宅/稳定商宽,尽量避免脏数据中心 IP。
- 账号历史和行为稳定性,不频繁换设备特征、IP、语言、时区。
- 不要频繁重新登录、清 Cookie、重建 profile。
- 如果有反向代理,尽量上 HTTPS,避免纯 HTTP 下的会话和风控问题。
额外说明
- 现在脚本为了满足“权限尽量放开”的要求,容器使用了
privileged: true和seccomp=unconfined。功能上最省事,但安全边界最弱,只建议在你自己可控的服务器上使用。 - 如果后续你要继续极限优化,我建议下一步增加:
- 反向代理 + HTTPS
- 住宅代理 / 固定出口 IP
- 按实例自动生成二级域名
- GPU 加速镜像切换逻辑
- 自动备份
profile/与members.json