Skip to content

Repository files navigation

Light Browser

增强版轻量级浏览器服务,基于 Camoufox 构建,集成 noVNC 远程桌面功能。

功能特性

  • 🌐 Camoufox 浏览器服务: 提供 Chrome DevTools Protocol (CDP) 接口
  • 🖥️ noVNC 远程桌面: 通过浏览器直接查看和操作桌面环境
  • 📊 进程监控: 自动监控服务健康状态,异常时自动重启
  • 🔔 飞书通知: 服务异常时发送飞书机器人通知
  • 🐳 Docker 部署: 支持 Docker 和 Docker Compose 部署
  • 🔧 配置灵活: 支持环境变量配置

端口说明

  • 9222: Chrome DevTools Protocol (CDP) 端口
  • 6080: noVNC Web 界面端口

快速开始

1. 环境准备

确保已安装:

  • Docker
  • Docker Compose

2. 配置环境变量

# 复制环境变量模板
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

3. 启动服务

Linux/macOS

# 启动服务
./start.sh start
# 查看状态
./start.sh status
# 查看日志
./start.sh logs
# 停止服务
./start.sh stop

Windows

# 启动服务
start.bat start
# 查看状态
start.bat status
# 查看日志
start.bat logs
# 停止服务
start.bat stop

直接使用 Docker Compose

# 启动服务
docker-compose up -d
# 查看日志
docker-compose logs -f
# 停止服务
docker-compose down

4. 访问服务

启动成功后,可以通过以下地址访问:

使用说明

noVNC 远程桌面

  1. 打开浏览器访问 http://localhost:6080/vnc.html
  2. 点击 "Connect" 连接到远程桌面
  3. 可以在远程桌面中操作浏览器和其他应用

CDP 接口

可以通过 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秒(可配置)
  • 超过限制后停止自动重启

飞书通知

配置飞书机器人后,会在以下情况发送通知:

  • 服务启动成功
  • 服务异常重启
  • 重启失败
  • 进程意外终止

故障排除

常见问题

  1. 端口被占用

    # 检查端口占用
    netstat -tulpn | grep :9222
    netstat -tulpn | grep :6080
    # 修改 .env 文件中的端口配置
  2. 容器启动失败

    # 查看详细日志
    docker-compose logs
    # 检查资源使用情况
    docker stats
  3. 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_*.log

开发说明

目录结构

light-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 项目构建,请遵循相应的开源许可证。

About

轻量云浏览器

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages