Linux DO 论坛助手脚本 (Chrome Extension)。
主要功能是帮助用户同步和管理屏蔽列表 (Blocklist),以及优化浏览体验。
⚠️ 免责声明
- 非官方项目: 本项目由第三方开发者维护,与 Linux DO 论坛官方无关。
- 个人选择: 屏蔽功能仅为辅助用户管理个人浏览体验的工具,属于用户个人行为。
- 中立性: 屏蔽列表的使用不代表对被屏蔽用户的任何评价,亦非用于引战或制造对立。请理性使用。
本项目命名为 Lite,旨在保持最精简的代码和功能。
摒弃非必要的功能堆砌,以确保脚本的轻量化、安全性及易维护性。
- 远程同步: 从指定的远程 URL (如 GitHub Raw) 拉取屏蔽列表配置。
- 双向同步模式:
- Merge (合并模式): 仅添加远程列表中新增的用户,保留本地已屏蔽的用户。
- Overwrite (覆盖模式): 强制与远程列表保持一致 (会取消屏蔽不在远程列表中的用户)。
- Discourse API 集成: 直接调用论坛接口,无需手动刷新页面即可生效。
- 自动定位到主贴:
- 进入帖子时,自动重定向到主楼 (第一条帖子),避免 Discourse 默认跳转到上次阅读位置或最新回复。
- 智能判定: 仅在首次进入或切换帖子时触发,不会干扰正常的页面内滚动。
- 下载本项目代码到本地。
- 打开 Chrome/Edge 浏览器,进入扩展程序管理页面 (
chrome://extensions/)。 - 开启右上角的 开发者模式 (Developer mode)。
- 点击 加载已解压的扩展程序 (Load unpacked)。
- 选择本项目文件夹即可。
- 扩展加载成功后,刷新 Linux DO 论坛页面。
- 页面右下角会出现一个 🛡️ 盾牌图标。
- 点击图标打开设置面板:
- Blocklist Sync:
- Config URL: 输入包含用户名的文本文件 URL (每行一个用户名,支持
#注释)。 - Sync Mode: 选择同步模式 (Merge 或 Overwrite)。
- Sync Now: 点击按钮开始同步。
- Config URL: 输入包含用户名的文本文件 URL (每行一个用户名,支持
- Feature:
- Auto-redirect to Main Post: 勾选开启/关闭自动定位到主贴功能 (默认开启)。
- Blocklist Sync:
- 面板底部的日志区域会显示操作反馈。
本项目采用 Chrome Extension Manifest V3 架构,利用 Isolated World 和 Main World 的特性实现安全且强大的功能。
manifest.json: 扩展配置文件。src/isolated.js: 隔离环境脚本。- 负责渲染 UI 界面。
- 管理配置存储 (
chrome.storage)。 - 处理远程配置的 Fetch 请求 (通过 Background 转发以跨域)。
- 监听路由变化并触发重定向逻辑。
src/main_world.js: 主环境脚本。- 注入到页面上下文中运行。
- 获取 CSRF Token 和当前用户信息。
- 封装 Discourse API (
setIgnoreUser) 执行屏蔽操作。 - Hook 浏览器 History API (
pushState,replaceState) 以实现极速导航监听。
src/background.js: 后台服务 Worker。- 代理网络请求,解决 CORS 跨域问题。
欢迎提交 PR 或 Issue 改进本项目。
MIT
