Nipanii/youtube-ask-unlock
GitHub: Nipanii/youtube-ask-unlock
一个 Tampermonkey 用户脚本,通过在页面渲染层注入按钮元素来解锁 YouTube 在非支持地区隐藏的 Gemini「Ask」AI 问答面板,无需 VPN 或代理。
Stars: 0 | Forks: 0
# YouTube Ask 解锁
**无需 VPN。无需代理。无需切换账号。**
YouTube 在观看页面的“分享”旁边有一个 **Ask** 按钮,点击后会打开一个关于你正在观看的视频的 Gemini 面板。该功能是按地区逐步推出的,因此在世界上大多数地方,它根本不存在。
被限制的仅仅是*页面*。该按钮背后的服务在任何地方都能响应请求,使用普通的已登录会话,来自非美国 IP 地址,你的国家/地区信息会原样发送。美国 VPN 并不能解锁该功能。它改变的仅仅是 YouTube 是否愿意渲染这个按钮。
所以这个用户脚本就帮你把它画出来,并将点击事件交给 YouTube 原本使用的同一个 endpoint。这就是全部的诀窍。
## 安装
1. 安装 [Tampermonkey](https://www.tampermonkey.net/) 或
[Violentmonkey](https://violentmonkey.github.io/)。
2. 打开 [`youtube-ask-unlock.user.js`](youtube-ask-unlock.user.js) 并安装它。
3. 在登录状态下打开任意 YouTube 视频。
你需要处于登录状态。该面板使用你正常的 YouTube cookies 进行身份验证,因此在未登录状态下它将无法工作。
**在 Chrome 上**,必须开启三项内容:Tampermonkey 已启用,在 `chrome://extensions` 中启用了“开发者模式”,并且为该扩展程序启用了**允许用户脚本**。Tampermonkey 会就最后一项对你发出警告,但你很容易在点击时忽略它。
## 工作原理
YouTube 的服务器会在每次请求时决定是否将该按钮包含在观看页面的 payload 中。该按钮是 `ytInitialData` 中的一个元素,整个面板的定义(包括 token 等)都包含在其中。
该脚本会在 YouTube 解析之前拦截观看页面的响应,将该元素在替换了视频 ID 后重新拼接进去,然后让 YouTube 自己的组件来渲染它。面板没有任何部分被重新实现:标签、回答和输入框全都是 YouTube 原生的。
两个入口点都已覆盖,分别是初始页面加载和应用内导航,它们通过不同的 endpoint 进行处理。
每个请求仍然通过你自己的连接发送到 YouTube,并带有你所在的国家/地区信息。没有任何内容被隧道传输或伪造,因为根本不需要这样做。
在 [FINDINGS.md](FINDINGS.md) 中有一篇关于该限制实际运作方式的更长篇幅的分析,包括我在此过程中曾弄错的地方。
## 已知限制
**它附带了一个抓取的模板。** 该按钮元素是从 YouTube Web 客户端 `2.20260731.00.00` 的其中一个视频中抓取的。如果 YouTube 更改了其 continuation token 的结构,视频 ID 替换将停止匹配,脚本会静默失效。
**Endpoint 会变动。** 应用内导航目前通过 `/youtubei/v1/get_watch` 进行。它曾经是 `/youtubei/v1/next`,这也是大多数现有资料仍然引用的 endpoint。如果它再次变动,则需要对此进行更新。
如果出现故障,请提一个 issue。控制台输出的前缀为 `[youchat]`,包含它将使诊断速度大大加快。
## 它不做什么
它不会将你的数据发送到任何地方,不使用任何 API key,除了 YouTube 自身的服务器外,不与任何服务器通信。它不是那种读取字幕并将其转发给第三方模型(LLM)的扩展程序。这里的所有功能都是 YouTube 自己的功能,运行在 YouTube 自己的后端上。
## 鸣谢
由 Nipanii 制作。
- GitHub: [Nipanii](https://github.com/Nipanii)
- Reddit: [u/kurkkupomo](https://www.reddit.com/user/kurkkupomo)
- Telegram: [@Nipanii](https://t.me/Nipanii)
完全免费,并将一直保持如此。如果它为你节省了时间,你可以[请我喝杯咖啡](https://ko-fi.com/nipanii),但这里没有任何付费墙,也没有什么需要解锁的内容。
使用尚未在你所在地区发布的功能极有可能违反 YouTube 的服务条款。最现实的后果是它会停止工作。
标签:Tampermonkey, YouTube, 功能解锁, 数据可视化, 浏览器脚本, 策略控制器, 绕过区域限制