BrowserGuard

2026-01-07 10:17:47

项目概述⌗

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

规则配置示例⌗

{

"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