Files
gitlab-instance-0a899031_sh/neko/README.md
2026-04-09 21:01:21 -05:00

112 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Neko 一键部署脚本
当前目录包含两个文件:
- `deploy-neko.sh`: 运行在 Linux 服务器上的交互式部署脚本。
- `run_remote_deploy.py`: 在本机 Windows 上通过 SSH 上传并启动 `deploy-neko.sh`
## 已实现的目标
1. `x86_64` 默认部署 `ghcr.io/m1k1o/neko/google-chrome:latest``arm64` 自动切换 `ghcr.io/m1k1o/neko/chromium:latest`
2. 自动覆盖 Neko 镜像自带的 Chromium/Chrome policy 为 `{}`,去掉默认企业管控。
3. 首次启动通过 `initial_preferences/master_preferences` 预装 Tampermonkey并打开扩展开发者模式。
4. 默认账号固定为:
- 普通用户: `live / 12345678`
- 管理员: `admin / 12345678`
5. 每个实例独立目录、独立 profile、独立下载目录、独立用户文件、独立会话文件。
6. 自动探测下一个可用 HTTP 端口、Display 编号、WebRTC UDP 端口段。
7. 交互菜单内置实例 `创建 / 列表 / 启动 / 停止 / 重启 / 删除`,以及可选 `Portainer` Web 控制面板。
8. 默认尝试放行服务器本机防火墙端口(`ufw` / `firewalld`)。
## 服务端直接使用
```bash
chmod +x ./deploy-neko.sh
./deploy-neko.sh
```
常用命令:
```bash
./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
```
如果想先生成配置、不真正启动容器:
```bash
./deploy-neko.sh create --name smoke-test --yes --dry-run
```
## Windows 本地一键上传并运行
本机已经有 `python``paramiko` 时,直接执行:
```powershell
python .\run_remote_deploy.py
```
也可以显式指定:
```powershell
python .\run_remote_deploy.py --host 192.168.2.179 --user eric
```
密码可用环境变量传入:
```powershell
$env:NEKO_REMOTE_PASSWORD="你的SSH密码"
python .\run_remote_deploy.py
```
## 目录结构
默认所有实例都落在:
```text
~/neko-instances/<实例名>/
```
每个实例至少包含:
- `docker-compose.yml`
- `browser.conf`
- `browser-prefs.json`
- `policies.json`
- `members.json`
- `sessions.json`
- `profile/`
- `downloads/`
## 我对 YouTube 直播环境的建议
脚本已经尽量把容器环境往“真实长期使用的浏览器”方向收:
- 使用真 Chromex86而不是无头浏览器。
- 不使用 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`