全局重定向——把所有网络请求转发到中间层
什么是全局重定向
全局重定向是 uWeb 所有重定向能力里最强大的一个——一旦启用,浏览器的所有网络请求(包括 HTML 页面、图片、JS、CSS、API 等)都会被内部重定向到你指定的中间层 URL。
这个功能的核心价值是:你不需要一个个配置网站的镜像,只要配置一个全局重定向中间层,所有网站自动受益。
启用方式
- 长按 设置按钮
- 选中"自定义资源重定向"
- 在对应的输入框里填入全局重定向 URL
- 强制清空后台重启 uWeb
重定向 URL 的两种格式
全局重定向 URL 末尾字符决定了拼接规则:
以 /、? 或 = 结尾
https://xxx.pages.dev/redirect?
拼接方式:[全局URL] + [原始URL]
例如原始请求是 https://github.com/user/repo,实际请求变成:
https://xxx.pages.dev/redirect?https://github.com/user/repo
不以 /、?、= 结尾
https://xxx.workers.dev/
拼接方式:[全局URL] + '/'+ [scheme] + '/'+ [原始域名和路径]
例如原始请求是 https://github.com/user/repo,实际请求变成:
https://xxx.workers.dev/https/github.com/user/repo
重定向 URL 的部署
全局重定向 URL 本质上是一个反向代理——它接收你转发过去的原始 URL,从自己的服务器访问真实地址,再把内容返回给 uWeb。
官方文档给出了多种免费部署方式:
Cloudflare Pages
- Fork Gitee 上的 uweb 仓库,点上 Star
- 在 CF Pages 控制台选择"连接到 Git"→ 选中 uweb 项目
- 可选:给 Pages 绑定 CNAME 自定义域名
- 重定向 URL 填
https://xxx.pages.dev/redirect?(注意末尾有?)
Cloudflare Workers
官方提供了 CF Workers 重定向代码模板,部署后得到类似 https://xxx.workers.dev/ 的 URL。
Vercel
使用 torappinfo/vercel 仓库,一键部署。
Deno
使用 torappinfo/fetch 仓库的 deno.js 入口,部署到 Deno。
Val.town
Val.town 提供快速的代码托管和运行。
Genez.io
使用 torappinfo/redirect.genez 仓库。
为什么需要这功能
| 场景 | 没有全局重定向 | 有全局重定向 |
|---|---|---|
| 访问 GitHub | 卡或不通 | 中间层代理,秒开 |
| 查 Google 搜索 | 需要翻墙 | 中间层代理,国内直连 |
| 访问 Wikipedia | 需要翻墙 | 中间层代理 |
| 第三方 API 调用 | 可能被墙 | 中间层统一出口 |
Cookie 注意事项
⚠️ 重定向转发 cookie 设置:全局重定向可能允许登录情况下操作被重定向的网站。请确认你的全局重定向 URL 安全可靠,谨慎使用。不要把全局重定向 URL 指向你不信任的服务器——因为那个服务器会看到你所有的网络请求内容。
与 default.redirect 的关系
全局重定向和 default.redirect 是两个不同层级的机制:
| 特性 | 全局重定向 | default.redirect |
|---|---|---|
| 作用范围 | 所有网络请求 | 按域名配置的规则 |
| 生效条件 | 有有效全局 URL 时优先 | 仅在无有效全局 URL 时生效 |
| 复杂度 | 需部署中间层 | 只需编辑文本文件 |
| 灵活性 | 一个中间层处理一切 | 逐域名精细控制 |
两者可以共存——全局重定向优先,没有全局 URL 时 default.redirect 接管。