一个简单的 Chrome 浏览器扩展,用于阻断用户指定的网站。访问被阻断的网站时,必须输入正确密码才能继续访问。
- 阻断用户指定的网站
- 输入正确密码后临时放行
- 支持单页应用(SPA)导航拦截
- 在扩展弹窗中管理阻断列表和已解锁列表
- 自定义访问密码
- 可选锁定页面样式:默认锁定页、伪装网络错误、网站维护
- 下载或克隆本项目到本地。
- 打开 Chrome 浏览器,进入
chrome://extensions/。 - 打开右上角「开发者模式」。
- 点击「加载已解压的扩展程序」,选择本项目文件夹。
- 扩展图标会出现在浏览器工具栏中。
- 点击浏览器工具栏中的 SiteLock 图标,打开设置弹窗。
- 在「锁定页面」下拉框中选择拦截样式:默认锁定页、网络错误或网站维护。
- 在「添加要阻断的网站」输入框中填写域名,例如
example.com或www.example.com,点击「添加」。 - 访问被阻断的网站时,会跳转到选定的锁定页面。
- 输入正确密码(默认
123456),点击「解锁」即可访问。 - 解锁后,该域名会显示在弹窗的「本次已解锁的网站」列表中。
- 点击「清除本次解锁状态」可重新锁定已解锁的网站。
- 在弹窗顶部的密码框中可修改访问密码。
提示:选择「网络错误」或「网站维护」样式后,在锁定页面按
Esc键可调出密码输入框。
| 文件 | 说明 |
|---|---|
manifest.json |
扩展配置文件(Manifest V3) |
background.js |
Service Worker,负责拦截网页导航 |
blocked.html |
锁定页面,提示输入密码 |
blocked.js |
锁定页面逻辑,验证密码并放行 |
content_script.js |
内容脚本,处理 SPA 页面路由变化 |
popup.html |
扩展弹窗界面 |
popup.js |
扩展弹窗逻辑,管理阻断列表和密码 |
- 本扩展密码以明文形式存储在浏览器本地存储中,请勿用于高安全需求场景。
- 解锁后域名会加入已解锁列表,直到手动清除或重启浏览器。
- 如果扩展未生效,请尝试在
chrome://extensions/中点击 SiteLock 的刷新按钮重新加载。
storage:保存阻断列表、已解锁列表和密码tabs:跳转锁定页面webNavigation:监听网页导航事件进行拦截<all_urls>:对所有 URL 生效
MIT