Skip to content

Repository files navigation

TGClean

Telegram 消息净化模块(LSPosed 模块,基于 libxposed API 101):关键词/正则规则集过滤 + 每频道表情反应(reaction)白/黑名单过滤,配合"深挖检索"在大型资源频道里快速定位高价值消息,并自动移除 Telegram 官方赞助消息。

功能一览

  • 规则集过滤 — 创建可复用的关键词/正则规则集,一个规则集可勾选应用到任意多个频道;频道打开后自动发现进 App,无需手动填 ID
  • 每频道表情过滤 — 在 Telegram 频道菜单(⚡表情过滤)里直接为当前频道配置:
    • 白名单模式:只显示达标消息,如 ❤️ ≥ 10 且 👎 ≤ 20 ——资源频道快速捞高价值内容
    • 黑名单模式:达标即隐藏,如点踩数超阈值就藏掉
    • 支持双表情双阈值,标准 emoji 快速选择行(自定义表情 reaction 无法按字符匹配)
  • 深挖检索 — 高阈值筛选后整页被滤空时,模块自动向前翻找更早历史(TG 原生此时已无法滚动加载),页面底部悬浮徽标实时显示"已筛约 N/深度 · 达标 M 条",到底/耗尽会 Toast 告知而不是沉默"暂无消息"
  • 检索深度两级可配 — App 设置页配全局默认(默认 500 条);TG 内 ⚡弹窗可为单个频道覆盖(500/1000/2000/5000/1万,或自定义输入,上限 10 万)
  • 赞助消息移除 — 拦截官方 sponsored messages
  • 过滤不删消息 — 仅在消息进入聊天界面前剔除,TG 自身数据不受影响;重进频道可恢复
  • 热更新 — 规则保存后框架实时推送进 Telegram 进程,无需重启 TG(已在屏的消息需重新进入频道生效)

环境要求

  • Android 9+(API 28+)
  • LSPosed 需支持 libxposed API 101:上游 LSPosed stable 1.9.2 不支持(仅实现旧版注解 API),请使用实现了新 API 的分支(如 LSPosed_mod / JingMatrix 分支等)
  • 官方 Telegram(org.telegram.messenger)。TG 分叉(Plus/Neko 等)不在作用域,不受影响

安装与启用

  1. Releases 下载 TGClean-vX.Y.Z.apk(原始 APK,直接安装)
  2. 安装后打开 LSPosed → 模块,启用 TGClean
  3. 勾选作用域:Telegram(仅官方包名)
  4. 强制停止 Telegram(或重启手机)后重新打开
  5. 打开一次 TGClean App:显示设置页即服务连通正常;若一直停在"正在连接 LSPosed 服务",按页面超时提示逐项检查

使用方法

关键词规则集(App 内)

  1. TGClean App →「📦 规则集」→ 新建规则集(如"广告过滤")
  2. 进入规则集详情:添加关键词(可开正则)、勾选要应用的频道
  3. 频道列表来自"自动发现"——在 Telegram 里打开过的频道会自动出现;也可以在主页频道列表点任意频道,弹窗勾选它属于哪些规则集
  4. 全部改动即时生效(无需保存按钮;remote prefs 实时推送)

表情过滤(Telegram 内,推荐入口)

  1. 进入目标频道 → 右上菜单 → ⚡ 表情过滤
  2. 选择模式(白/黑名单)→ 快速选择目标表情 → 输入阈值 →(白名单可再加负面表情上限)→ 选择本频道检索深度(预设 500/1000/2000/5000/1万、"自定义…"输入任意值,或跟随全局默认)
  3. 保存:正常 1 秒内提示"规则已保存";MIUI 等强管控 ROM 下会自动走透明页兜底写入,极端情况按提示打开一次 TGClean App 重试
  4. 重新进入频道生效——已在屏的消息不会追溯过滤
  5. 菜单项标题实时反映当前规则(如 ⚡ 表情过滤:❤️≥10·只显

调试日志

App 设置页「调试日志」开关(默认关)。开启后 LSPosed 日志输出逐条过滤明细(含消息内容预览),用于排障;日常使用建议关闭以保护隐私。

已知限制

  • 自定义表情 reaction(付费/频道自定义)以 document_id 存在,无法按 emoji 字符匹配
  • 过滤从进入频道时刻开始,不追溯已在屏消息;重进频道生效
  • 关键词/正则基于消息文本;无文本的纯媒体消息不参与关键词匹配
  • 检索深度有上限(自定义最大 10 万条/频道),避免在超大频道无止境搜索;深度即单次进入频道内自动翻找的消息数预算
  • 签名用 keystore 随仓库公开(个人项目取舍,便于 CI 与覆盖安装);仅从本仓库 Release 或自行构建安装,不要安装来路不明的"同签名"包

构建

./gradlew assembleRelease

产物:app/build/outputs/apk/release/app-release.apk(R8 混淆 + 仓库 keystore 签名;密码可用环境变量 TGCLEAN_KS_PASS 覆盖,见 app/build.gradle.kts)。

  • 正式版 APK:从 Releases 下载(TGClean-v*.apk,tag 推送自动构建直传)
  • 测试版 APK:从 Actions 里测试分支 PR 的构建产物获取(TGClean-debug / TGClean-release);开发流程为测试分支验证通过后才合并发布

许可证

MIT

About

个人自用基于关键词过滤tg内的消息的lsp模块

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages