BrowserGuard - 智能浏览器监控工具,助力家长控制与学习管理
项目概述⌗
BrowserGuard 是一款专为家庭电脑学习管理设计的智能浏览器监控工具。基于 Electron + React + TypeScript 技术栈开发,支持 macOS 和 Windows 双平台,通过实时监控浏览器访问行为,帮助家长和孩子建立健康的上网习惯。
核心功能特性⌗
🎯 智能拦截系统⌗
- 实时监控:自动轮询规则接口,实时拦截游戏网站、短视频平台等娱乐内容
 - 多浏览器支持:兼容 Chrome、Edge、Safari、Firefox 等主流浏览器
 - 时间规则:支持按时间段设置不同的拦截规则,灵活配置学习/娱乐时段
 
🔒 安全保护机制⌗
- 管理员密码保护:仅管理员可退出应用,防止孩子绕过监控
 - 开机自启:macOS LaunchAgent/Windows 注册表自动启动
 - 单实例运行:确保系统只有一个监控实例在运行
 
⚙️ 灵活配置管理⌗
- 规则热更新:支持远程规则接口,新规则自动生效
 - 本地配置:密码和配置信息保存在本地,支持修改
 - 日志调试:详细的操作日志,便于问题排查
 
使用场景⌗
👨👩👧👦 家庭学习管理⌗
- 防沉迷控制:在孩子学习时间自动拦截游戏网站
 - 健康上网:限制短视频、社交媒体等娱乐内容访问
 - 时间管理:通过时间段规则,培养良好的作息习惯
 
🏢 企业自律场景⌗
- 工作专注:在工作时间拦截娱乐网站,提高工作效率
 - 网络安全:防止访问恶意网站,保护企业数据安全
 - 员工管理:帮助员工建立健康的上网习惯
 
🎓 教育机构应用⌗
- 机房管理:在学校的电脑机房统一管理学生上网行为
 - 学习环境:为学生创造专注的学习环境
 - 家长合作:与家长共同监督孩子的上网行为
 
技术架构⌗
技术栈⌗
- 框架:Electron (跨平台桌面应用)
 - 前端:React + TypeScript
 - 构建:Webpack + Electron Builder
 - 部署:GitHub Actions 自动化构建发布
 
核心模块⌗
BrowserGuard/
├── src/
│   ├── main/           # 主进程代码
│   ├── renderer/       # 渲染进程 (React)
│   └── shared/         # 共享类型定义
├── scripts/            # 跨平台脚本
├── build/              # 构建配置
└── docs/              # 项目文档
安装与使用⌗
快速开始⌗
1. 下载安装⌗
访问 GitHub Releases 页面,下载适合你系统的安装包:
- macOS: 
BrowserGuard-1.0.0-arm64.dmg - Windows: 
BrowserGuard Setup 1.0.0-ia32.exe 
2. 首次运行设置⌗
- 启动应用后自动显示首次运行设置界面
 - 设置管理员密码(默认为 
123456) - 配置规则接口 URL
 - 设置自动重载间隔(10-300秒)
 - 点击"完成设置"进入主界面
 
3. 权限授予⌗
- macOS: 首次启动会自动弹出"辅助功能"设置面板,请勾选 BrowserGuard
 - Windows: 需以管理员身份运行以便自动关闭浏览器进程
 
配置说明⌗
默认配置⌗
- 管理员密码: 
123456 - 规则接口: 
https://api.example.com/blocklist - 自动重载间隔: 30秒
 - 配置文件位置:
- macOS: 
~/Library/Application Support/BrowserGuard/config.json - Windows: 
%APPDATA%\BrowserGuard\config.json 
 - macOS: 
 
规则配置示例⌗
{
  "periods": [
    {
      "start": "08:00",
      "end": "12:00",
      "domains": [
        "poki.com",
        "4399.com",
        "douyin.com",
        "bilibili.com"
      ]
    },
    {
      "start": "14:00",
      "end": "18:00",
      "domains": [
        "youtube.com",
        "tiktok.com"
      ]
    }
  ]
}
界面功能⌗
1. 管理员登录界面⌗
首次启动或每次登录时,用户需输入管理员密码才能进入主界面。
2. Dashboard 主界面⌗
登录后显示当前规则、拦截时间段、受限域名等信息,并可进入配置设置。
3. 规则配置窗口⌗
可修改管理员密码、规则接口、自动重载间隔、调试模式等,支持热更新。
4. 检测到游戏网站自动关闭浏览器⌗
当检测到访问受限网站时,自动关闭浏览器并显示提示信息。
5. 退出确认窗口⌗
点击退出时需再次输入管理员密码确认,防止误操作。
开发与构建⌗
本地开发⌗
# 克隆仓库
git clone https://github.com/ltanme/BrowserGuard.git
cd BrowserGuard
# 安装依赖
npm install
# 开发模式
npm run dev
打包构建⌗
# 快速打包所有平台
./build.sh
# 只打包 macOS
./build.sh --mac
# 只打包 Windows
./build.sh --win
# 查看帮助
./build.sh --help
CI/CD 自动化⌗
项目配置了 GitHub Actions 工作流,支持自动构建和发布:
- 标签触发: 
git tag v1.0.0 && git push origin v1.0.0 - 手动触发: 在 GitHub Actions 页面手动触发构建
 
项目特色⌗
🌟 智能化设计⌗
- 基于时间规则:支持多个时间段和不同的域名组合
 - 实时监控:自动轮询规则接口,新规则立即生效
 - 跨平台兼容:Windows 和 macOS 分别处理配置文件路径
 
🔧 易用性⌗
- 图形化界面:直观的 Dashboard 界面,操作简单
 - 一键安装:提供 DMG 和 EXE 安装包,开箱即用
 - 详细文档:完整的使用说明和开发文档
 
🛡️ 安全性⌗
- 密码保护:管理员密码保护,防止未授权退出
 - 日志记录:详细的操作日志,便于审计和调试
 - 权限控制:系统级权限管理,确保监控有效性
 
总结⌗
BrowserGuard 是一款功能完善、设计合理的家长控制工具,不仅适用于家庭学习管理,还可以扩展到企业自律和教育机构场景。通过智能的规则配置和实时监控,帮助用户建立健康的上网习惯,实现真正的"防沉迷"管理。
项目采用现代化的技术栈,具有良好的可扩展性和维护性,是开源社区中不可多得的优秀作品。
项目地址: https://github.com/ltanme/BrowserGuard
技术栈: Electron + React + TypeScript
支持平台: macOS, Windows
开源协议: MIT License