Skip to content

wowhao333/linuxdo-script-lite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Linux DO Script Lite

Linux DO 论坛助手脚本 (Chrome Extension)。
主要功能是帮助用户同步和管理屏蔽列表 (Blocklist),以及优化浏览体验。

⚠️ 免责声明

  1. 非官方项目: 本项目由第三方开发者维护,与 Linux DO 论坛官方无关。
  2. 个人选择: 屏蔽功能仅为辅助用户管理个人浏览体验的工具,属于用户个人行为。
  3. 中立性: 屏蔽列表的使用不代表对被屏蔽用户的任何评价,亦非用于引战或制造对立。请理性使用。

💡 开发目的

本项目命名为 Lite,旨在保持最精简的代码和功能。
摒弃非必要的功能堆砌,以确保脚本的轻量化、安全性及易维护性。

运行效果

运行效果预览

主要功能

🛡️ 屏蔽列表同步 (Blocklist Sync)

  • 远程同步: 从指定的远程 URL (如 GitHub Raw) 拉取屏蔽列表配置。
  • 双向同步模式:
    • Merge (合并模式): 仅添加远程列表中新增的用户,保留本地已屏蔽的用户。
    • Overwrite (覆盖模式): 强制与远程列表保持一致 (会取消屏蔽不在远程列表中的用户)。
  • Discourse API 集成: 直接调用论坛接口,无需手动刷新页面即可生效。

🚀 浏览体验优化 (Features)

  • 自动定位到主贴:
    • 进入帖子时,自动重定向到主楼 (第一条帖子),避免 Discourse 默认跳转到上次阅读位置或最新回复。
    • 智能判定: 仅在首次进入或切换帖子时触发,不会干扰正常的页面内滚动。

安装指南

  1. 下载本项目代码到本地。
  2. 打开 Chrome/Edge 浏览器,进入扩展程序管理页面 (chrome://extensions/)。
  3. 开启右上角的 开发者模式 (Developer mode)
  4. 点击 加载已解压的扩展程序 (Load unpacked)
  5. 选择本项目文件夹即可。

使用说明

  1. 扩展加载成功后,刷新 Linux DO 论坛页面。
  2. 页面右下角会出现一个 🛡️ 盾牌图标
  3. 点击图标打开设置面板:
  4. 面板底部的日志区域会显示操作反馈。

项目结构

本项目采用 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 改进本项目。

License

MIT

隐私政策(Privacy Policy)

Privacy Policy

About

Linux DO 论坛助手脚本 (Chrome Extension)。 旨在仅实现必要功能,提供轻量插件。目前主要功能是帮助用户同步和管理屏蔽列表与优化浏览体验。

Resources

Stars

Watchers

Forks

Contributors