更新文件

This commit is contained in:
QLHazycoder
2026-05-04 14:50:36 +00:00
parent 1c063dcd32
commit 3ae1fe702f
12 changed files with 1089 additions and 918 deletions
@@ -0,0 +1,62 @@
# 第一部分:相关项目地址与部署说明
## 部分信息
- `section_slug`: `project-and-deployment`
- `适用主题`: `cpa``sub2api`、项目地址、部署前提、部署环境
- `维护方式`: `直接更新本文件`
## 适用场景
- 需要拉取并部署 `cpa` 项目
- 需要拉取并部署 `sub2api` 项目
- 需要先确认项目地址和部署前提
## 准备内容
- 可以访问 `GitHub`
- 一个可用的本地目录或服务器目录
- 基础的 `git` 使用能力,或者可以手动下载压缩包
- 如果要部署 `cpa`,部署环境必须可以访问 `OpenAI`
## 操作步骤
### 第一步:确认项目地址
- `cpa` 项目地址:`https://github.com/router-for-me/CLIProxyAPI`
- `sub2api` 项目地址:`https://github.com/Wei-Shaw/sub2api`
先确认你本次要部署的是哪个项目,再决定后续拉取和配置范围。
### 第二步:拉取项目到本地
可以用 `git clone` 拉取,也可以直接下载压缩包后解压。
如果你准备后续持续更新,建议优先使用 `git clone`
### 第三步:确认部署方式
本教程只负责把项目地址和部署前提说明清楚,不在这里展开完整部署命令。
项目拉取到本地后,可以再让 AI 结合当前环境继续完成部署。
### 第四步:确认 `cpa` 的环境要求
如果你部署的是 `cpa`,部署所在环境必须可以访问 `OpenAI`
如果环境本身访问不到 `OpenAI`,后续认证流程可能会异常。
## 常见问题
### 为什么部署前要先分清 `cpa` 和 `sub2api`
因为两者仓库不同、运行方式不同、后续配置项也不同。
如果一开始就搞混,后面让 AI 继续部署时很容易走错方向。
### 为什么认证看起来成功了,但没有生成认证文件?
常见原因是 `cpa` 部署环境无法访问 `OpenAI`
这种情况下,前面看起来像是执行完成了,但关键结果并没有真正落盘。
## 注意事项
- 先确认本次目标项目,再继续部署
- 需要长期维护时,尽量用 `git` 拉取,而不是每次手动覆盖
- 部署 `cpa` 前,先确认环境确实能访问 `OpenAI`
@@ -0,0 +1,77 @@
# 第二部分:更新扩展
## 部分信息
- `section_slug`: `update-extension`
- `适用主题`: `git pull``GitHub Desktop`、手动下载覆盖、扩展重新加载
- `维护方式`: `直接更新本文件`
## 适用场景
- 已经安装过扩展,想更新到最新版本
- 想知道哪种更新方式更省事
- 更新完成后不知道浏览器里还要不要再操作一次
## 准备内容
- 当前扩展的本地文件夹
- 可以打开浏览器的 `扩展程序管理` 页面
- 至少具备下面 3 种更新方式中的一种:
- `GitHub Desktop`
- `git`
- 手动下载最新压缩包
## 操作步骤
### 第一步:选择更新方式
推荐优先级如下:
1. `git pull`
2. `GitHub Desktop`
3. 手动下载覆盖
### 第二步:使用 `GitHub Desktop` 更新
如果你已经把仓库交给 `GitHub Desktop` 管理,后续只需要在软件里拉取最新提交即可。
这种方式适合不想直接敲命令的人。
### 第三步:使用 `git pull` 更新
这是最方便、最推荐的方式。
1. 先安装 `git`
2. 打开终端
3. 执行 `cd 扩展文件夹路径`
4. 再执行 `git pull`
### 第四步:手动下载覆盖更新
如果你不用 `git`,也可以直接下载最新版本到本地,然后覆盖现有扩展文件夹。
这种方式适合临时更新,但不适合频繁维护。
### 第五步:重新加载扩展
不论你用了哪种更新方式,更新完成后都必须:
1. 打开浏览器的 `扩展程序管理`
2. 找到当前扩展
3. 手动点击一次 `重新加载`
## 常见问题
### 为什么我已经更新文件了,但浏览器里还是旧版本?
因为浏览器不会自动重新读取本地扩展目录。
如果你没有点击 `重新加载`,浏览器可能仍在继续使用旧版本。
### 哪种方式最推荐?
推荐使用 `git pull`
它最省事,也最适合长期更新。
## 注意事项
- 更新完成后一定要手动 `重新加载` 扩展
- 频繁维护时,尽量不要只靠手动下载覆盖
- 如果本地改动较多,执行 `git pull` 前先确认是否需要备份本地修改
@@ -0,0 +1,95 @@
# 第三部分:Cloudflare Temp Email 使用说明
## 部分信息
- `section_slug`: `cloudflare-temp-email`
- `适用主题`: `Cloudflare Temp Email``Admin Auth``Custom Auth`、随机子域、邮件接收
- `维护方式`: `直接更新本文件`
## 适用场景
- 需要把 `Cloudflare Temp Email` 用作 `邮箱生成`
- 需要把 `Cloudflare Temp Email` 用作 `邮箱服务`
- 需要同时配置 `Temp API`、认证信息、域名和收件邮箱
## 准备内容
- 一个可用的 `Cloudflare Temp Email` 后端地址
- 如果要使用随机子域,对应域名解析已经提前配置好
- 后端的 `admin auth`
- 如果站点额外设置了访问密码,对应的访问认证信息
- 一个真正用于接收转发邮件的收件邮箱
## 操作步骤
### 第一步:先确认当前用途
`Cloudflare Temp Email` 可以同时承担两类角色:
- `邮箱生成`
- `邮箱服务`
如果两边都选择了它,就需要把两套配置都填完整。
### 第二步:填写 `Temp API`
在插件中先填写 `Temp API`,例如:
- `https://your-worker-domain`
不论你把它用于 `邮箱生成` 还是 `邮箱服务`,这一项都必须先配好。
### 第三步:按需填写 `Admin Auth`
如果你把 `邮箱生成` 选择成 `Cloudflare Temp Email`,就需要填写 `Admin Auth`
它对应后端配置里的 `admin auth`
### 第四步:按需填写 `Custom Auth`
`Custom Auth` 只有在站点额外开启访问密码时才需要填写。
如果没有这层额外访问密码,留空即可。
它不会替代 `Admin Auth`
### 第五步:配置 `Temp 域名`
这里填写允许创建邮箱的基础域名。
即使你开启了 `随机子域`,这里仍然填写基础域名,而不是随机出来的子域名。
### 第六步:按需开启 `随机子域`
只有在 `邮箱生成 = Cloudflare Temp Email` 时,这一项才会生效。
启用前需要先确认:
- 后端已经配置 `RANDOM_SUBDOMAIN_DOMAINS`
- Cloudflare DNS 已经设置 `MX *`
### 第七步:作为 `邮箱服务` 时填写 `邮件接收`
如果 `邮箱服务` 也选了 `Cloudflare Temp Email`,还需要填写真正的收件邮箱。
后续转发邮件会送到这里。
### 第八步:查看后端搭建参考
如果你还没有部署后端,可以参考:
- `https://linux.do/t/topic/316819`
## 常见问题
### 为什么我明明配了 `Temp API`,还是不能生成邮箱?
先确认:
- `邮箱生成` 是否真的选了 `Cloudflare Temp Email`
- `Admin Auth` 是否正确
- `Temp 域名` 是否正确
### 为什么随机子域没有生效?
通常是因为后端没有配置 `RANDOM_SUBDOMAIN_DOMAINS`,或者 Cloudflare DNS 没有完成 `MX *` 设置。
## 注意事项
- 如果同时把它用作 `邮箱生成``邮箱服务`,要把两边相关字段都检查一遍
- `Custom Auth` 只有额外访问密码场景才需要填写
- 开启随机子域前,先确认后端和 DNS 已经准备好
@@ -0,0 +1,112 @@
# 第四部分:iCloud 隐私邮箱使用方法
## 部分信息
- `section_slug`: `icloud-private-email`
- `适用主题`: `iCloud+``隐藏邮件地址`、Apple ID、转发邮箱、插件刷新
- `维护方式`: `直接更新本文件`
## 适用场景
- 需要把 `iCloud+``隐藏邮件地址` 用作隐私邮箱
- 需要先在 Apple 设备上开通 `iCloud 邮件`
- 需要在插件中读取已经创建好的隐私邮箱
## 准备内容
- 一个已开通 `iCloud+` 的 Apple ID
- 一台可登录该 Apple ID 的 `iPhone``iPad``Mac`
- 一个真正用于接收转发邮件的邮箱
- 插件中可正常使用的邮箱服务配置
## 操作步骤
### 第一步:准备 Apple ID
如果条件允许,建议使用非日常主力 Apple ID。
这样即使后续触发风控,也不会影响你平时常用的账号。
### 第二步:在 `iPhone` 或 `iPad` 上启用 `iCloud 邮件`
1. 打开 `设置`
2. 点击顶部你的姓名
3. 进入 `iCloud`
4. 找到 `邮件`
5. 打开右侧开关
如果是首次开通,按提示创建一个 `@icloud.com` 主邮箱地址。
### 第三步:在 `Mac` 上确认 `iCloud 邮件` 已开启
1. 打开苹果菜单
2. 进入 `系统设置`
3. 点击你的姓名
4. 进入 `iCloud`
5. 确认 `iCloud 邮件` 已启用
### 第四步:进入 `隐藏邮件地址`
`iCloud` 页面往下找到 `iCloud+`,然后进入 `隐藏邮件地址`
### 第五步:先手动创建一批隐私邮箱
建议先手动创建一批,例如 `20` 个左右。
这样插件后续读取时更稳定,也更容易判断整个流程有没有打通。
同时确认 `转发至` 已经设置为你真正接收邮件的邮箱。
### 第六步:配置插件中的邮箱服务
在插件里把 `邮箱服务` 设置为你真正接收转发邮件的邮箱,并确认它能正常收信。
### 第七步:配置插件中的邮箱生成
1.`邮件生成` 选择为 `iCloud 隐私邮箱`
2. 先在网页中登录你的 `iCloud`
3. 回到插件的隐私邮箱配置区域
4. 点击刷新
5. 等待插件读取你已经创建好的地址
### 第八步:选择邮箱使用方式
建议优先使用 `复用未使用的`
如果你希望释放数量,可以勾选 `使用后删除`
如果不删除,这些地址可以保留为长期邮箱。
### 第九步:控制创建频率
建议每天最多新增 `3` 个左右。
测试中一天创建过多容易触发 `iCloud` 风控。
### 第十步:查看官方说明
- `Create a primary email address for iCloud Mail`
- `Create and edit Hide My Email addresses on iCloud.com`
## 常见问题
### 插件刷新后没有看到任何邮箱怎么办?
先确认:
- 你已经在网页里登录了 `iCloud`
- 你已经手动创建过隐私邮箱
- `转发至` 已经设置好
确认后,再回插件里刷新一次。
### 要不要勾选 `使用后删除`
如果你想及时释放可用数量,可以勾选。
如果你想把地址当长期邮箱保留,可以不勾选。
### 为什么不建议大量新建?
因为短时间创建过多容易触发 `iCloud` 风控,后面会影响正常使用。
## 注意事项
- 优先使用非日常主力 Apple ID
- 建议先手动创建一批地址,再让插件读取
- 一天不要大量新建,建议控制在 `3` 个左右
- 如果长期不删除,数量可能会较快达到上限
@@ -0,0 +1,58 @@
# 第五部分:QQ 邮箱切换邮箱使用教程
## 部分信息
- `section_slug`: `qq-mail-switch`
- `适用主题`: `QQ 邮箱`、英文邮箱、`Foxmail`、删除后重建
- `维护方式`: `直接更新本文件`
## 适用场景
- 当前 `QQ 邮箱` 地址需要切换
- 想继续复用同一个 `QQ 邮箱` 主账号
- 需要创建和删除英文邮箱、`Foxmail` 邮箱
## 准备内容
- 一个可以正常登录的 `QQ 邮箱`
- 可以访问 `账号与安全` 页面
## 操作步骤
### 第一步:登录 `QQ 邮箱`
先登录你当前正在使用的 `QQ 邮箱`
### 第二步:进入 `账号与安全`
打开:
- `https://wx.mail.qq.com/account/index?sid=zdd4Voy7S04uZjBnAKhFZQAA#/`
### 第三步:进入 `账号管理`
`账号与安全` 页面中找到 `账号管理` 入口。
### 第四步:创建英文邮箱和 `Foxmail` 邮箱
`账号管理` 中:
1. 创建一个英文邮箱地址
2. 再创建一个 `Foxmail` 邮箱地址
### 第五步:使用后删除并重新创建
这两个地址使用完后,可以直接删除。
删除后重新创建新的英文邮箱和 `Foxmail` 邮箱,就可以继续使用。
## 常见问题
### 这些地址删除后还能继续重复创建吗?
可以。
按原流程删除后,再创建新的英文邮箱和 `Foxmail` 邮箱即可继续使用。
## 注意事项
- 使用完成后尽量及时删除,避免混淆当前正在使用的地址
- 建议每次切换后都确认插件里使用的是最新邮箱地址
@@ -0,0 +1,114 @@
# 第六部分:PayPal 注册与绑卡使用教程
## 部分信息
- `section_slug`: `paypal-registration-and-card-binding`
- `适用主题`: `PayPal`、个人账户注册、绑卡、钱包、身份认证、通知处理
- `维护方式`: `直接更新本文件`
## 适用场景
- 需要注册 `PayPal` 个人账户
- 需要给 `PayPal` 绑卡
- 绑卡后需要处理通知或身份认证
## 准备内容
- 一个可正常接收短信的手机号
- 一张可在线支付的借记卡或信用卡
- 能正常访问 `PayPal`
## 操作步骤
### 第一步:打开注册页面
打开:
- `https://www.paypal.com/signin`
然后点击 `注册`
### 第二步:选择账户类型
选择 `个人账户`
### 第三步:选择国家或地区
如果你按中国大陆居民流程注册,直接在 `国家/地区` 中选择 `中国`
### 第四步:输入手机号并继续
按页面提示输入手机号。
如果出现短信验证,就先完成验证。
### 第五步:填写登录信息和个人信息
按页面提示填写:
- 邮箱
- 密码
- 姓名
- 出生日期
- 地址
- 联系方式
中国大陆居民注册时,姓名建议按身份证上的中文姓名填写,不要使用拼音。
### 第六步:完成邮箱确认
注册成功后,按页面或邮件提示确认邮箱地址。
如果页面继续要求验证手机号,也一并完成。
### 第七步:进入 `钱包` 或主页开始绑卡
注册完成后,进入主页或 `钱包` 页面,找到 `关联卡或银行账户`
### 第八步:选择关联借记卡或信用卡
点击 `关联借记卡或信用卡`,进入绑卡流程。
### 第九步:填写银行卡信息
按页面提示填写:
- 卡号
- 有效期
- 安全代码
- 账单地址
如果卡背面分成两段数字,安全代码通常取三位数那一段。
### 第十步:完成绑卡并检查结果
点击 `关联卡`
有时页面会提示报错,但卡实际上已经绑定成功,所以还要再回 `钱包` 页面确认一次。
### 第十一步:查看右上角通知并完成认证
如果页面右上角通知标红,或者提示账户需要认证,请按提示补交资料。
常见情况是上传身份证件。
## 常见问题
### 绑卡时报错怎么办?
先去 `钱包` 页面再确认一次。
有时页面虽然提示失败,但实际已经绑定成功。
如果还没成功,再检查:
- 账单地址是否正确
- 卡片是否支持在线支付
- 银行是否拦截了临时授权验证
### 右上角通知标红怎么办?
先点开通知,看具体要求。
如果要求 `Confirm your Identity` 或类似身份认证,就按提示补交资料。
## 注意事项
- 中国大陆居民注册时,姓名建议使用身份证上的中文姓名
- 新绑卡时可能会触发最高 `1 USD` 或等值货币的临时授权验证
- 更稳妥的做法是使用单独管理、余额较低的借记卡
- 绑卡后记得同时检查 `钱包` 页面和右上角通知
@@ -0,0 +1,58 @@
# 第七部分:ChatGPT Plus 订阅说明(待人工审核)
## 部分信息
- `section_slug`: `chatgpt-plus-subscription-review-needed`
- `适用主题`: `ChatGPT Plus`、订阅说明、支付流程说明、人工审核
- `维护方式`: `暂不交给前台教程 AI 自动维护`
## 适用场景
- 需要整理 `ChatGPT Plus` 相关订阅说明
- 需要区分“公开用户教程”和“内部测试脚本或特殊链路”
## 当前状态说明
旧版总教程里,这一部分包含了脚本、支付参数、地区参数和非常规 checkout 链路。
这类内容不适合继续作为普通用户教程正文自动扩写,也不适合继续直接喂给前台教程 AI。
## 后续处理建议
### 第一条:不要继续把这部分当作普通用户教程维护
后续如果只是要维护公开教程,请不要在这里继续追加脚本、参数构造或非常规支付链路。
### 第二条:如确需保留,转入内部资料目录
如果团队内部仍然需要保留原始测试材料,请单独移动到内部资料目录中管理,并加上人工审核说明。
### 第三条:如要面向普通用户写订阅说明,只能基于官方公开入口
后续如果要补一版“普通用户可读的 Plus 订阅说明”,建议只基于:
- 官方公开入口
- 官方帮助中心
- 常规支付与账户说明
不要继续沿用旧版中的非常规流程描述。
## 常见问题
### 为什么这一部分没有继续按旧内容拆成可直接发布的教程?
因为旧内容已经超出了普通用户教程的范围,不适合继续作为公开教程自动维护。
### 如果以后确实要补这部分,应该怎么做?
先人工确认范围,再决定:
- 是写“公开用户教程”
- 还是写“内部资料”
这两类内容不能继续混写在同一个分部分文件里。
## 注意事项
- 本文件当前是“待人工审核”的占位说明
- 不要把脚本、非常规支付链路或特殊参数继续并入公开教程
- 如果未来重写本部分,请优先采用官方公开资料
@@ -0,0 +1,165 @@
# 第八部分:Clash Verge 非港轮询配置
## 部分信息
- `section_slug`: `clash-verge-non-hk-rotation`
- `适用主题`: `Clash Verge``非港轮询`、扩展脚本、规则模式、系统代理
- `维护方式`: `直接更新本文件`
## 适用场景
- 需要在 [Clash Verge](https://github.com/clash-verge-rev/clash-verge-rev) 中启用 `🔁 非港轮询`
- 需要给现有订阅注入负载均衡分组
- 需要确保 `规则模式``系统代理` 生效
## 准备内容
- 已安装 [Clash Verge](https://github.com/clash-verge-rev/clash-verge-rev)
- 已导入可用订阅
- 可以打开 `订阅``代理` 页面
## 操作步骤
### 第一步:进入 `订阅` 并打开全局扩展脚本
1. 打开 `Clash Verge`
2. 进入左侧 `订阅``Profiles`
3. 找到并打开 `全局扩展脚本`
### 第二步:替换脚本内容
先清空旧内容,再粘贴下面脚本,然后保存。
```javascript
function uniqPrepend(arr, items) {
if (!Array.isArray(arr)) arr = [];
for (var i = items.length - 1; i >= 0; i--) {
var item = items[i];
var exists = false;
for (var j = 0; j < arr.length; j++) {
if (arr[j] === item) {
exists = true;
break;
}
}
if (!exists) arr.unshift(item);
}
return arr;
}
function upsertGroup(groups, group) {
for (var i = 0; i < groups.length; i++) {
if (groups[i] && groups[i].name === group.name) {
groups[i] = group;
return groups;
}
}
groups.unshift(group);
return groups;
}
function main(config, profileName) {
if (!config) return config;
if (!Array.isArray(config["proxy-groups"])) {
config["proxy-groups"] = [];
}
var groups = config["proxy-groups"];
var LB_NAME = "🔁 非港轮询";
var excludeRegex =
"(?i)(" +
"香港|hong[ -]?kong|\\bhk\\b|\\bhkg\\b|🇭🇰" +
"|剩余流量|套餐到期|下次重置剩余|重置剩余|到期时间|流量重置" +
"|traffic|expire|expiration|subscription|subscribe|reset|plan" +
")";
groups = upsertGroup(groups, {
name: LB_NAME,
type: "load-balance",
strategy: "round-robin",
"include-all-proxies": true,
"exclude-filter": excludeRegex,
url: "https://www.gstatic.com/generate_204",
interval: 300,
lazy: true,
"expected-status": 204
});
var injected = false;
var entryNameRegex = /节点选择|代理|Proxy|PROXY|默认|GLOBAL|全局|选择/i;
for (var i = 0; i < groups.length; i++) {
var g = groups[i];
if (!g || g.type !== "select") continue;
if (entryNameRegex.test(g.name || "")) {
if (!Array.isArray(g.proxies)) g.proxies = [];
g.proxies = uniqPrepend(g.proxies, [LB_NAME]);
injected = true;
}
}
if (!injected) {
for (var k = 0; k < groups.length; k++) {
var g2 = groups[k];
if (g2 && g2.type === "select") {
if (!Array.isArray(g2.proxies)) g2.proxies = [];
g2.proxies = uniqPrepend(g2.proxies, [LB_NAME]);
break;
}
}
}
config["proxy-groups"] = groups;
return config;
}
```
### 第三步:保存脚本
使用右上角保存按钮,或者按 `Ctrl+S` 保存。
### 第四步:切换到 `代理`
回到左侧 `代理``Proxies`)页面,也就是首页。
### 第五步:选择 `🔁 非港轮询`
在顶部常见的分组里,例如:
- `节点选择`
- `Proxy`
- `当前节点`
找到对应下拉框,然后选择 `🔁 非港轮询`
### 第六步:确认运行模式
继续确认以下两项:
1. `代理模式` 已设置为 `规则模式``Rule`
2. `系统代理``System Proxy`)已经开启
## 常见问题
### 为什么没有看到 `🔁 非港轮询`?
先确认:
- 脚本已经完整粘贴并保存
- 当前订阅本身可用
- 当前模式是 `规则模式`
- `系统代理` 已开启
### 粘贴脚本后报格式错误怎么办?
先确认是否把旧内容完全清空,再重新完整粘贴。
如果仍然报错,可以让 AI 只帮你修复脚本格式,不要同时改动脚本逻辑。
## 注意事项
- 粘贴新脚本前,先把旧脚本清空
- 必须完整保存后再去 `代理` 页面检查
- 如果更新了脚本逻辑,优先检查 `🔁 非港轮询` 是否仍被正确注入到选择分组中