XBlocker

XBlocker

让 X 时间线少一点噪音。

简体中文 | English

GitHub Stars GitHub Issues MIT License Android 9+ LSPosed API 101 Latest Release Downloads

XBlocker 是一个 Android 原生 X 客户端(com.twitter.android)的 LSPosed 过滤模块。它在设备本地匹配规则,隐藏垃圾回复、推广内容和指定分类,并提供自定义关键词、正则、白名单、云端词库与诊断记录。

安装

  1. 安装本仓库 Release 中的 APK(模块包名:io.github.bileizhen.xblocker)。
  2. 在 LSPosed 启用 XBlocker,作用域只选择 X(com.twitter.android)。
  3. 强行停止 X 后重新打开,在 XBlocker 的“运行诊断”确认连接。

0.2.4 起包名遵循 io.github.bileizhen.xblocker。从 0.2.3 或更早版本升级时,需要在 LSPosed 中为新包重新配置作用域;旧包确认停用后再卸载。

功能

  • 按宿主接口自动选择过滤入口,兼容多个 X 版本。
  • 关键词、正则、@用户名白名单、导入导出和规则测试。
  • 同步 x-comment-blocker 词库并保留离线快照。
  • 支持 HyperOS 超级岛、焦点通知和流体云状态展示;可配合 HyperIsland 解锁系统限制。

源码与反馈

本模块与 X、LSPosed 及词库维护者没有隶属关系。

浏览量

:shell

Releases

0.3.2

Stable

9/22/2026, 5:09:18 PM

0.3.2

新增

  • 新增「隐藏桌面图标」开关。隐藏后可从 LSPosed 打开 XBlocker,关闭开关即可恢复图标。
  • 新增独立的「保留用户主页转帖」开关,默认开启。启用「屏蔽时间线转帖」后,仍保留用户主页里的转帖;关闭保留开关后,主页转帖也会被屏蔽。

修复

  • 区分时间线与用户主页请求,修复用户主页的转帖标签页被转帖过滤清空的问题。
  • 保留用户主页转帖不影响已有的广告和关键词过滤。

使用提示

  • 更新后请彻底关闭并重新打开 X,使新的过滤逻辑生效。
  • 桌面图标的隐藏或恢复可能需要等待桌面刷新。

验证

  • 101 项单元测试、9 项手机端测试、APK 构建和 Lint 检查通过。
  • 已验证与 0.3.1 签名一致,并在手机上成功覆盖安装。

0.3.2

Added

  • Added a "Hide launcher icon" switch. Open XBlocker from LSPosed and turn the switch off to restore the icon.
  • Added a separate "Keep profile reposts" switch, enabled by default. Profile reposts remain visible when timeline repost blocking is enabled; turn this new switch off to block profile reposts too.

Fixed

  • Distinguish timeline requests from user-profile requests so repost blocking no longer empties the profile reposts tab when profile reposts are preserved.
  • Keeping profile reposts leaves existing ad and keyword filtering in effect.

After updating

  • Fully close and reopen X to load the updated filtering logic.
  • Hiding or restoring the launcher icon may take a moment to appear on your launcher.

Verification

  • 101 unit tests, 9 on-device tests, APK build and Lint checks passed.
  • Confirmed the signing certificate matches 0.3.1 and successfully installed the update over the existing app on a phone.

SHA-256 (XBlocker-0.3.2.apk): c8190632ee91d68bbfadb6313821bacbdb20d3e24a79603284831e2ed64d66d3

Assets

1

0.3.0

Stable

9/11/2026, 7:11:04 AM

0.3.0

安装后一次性引导

  • 新增安装后的一次性设置引导:识别到会限制后台的厂商时提示一次,并跳转到最接近的系统页面。
  • 自启动:一加 / OPPO / realme(ColorOS)、小米 / 红米(MIUI / HyperOS)、华为(EMUI)可直接打开自启动列表;其他厂商回退到应用详情页。
  • 实时活动:跳转到本应用的系统通知设置。
  • 每次安装只提示一次,选择「暂不」后不再打扰。

状态与诊断

  • 修正「回报受阻」判定:上次 X 会话中回报通道受阻时,界面不再退回「等待 X 连接」,而是明确显示「上次 X 会话中回报通道受阻」,并保留 HMA-OSS / 应用隐藏的排查提示。
  • 诊断报告新增 xQueryIntercepted 字段:当模块激活标记存在、但 X 包被应用隐藏类模块拦截查询时记录下来,报告 README 同步说明,避免被误判为「未安装 X」。

应用内更新

  • 更新说明完整渲染分隔线、有序列表和行内代码。
  • 下载时显示进度条;服务器未返回长度时显示不确定进度。
  • 说明长度上限提升到 12000 字符,可完整展示双语更新日志。

验证

APK 构建和 lint 通过。


0.3.0

One-time post-install guide

  • Added a one-time post-install guide: it appears once on manufacturers known to restrict background work and deep-links to the closest system page.
  • Autostart: OnePlus / OPPO / realme (ColorOS), Xiaomi / Redmi (MIUI / HyperOS) and Huawei (EMUI) open the autostart list directly; other manufacturers fall back to the app details page.
  • Live activities: opens this app's system notification settings.
  • Shown once per install; choosing "Not now" stops the prompt.

Status and diagnostics

  • Fixed the "Reporting blocked" decision: when the bridge failed in a previous X session, the overview no longer falls back to "Waiting for X" but reports "Reporting was blocked in the last X session", while keeping the HMA-OSS / app-hiding hint.
  • The diagnostic report now records xQueryIntercepted: when the activation marker exists but the X package is hidden from this app's package queries, the report notes it and the README explains it, so it is not misread as "X not installed".

In-app update

  • Update notes now render horizontal rules, ordered-list items and inline code spans.
  • Downloads show a progress bar, indeterminate when the server sends no length.
  • The release-note cap is raised to 12000 characters to fit bilingual bodies.

Verification

APK build and lint pass.

Assets

1

0.2.9

Stable

9/9/2026, 2:05:31 AM

0.2.9

多语言

  • 新增简体中文、繁體中文、English 三种界面语言,默认跟随系统。
  • 在「设置 → 语言」切换;Android 13 及以上也可在系统设置的「应用语言」中单独指定。
  • 未支持的语言回退到英文;切换语言不影响规则、白名单与已有配置。
  • 仓库说明(含 LSPosed 模块页)新增英文版,顶部可切换。

验证

71 项单元测试、构建和 Lint 通过;3 项真机本地化测试覆盖英文、繁体中文与回退行为。


0.2.9

Localization

  • Added Simplified Chinese, Traditional Chinese and English interface languages, following the system language by default.
  • Switch under Settings → Language; on Android 13 and later you can also set a per-app language in system settings.
  • Unsupported languages fall back to English. Switching languages does not affect rules, the allowlist or existing configuration.
  • Repository READMEs (including the LSPosed module page) are now bilingual with a switcher at the top.

Verification

71 unit tests, build and lint pass; 3 on-device localization tests cover English, Traditional Chinese and fallback behavior.

Assets

1

0.3.1

Stable

9/13/2026, 3:57:42 PM

0.3.1

时间线转帖过滤

  • 新增「屏蔽时间线转帖」开关(默认关闭):移除时间线中的转帖并保留引用帖,独立于「仅过滤回复」、关键词和白名单。
  • 适配 X 12.25:通过社交上下文标记和 legacy.repostedStatusResults 识别转帖,仅检查外层推文,不误伤引用内容。
  • 拦截数量计入统计与诊断报告(新增 reposts 字段)。

更新弹窗

  • 更新说明改为独立滚动区域,下载源、进度和操作按钮固定在底部,长说明不再把按钮推出屏幕。
  • 主操作(下载更新 / 重试 / 请求安装)改为蓝色实心按钮。
  • 支持按住标题下滑关闭弹窗,未超过阈值自动回弹。

验证

75 项单元测试、APK 构建和 lint 通过。


0.3.1

Timeline repost blocking

  • Added a "Block timeline reposts" switch (off by default): removes reposts from timelines and keeps quote posts, independently of reply-only mode, keywords and the allowlist.
  • Adapted to X 12.25: reposts are detected through social context labels and legacy.repostedStatusResults, inspecting only the outer tweet so quote content is never affected.
  • Blocked reposts are counted in the stats and the diagnostic report (new reposts field).

Update dialog

  • Release notes now scroll in their own bounded region while the download source, progress and action buttons stay pinned to the bottom, so long notes no longer push the buttons off screen.
  • The primary action (download / retry / install) is now a filled primary button.
  • Drag the title down to dismiss the dialog; it springs back below the threshold.

Verification

75 unit tests, APK build and lint pass.

Assets

1

0.2.8

Stable

9/8/2026, 3:34:13 PM

0.2.8

流体云默认收起

  • 修复 0.2.7 起进入 X 时流体云展开卡片遮挡内容的问题:进入或返回 X 直接显示收起胶囊,计数更新不自动展开,点击胶囊仍可手动展开。
  • 已在一加 ColorOS 16.1 / Android 16 真机验证。需要启用系统界面作用域,覆盖安装后重启手机生效。

小米超级岛候选修复

  • 焦点通知资格识别覆盖由 X 进程发布、携带 XBlocker 业务标识的通知。
  • 启动模块或打开状态开关时创建已启用通道的通知渠道。
  • 如仍无法上岛,反馈时请注明使用的是原生通道还是焦点通知转换通道。

其他更新

  • 运行诊断及安装说明补充自启动 / 关联启动排查:已有用户反馈开启模块自启动后解决"必须保留后台才能拦截"。
  • 应用内更新说明支持 Markdown 展示。

验证

71 项单元测试、APK 构建和 lint 通过;ColorOS 分支回放确认自动卡片被抑制、手动展开路径保留;ColorOS 16.1 真机确认进入 X 默认收起。

Assets

1

0.2.7

Stable

9/8/2026, 6:59:08 AM

0.2.7 更新内容

作用域服务

  • 新增现代 Xposed 入口(API 101):LSPosed 据此向 XBlocker 交付作用域服务 Binder,旧框架继续使用原有入口,双入口并存。
  • 修复作用域申请协议:修正 Binder 事务号并随请求传递回调 Binder,授权结果现在能可靠送达应用;此前协议实现与 libxposed 服务定义不符,申请可能失败。
  • 授权操作在通知栏中完成(LSPosed 的实际行为),相关文案已同步更新。
  • 新增协议契约测试与真机可选测试,覆盖批准、拒绝、发送失败等路径。

状态显示

  • 概览新增**「回报通道受阻」**状态:模块已加载并正常过滤、但回报被拦(常见于应用隐藏工具)时,不再误显示为「等待 X 连接」。
  • 运行诊断与 README 新增 HMA-OSS 等应用隐藏工具的排查指引:确保 X 能看见 XBlocker(io.github.bileizhen.xblocker)。

其他

  • 64 项单元测试全部通过;签名与 0.2.6 一致,0.2.5 及以上用户可直接覆盖安装。
  • 反馈与问题请通过 Telegram 频道 或 GitHub Issues。

升级说明

  • 0.2.3 及更早版本为旧包名,请先卸载再安装,并在 LSPosed 中重新勾选作用域(可用「一键请求作用域」)。

Assets

1

0.2.6

Stable

9/7/2026, 2:49:47 PM

0.2.6 更新内容

作用域授权

  • 一键请求作用域(设置 → 流体云卡片):把 X 与系统侧完整作用域一次性提交 LSPosed,单个确认框完成授权
  • 自动提示:新版本新增系统侧作用域后,已开启「原生超级岛 / 流体云」的用户进入应用或打开开关时自动检测缺失项并引导授权;LSPosed 未提供服务接口的旧框架上退化为系统侧钩子标记检测 + 手动引导。
  • 每个版本最多提示一次,授权完成后不再打扰。

更新渠道

  • 设置页新增「更新渠道」选择栏(与下载源同组件):正式版(默认)/ 预发布(提前获取 rc 测试版本)。
  • 切换渠道立即重新检查更新;版本比较支持 alpha/beta/rc 后缀,不会向 rc 用户降级推送。

其他

  • 反馈与问题请通过 Telegram 频道 或 GitHub Issues。
  • 64 项单元测试、Lint 全部通过;签名与 0.2.5 一致,0.2.5 / 0.2.6-rc 用户可直接覆盖安装。

升级说明

  • 0.2.3 及更早版本为旧包名,请先卸载再安装,并在 LSPosed 中重新勾选作用域(可用「一键请求作用域」)。

Assets

1

0.2.8-rc.1

Pre-release

9/8/2026, 11:54:42 AM

0.2.8-rc.1 预发布

本版本用于验证流体云默认收起和小米超级岛兼容性。正式渠道继续使用 0.2.7;测试用户可在设置 → 更新渠道选择“预发布”。

流体云默认收起

  • 针对进入 X 时流体云自动展开遮挡内容的问题,加入仅作用于 XBlocker 实时拦截通知的自动提醒抑制。
  • 目标是进入或返回 X 时直接显示胶囊,计数更新不自动展开,点击胶囊仍能展开。
  • 已对保存的 ColorOS 16.1 系统插件完成自动/手动卡片筛选分支离线回放。尚未在用户设备验证;其他 ROM 的兼容性仍需反馈。
  • 请在 LSPosed 为 XBlocker 启用系统界面作用域,覆盖安装后重启手机使新 Hook 生效。

小米超级岛候选修复

  • 焦点通知资格识别覆盖由 X 进程发布、携带 XBlocker 业务标识的通知。
  • 启动模块或打开状态开关时创建已启用通道的通知渠道。
  • 尚未确认解决“0.2.4 可触发、0.2.7 不可触发”的所有情况;反馈时请注明使用的是原生通道还是焦点通知转换。

其他更新

  • 运行诊断及安装说明补充自启动 / 关联启动排查:已有用户反馈开启模块自启动后解决“必须保留后台才能拦截”。
  • 应用内更新说明支持 Markdown 展示。

验证与反馈

71 项单元测试、APK 构建和 lint 通过;ColorOS 分支回放确认自动卡片被抑制、手动展开路径保留。

重点反馈:连续进出 X 是否默认收起、点击胶囊能否展开、计数更新与离开后的撤销是否正常。请附手机型号、系统完整版本、相关开关状态及诊断日志。系统分支回放和本地测试不等同于真机验收。

Assets

1

0.2.5

Stable

9/7/2026, 12:28:59 PM

0.2.5 更新内容

流体云 / 超级岛

  • 原生超级岛 / 流体云与焦点通知拆分为两个独立开关:原生路线使用 Android 16 实时通知(ProgressStyle + promoted ongoing),完全不写入 miui.focus.param;小米焦点协议仅在单独开启「焦点通知转换」后使用。
  • 划掉后台后仍持续显示:实时状态通知改由 X 进程直接发布和更新,划掉 XBlocker 后台卡片不再清掉胶囊;已移除常驻「拦截监控」服务和电池优化豁免请求。
  • 修复 ColorOS 胶囊收起后消失:ColorOS 会在通知发布者就是前台应用时隐藏胶囊,模块现在自动为 X 申请前台豁免,使用 X 期间胶囊持续显示(ColorOS 16.1 实测)。
  • 修复胶囊图标变成感叹号:X 进程读不到模块资源时改为内嵌矢量渲染,不再回退系统警告图标。
  • 配置读取回退:LSPosed 共享偏好文件在每次写入后保持可读;厂商禁止 Provider 重启时,X 进程自动改读共享配置继续工作。

兼容钩子(新增系统侧作用域)

  • 小米:SystemUI 焦点通知白名单与签名校验放行(仅 XBlocker 自身通知)。
  • ColorOS:ASSISTANT 安全权限与媒体白名单入口放行、前台应用胶囊豁免。

其他

  • 关于页新增 Telegram 频道链接。
  • 59 项单元测试、Lint 全部通过。

升级说明

  • 0.2.4 用户可直接覆盖安装。
  • 0.2.3 及更早版本为旧包名,请先卸载再安装,并在 LSPosed 中重新勾选作用域(X 过滤需勾选 X;流体云/焦点兼容需勾选系统界面等系统作用域)。

Assets

1

0.2.4

Stable

9/7/2026, 7:42:44 AM

XBlocker 0.2.4

本版本将 LSPosed 模块包名切换为 io.github.bileizhen.xblocker,符合无域名模块的仓库规则。

  • 适配小米 HyperOS 超级岛,可配合 HyperIsland 解锁焦点通知限制。
  • 设置页“启动时自动检查更新”使用 Icons.Filled.Update。
  • 从 0.2.3 及更早版本升级时,请在 LSPosed 中为新包重新启用 X 作用域;旧包确认停用后再卸载。

源码:bileizhen/XBlocker

Assets

1

0.2.6-rc.2

Pre-release

9/7/2026, 2:00:52 PM

0.2.6-rc.2 预发布

这是测试版本,用于验证作用域授权提示与更新渠道功能,正式用户请继续使用 0.2.5。

新增:更新渠道选择

  • 设置页新增「更新渠道」选择栏(与下载源同组件):正式版(默认,仅稳定发布)/ 预发布(提前获取 rc 测试版本)。
  • 切换渠道后立即重新检查更新——0.2.5 用户切到「预发布」即可收到本版本。
  • 版本比较支持 alpha/beta/rc 后缀(正式 > rc > beta > alpha),不会向 rc 用户降级推送 beta。

新增:作用域授权提示(rc.1 引入)

  • 新版本新增系统侧作用域后,已开启「原生超级岛 / 流体云」的用户进入应用或打开该开关时,会自动检查所需作用域(系统界面始终需要;O 系设备另需三个流体云作用域)。
  • LSPosed 支持服务接口时,点击「去授权」直接弹出 LSPosed 系统级确认;不支持时退化为系统侧钩子标记检测 + 手动引导对话框。
  • 每个版本最多提示一次。

反馈重点

  • 从 0.2.5 升级后,设置 → 更新渠道切到「预发布」,是否立即收到 0.2.6-rc.2;
  • 进入应用是否出现「需要启用作用域」提示,授权后胶囊是否正常;
  • 从 0.2.6-rc.1 覆盖安装后是否不再重复提示作用域。

已知事项

  • 旧版 LSPosed(或不向旧 API 模块分发服务接口的分叉)会走回退路线,功能等价但需手动勾选。
  • 64 项单元测试、Lint 全部通过;签名与 0.2.5 一致,可直接覆盖安装。

Assets

1

0.2.6-rc.1

Pre-release

9/7/2026, 1:26:33 PM

0.2.6-rc.1 预发布

这是测试版本,用于验证作用域授权提示功能,正式用户请继续使用 0.2.5。

新增:作用域授权提示

  • 新版本新增系统侧作用域后,已开启「原生超级岛 / 流体云」的用户进入应用或打开该开关时,会自动检查所需作用域(系统界面始终需要;O 系设备另需三个流体云作用域)。
  • LSPosed 支持服务接口时,点击「去授权」直接弹出 LSPosed 系统级确认;不支持时退化为系统侧钩子标记检测 + 手动引导对话框。
  • 每个版本最多提示一次。

反馈重点

  • 升级后进入应用是否出现「需要启用作用域」提示;
  • 若出现,点击「去授权」是否弹出 LSPosed 授权界面(或在旧版 LSPosed 上显示手动引导);
  • 授权并重启系统界面后,使用 X 时胶囊是否正常显示。

已知事项

  • 旧版 LSPosed(或不向旧 API 模块分发服务接口的分叉)会走回退路线,功能等价但需手动勾选。
  • 59 项单元测试、Lint 全部通过;签名与 0.2.5 一致,可直接覆盖安装。

Assets

1