增强版轻量级浏览器服务,基于 Camoufox 构建,集成 noVNC 远程桌面功能。
- 🌐 Camoufox 浏览器服务: 提供 Chrome DevTools Protocol (CDP) 接口
- 🖥️ noVNC 远程桌面: 通过浏览器直接查看和操作桌面环境
- 📊 进程监控: 自动监控服务健康状态,异常时自动重启
- 🔔 飞书通知: 服务异常时发送飞书机器人通知
- 🐳 Docker 部署: 支持 Docker 和 Docker Compose 部署
- 🔧 配置灵活: 支持环境变量配置
- 9222: Chrome DevTools Protocol (CDP) 端口
- 6080: noVNC Web 界面端口
确保已安装:
- Docker
- Docker Compose
# 复制环境变量模板
cp .env.example .env
# 编辑配置文件
vim .env主要配置项:
# Camoufox 配置CAMOUFOX_PORT=9222# noVNC 配置 NOVNC_PORT=6080# 飞书机器人配置(可选)FEISHU_WEBHOOK=https://open.feishu.cn/open-apis/bot/v2/hook/your-webhook-keyFEISHU_SECRET=your-secret-key# 监控配置MONITOR_INTERVAL=30MAX_RESTART_COUNT=5RESTART_WINDOW=300# 启动服务
./start.sh start
# 查看状态
./start.sh status
# 查看日志
./start.sh logs
# 停止服务
./start.sh stop# 启动服务
start.bat start
# 查看状态
start.bat status
# 查看日志
start.bat logs
# 停止服务
start.bat stop# 启动服务
docker-compose up -d
# 查看日志
docker-compose logs -f
# 停止服务
docker-compose down启动成功后,可以通过以下地址访问:
- noVNC 界面: http://localhost:6080/vnc.html
- CDP WebSocket: ws://localhost:9222
- 打开浏览器访问 http://localhost:6080/vnc.html
- 点击 "Connect" 连接到远程桌面
- 可以在远程桌面中操作浏览器和其他应用
可以通过 CDP 接口控制浏览器:
// 连接到 CDPconstCDP=require('chrome-remote-interface');CDP(async(client)=>{const{Network, Page, Runtime}=client;awaitNetwork.enable();awaitPage.enable();// 导航到页面awaitPage.navigate({url: 'https://example.com'});// 等待页面加载awaitPage.loadEventFired();// 执行 JavaScriptconstresult=awaitRuntime.evaluate({expression: 'document.title'});console.log('页面标题:',result.result.value);});服务内置监控功能,会定期检查:
- Camoufox 进程状态
- VNC 相关进程状态
- 端口监听状态
当检测到异常时,会自动尝试重启服务。重启策略:
- 最大重启次数: 5次(可配置)
- 重启计数窗口: 300秒(可配置)
- 超过限制后停止自动重启
配置飞书机器人后,会在以下情况发送通知:
- 服务启动成功
- 服务异常重启
- 重启失败
- 进程意外终止
端口被占用
# 检查端口占用 netstat -tulpn | grep :9222 netstat -tulpn | grep :6080 # 修改 .env 文件中的端口配置
容器启动失败
# 查看详细日志 docker-compose logs # 检查资源使用情况 docker stats
noVNC 连接失败
# 检查 VNC 服务状态 docker-compose exec light-browser ps aux | grep vnc # 重启服务 ./start.sh restart
# 查看容器日志
docker-compose logs -f
# 查看应用日志(容器内)
docker-compose exec light-browser tail -f /app/logs/light-browser_*.loglight-browser/
├── Dockerfile # Docker 镜像构建文件
├── docker-compose.yml # Docker Compose 配置
├── start.py # 主启动脚本
├── start.sh # Linux/macOS 管理脚本
├── start.bat # Windows 管理脚本
├── .env.example # 环境变量模板
├── logs/ # 日志目录
└── README.md # 说明文档
可以通过环境变量自定义配置:
# 显示配置DISPLAY=:99# 监控配置MONITOR_INTERVAL=30# 监控检查间隔(秒)MAX_RESTART_COUNT=5# 最大重启次数RESTART_WINDOW=300# 重启计数窗口(秒)# 资源限制MEMORY_LIMIT=2G# 内存限制CPU_LIMIT=1.0# CPU 限制本项目基于原 Camoufox 项目构建,请遵循相应的开源许可证。