X/Twitter 年龄限制解除

[UI重构] 悬浮球控制 | 独立接口监听开关 | 暗黑模式 | 自动解析 X/Twitter 高清原图/视频 | 自动多级目录 | 发送至 Motrix | 🚫 彻底去除敏感内容遮罩

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

作者
cheng jack os
日安装量
5
总安装量
240
评分
1 0 0
版本
2.4.0
创建于
2026-01-31
更新于
2026-01-31
大小
33.1 KB
许可证
MIT
适用于

基于您提供的 `UserScript` 代码,这是一份详尽的功能描述与技术分析报告。

该脚本名为 **"X/Twitter High-Res Image to Motrix (Pro UI Version + Dark Mode)"**,是一个用于 Tampermonkey(油猴)的高级浏览器扩展脚本。它的主要作用是拦截 X (Twitter) 的网络流量,自动提取高质量媒体资源,并通过 RPC 协议发送给下载工具 Motrix(或任何支持 Aria2 RPC 的下载器),同时具备解除敏感内容遮罩和现代化的 UI 交互界面。

以下是详细的功能分析:

---

### 1. 核心功能概览

* **全自动媒体嗅探**:无需手动点击下载按钮,脚本会自动监听用户浏览的时间线、详情页和搜索结果,一旦加载出图片或视频数据,后台即刻解析。
* **最高画质获取**:
* **图片**:强制请求原图格式(`name=orig`),确保下载的是服务器存储的最高分辨率版本。
* **视频**:自动分析视频流的多个变体(Variants),按码率(Bitrate)排序,选取最高码率的 MP4 版本。


* **Motrix/Aria2 对接**:通过 JSON-RPC 接口将下载任务推送到本地运行的 Motrix 或 Aria2 服务,支持自定义 RPC 地址和密钥。
* **智能文件命名与归档**:
* 自动创建目录结构:`域名/发布者ID/描述_时间_序号.后缀`。
* 自动清理文件名中的非法字符(如 `|`, `*`, `?` 等)。


* **🚫 敏感内容解锁 (强力功能)**:通过底层拦截 API 响应,强制修改数据字段,去除“敏感内容”警告遮罩,直接展示媒体内容。
* **现代化 UI**:包含可拖拽的悬浮球、暗黑模式适配的配置面板、以及实时的 Toast 状态通知。

---

### 2. 详细功能拆解

#### A. 网络拦截与数据解析 (核心引擎)

脚本运行在 `document-start` 阶段,利用 **XHR Hook (XMLHttpRequest 劫持)** 技术实现对 X.com 数据流的完全控制。

1. **接口监听范围**:
* `UserTweets`:用户主页和时间线。
* `TweetDetail`:推文详情页(包含评论区)。
* `SearchTimeline`:搜索结果页。
* *配置项*:用户可在设置面板中独立开启或关闭上述任意接口的监听。


2. **JSON 数据清洗**:
* X 的 API 返回结构极其复杂(嵌套极深)。脚本通过递归查找 `instructions` -> `entries` -> `content` -> `tweet_results`,精准提取推文对象。
* 兼容普通推文、转发推文以及评论区中的媒体内容。
* 自动过滤广告内容。


3. **敏感内容解锁机制 (`unlockSensitive`)**:
* **原理**:重写了 `XMLHttpRequest.prototype.responseText` 的 `getter` 属性。
* **操作**:在浏览器前端渲染数据之前,脚本利用正则暴力替换 JSON 字符串中的关键字段:
* `"possibly_sensitive": true` ➔ `false`(欺骗前端该推文不敏感)。
* `"profile_interstitial_type": "sensitive_media"` ➔ `""`(移除主页级敏感警告)。
* 破坏 `mediaVisibilityResults` 结构,防止前端逻辑再次触发遮罩。





#### B. 下载任务构建与发送

1. **文件命名规范**:
* **作者**:取 `user_results.result.core.name` 或 `user_id_str`。
* **描述**:截取推文内容的前 50 个字符。
* **时间戳**:精确到秒(`YYYYMMDD_HHmmss`)。
* **序号**:多图推文会自动添加 `_p0`, `_p1` 等后缀。


2. **RPC 通信**:
* 使用 `GM_xmlhttpRequest` 跨域发送 POST 请求。
* 调用 Aria2 标准方法 `aria2.addUri`。
* 自动携带 `User-Agent`、`Referer` 和 `Origin` 头信息,防止下载请求被 X 服务器拒绝(403 Forbidden)。
* 设置了分片下载(Split: 8)和超时重试策略。



#### C. 用户界面 (UI) 与 交互体验

1. **悬浮控制球**:
* **图标**:使用 X 官方 SVG Logo。
* **状态反馈**:通过背景色实时反馈工作状态。
* 💜 **紫色**:空闲/就绪。
* 💛 **黄色**:正在发送 RPC 请求。
* 💚 **绿色**:推送成功。
* ❤️ **红色**:推送失败或连接错误。


* **交互**:支持任意位置拖拽,点击可展开/收起配置面板。位置会被记忆。


2. **配置面板**:
* **毛玻璃效果**:采用 `backdrop-filter: blur(15px)` 实现类似 iOS/Win11 的视觉效果。
* **暗黑模式 (Dark Mode)**:
* UI 代码中深度集成了暗黑模式样式。
* 既可以手动切换,也会根据配置自动调整。
* Toast 通知也会随之改变颜色风格。


* **热更新**:修改配置点击保存后立即生效,无需刷新页面(敏感内容解锁除外,需刷新加载新数据)。


3. **Toast 通知系统**:
* 在屏幕右上方弹出非阻塞式的通知气泡。
* 显示具体的成功文件名或错误原因。
* 具备进场/出场动画。



---

### 3. 配置选项详解 (Settings)

用户可以通过点击悬浮球打开面板,进行以下设置:

| 选项 | 默认值 | 描述 |
| --- | --- | --- |
| **启用总开关** | 开启 | 脚本的总电源,关闭后停止一切解析和推送。 |
| **解除敏感内容限制** | 开启 | 是否开启底层 JSON 替换功能,去除 NSM (Not Safe Media) 遮罩。 |
| **监听: 主页/时间线** | 开启 | 是否解析用户主页的数据流。 |
| **监听: 推文详情页** | 开启 | 是否解析单条推文详情页的数据流。 |
| **监听: 搜索结果页** | 开启 | 是否解析搜索页面出现的数据流。 |
| **RPC 地址** | `localhost:16800` | Motrix 或 Aria2 的 JSON-RPC 接口地址。 |
| **RPC 密钥** | 空 | 如果 Aria2 设置了 `rpc-secret`,需在此填入。 |
| **暗黑模式** | 关闭 | 切换配置面板和通知消息的视觉风格(深色/浅色)。 |
| **调试日志** | 关闭 | 开启后会在浏览器控制台 (F12) 输出详细的解析日志。 |

---

### 4. 技术依赖总结

* **API 权限**:
* `GM_xmlhttpRequest`:用于突破浏览器同源策略,向本地 RPC 端口发送请求。
* `GM_setValue`/`GM_getValue`:用于持久化存储用户的配置项和悬浮球位置。
* `GM_addStyle`:用于注入 CSS 样式。


* **运行环境**:
* 支持 Chrome/Edge/Firefox 等主流浏览器。
* 必须配合 **Motrix** 或 **Aria2** 后端服务使用,否则仅能解析无法下载。



### 总结

这是一个**“重后端逻辑 + 轻前端交互”**的高级脚本。它不仅仅是一个简单的下载器,更是一个针对 X 平台 API 及其前端渲染机制的“补丁”,解决了官方限制图片质量、敏感内容遮罩以及批量归档困难的痛点。代码结构清晰,模块化程度高(UI、解析、RPC 分离),具备较高的健壮性。