常见问题 FAQ
如果你遇到的问题没有在此列出,欢迎在 GitHub 提交 Issue 或 Discussion。
Cloudflare快速部署报错: An unknown error occurd
这可能是GitHub/GitLab 授权问题:
解决步骤:
- 访问 https://github.com/settings/installations
- 找到
Cloudflare Workers and Pages应用 - 卸载该应用
- 重新通过部署按钮授权
仓库同步
问:如何让自己的 Fork 跟上游保持一致?
- 打开你 Fork 的仓库主页,点击右上角的 Sync fork 按钮即可。
- 或者本地执行
git remote add upstream https://github.com/7Sageer/sublink-worker.git,再通过git fetch upstream && git merge upstream/main同步。
问:使用 Vercel/Cloudflare 快速部署按钮后,如何同步上游更新?
通过快速部署按钮创建的仓库是独立克隆而非 Fork,因此无法使用 GitHub 的 "Sync fork" 功能。以下是几种同步方式:
方法一:手动添加上游远程仓库(推荐)
bash
# 克隆你的部署仓库
git clone https://github.com/你的用户名/你的仓库名.git
cd 你的仓库名
# 添加上游仓库
git remote add upstream https://github.com/7Sageer/sublink-worker.git
# 拉取上游更新
git fetch upstream
# 合并上游更新到你的 main 分支
git checkout main
git merge upstream/main
# 解决可能的冲突后,推送到你的仓库
git push origin main推送后,Vercel/Cloudflare 会自动触发重新部署。
方法二:删除并重新部署
如果你没有对代码进行自定义修改:
- 删除 Vercel/Cloudflare 上的现有项目
- 删除 GitHub 上自动创建的仓库
- 重新点击快速部署按钮
方法三:推荐做法 - 先 Fork 再部署
为了更方便地同步后续更新,建议采用以下流程:
- 先在 GitHub 上手动 Fork 原始仓库
- 在 Vercel/Cloudflare 中导入你 Fork 的仓库进行部署
- 后续可直接在 GitHub 使用 Sync fork 按钮同步更新
TIP
如果你已经通过快速部署创建了项目,可以考虑迁移到 Fork 方式以便于后续维护。
访问与域名
问:为什么生成的订阅在国内无法访问?
*.workers.dev域名在国内地区经常被阻断。- 建议在 Cloudflare Pages/Workers 中绑定自定义域名,并将解析托管在 Cloudflare,以便灵活配置 Rules/SSL。
- 如果暂时无法绑定,可使用代理访问或将订阅拉取逻辑部署在海外服务器。
KV 持久化
问:Node/Docker 部署时怎样确保 KV 持久化?
- 推荐使用仓库自带的
docker-compose.yml:它会同时启动 Redis 7,并加载redis.conf以启用 RDB 快照,数据写入redis-data卷。 - Compose 默认使用 GitHub Actions 推送的镜像
ghcr.io/7sageer/sublink-worker,可通过SUBLINK_WORKER_IMAGE改为自建镜像。 - 若倾向托管 KV,可配置
KV_REST_API_URL&KV_REST_API_TOKEN直连 Upstash/Vercel KV;当两者都未设定时会回退到内存存储,可用DISABLE_MEMORY_KV=true禁止。
其他建议
- 保存基础配置或短链前,确保 Worker 已连接到持久化 KV。
- 如果你替换了默认规则集或添加新的语言,请务必在 PR 中更新文档。
- 反馈问题时建议附带:部署方式、运行时日志、输入样例以及 Worker 版本,便于排查。