banner
约 1,500 字
5 分钟

不用服务器的个人导航面板:CF-Navs,Cloudflare Workers 一键部署

摘要

作者因 Sun Panel 停更收费,转而使用 CF-Navs 项目。部署需在 Cloudflare 创建 KV 和 D1 数据库,配置 Worker,设置 SETUP_TOKEN,绑定资源并添加域名。安装完成后可导入 Sun Panel 的 JSON 备份,支持自定义分类和站点设置。

前言

做自托管、搞导航页的朋友,多半都听过或用过 Sun Panel(一个开源的个人导航面板)。说实话它挺好用的,也满足了我大部分需求。但后来作者似乎把精力完全转去做收费版本了——我一直在用的版本一年多没更新,而且还是闭源的。一个不更新又闭源的东西,总让人有点不放心,于是我开始物色替代品。

最后找到了 CF-Navs 这个项目。它的作者也是 Sun Panel 的老用户,所以自己做的新项目,用起来很贴合老用户的需求和习惯,几乎没有学习成本。更重要的是,它完全跑在 Cloudflare 上(Workers + D1 + KV),不用自己买服务器,对个人使用来说免费又稳定。

如果你也在找一个"不用服务器的个人导航面板",这篇文章值得一看。项目地址:https://github.com/lbjxr/CF-Navs

CF-Navs 导航面板效果

部署

整体流程:Fork → 建 KV → 建 D1 → 关联部署 → 配构建命令 → 加 SETUP_TOKEN → 绑定存储 → 绑域名 → 初始化安装。一步步来。

第 1 步:在 GitHub 上 Fork 仓库

先打开 CF-Navs 的 GitHub 仓库,点 Fork,把它复制到你自己账号下,方便后续关联部署。

第 2 步:创建 KV 命名空间

进入 Cloudflare 控制台,创建一个 KV 命名空间(KV 是 Cloudflare 的键值存储服务,用来存导航的一些配置/缓存数据)。给它起个名字(比如 cf-navs-kv),创建好。

创建 KV 命名空间

第 3 步:创建 D1 数据库

同样在 Cloudflare 控制台,创建一个 D1 数据库(D1 是 Cloudflare 的 SQL 数据库,导航链接、分类这些结构化数据就存这里)。起个名(如 cf-navs-db)创建好。

创建 D1 数据库

第 4 步:进入 Workers & Pages,关联 GitHub 导入

进入 Workers & Pages,选择关联 GitHub 导入,授权后选中你第 1 步 fork 出来的 CF-Navs 仓库。

在 Workers & Pages 导入 CF-Navs 仓库

第 5 步:配置构建与部署命令

在部署配置里:

  • 生产分支main

  • 构建命令npm run build

  • 部署命令npx wrangler deploy

配置好后触发部署。

配置分支和构建/部署命令

第 6 步:添加 SETUP_TOKEN 加密 Secret

首次部署完成后,进入这个 Worker 的 设置 → 变量和密钥,添加一个加密 Secret(Encrypted Secret),键名 SETUP_TOKEN,值用一个足够长的随机字符串(这个 token 是后面初始化安装的"门禁",用来防止别人抢注管理员)。

在 Worker 设置中添加 SETUP_TOKEN

💡 随机字符串可以用密码管理器生成,或用 openssl rand -hex 32 之类命令生成。

第 7 步:绑定 D1 和 KV

打开 Worker 的 绑定(Bindings) 页面,把 D1KV 的绑定,改成你第 2、3 步刚创建的那两个资源(通常绑定的变量名要和项目代码里写的一致,按项目 README 或默认名对应)。

绑定 D1 和 KV

⚠️ 改完绑定后,通常需要重新部署一次让绑定生效。

第 8 步:绑定自定义域名

打开 Worker 的 域(Domains) 页面,添加你的自定义域名,方便访问。

绑定自定义域名

第 9 步:初始化安装

访问:

纯文本
https://你的站点/install

输入第 6 步设置的 SETUP_TOKEN,然后创建管理员用户名和密码

访问 /install 初始化安装

第 10 步:删除 SETUP_TOKEN 并登录后台

确认安装和登录都成功后,删除或轮换 SETUP_TOKEN(防止被人再次通过 /install 页面篡改),然后重新打开页面进入后台。

安装成功后进入后台

使用:导入旧数据 + 添加导航

设置方法这里不多展开,核心就两件事:

  1. 添加分类和网站链接:进后台后,建分类、加链接,把你想收藏的站点一个个加进去即可。

  2. (强烈推荐)直接导入 Sun Panel 备份:如果你之前用过 Sun Panel,CF-Navs 支持直接导入 Sun Panel 导出的 JSON 备份文件,数据一下就迁移过来了,非常方便。

站点设置项也挺多,主题、样式、布局都能自定义,可以充分展示你的个性。

常见问题与排错

1. 部署后访问 /install 没反应或 404

  • 确认 SETUP_TOKEN 已正确添加且已重新部署。

  • 确认 D1、KV 绑定已生效。

2. 添加了 SETUP_TOKEN 仍能被人 /install 抢注

  • 检查是不是还没真正绑定成功,或初始化后忘了删除 SETUP_TOKEN(第 10 步很重要)。

3. 导入 Sun Panel JSON 失败

  • 确认用的是 Sun Panel 导出的备份 JSON(不是别的格式),文件结构要匹配。

4. 自定义域名打不开

  • 检查 DNS 是否生效、证书是否正常,刚绑定可能需要等一会儿。

我的结论

从 Sun Panel 换到 CF-Navs,最让我满意的是终于不用再担心"作者跑路、项目停更"了——它跑在 Cloudflare 上,开源、免费、不用自己养服务器,还支持直接导入旧数据,迁移几乎无痛。

要说和 Sun Panel 的差异,主要是它依赖 Cloudflare 生态(Workers/D1/KV),如果你本来就在用 Cloudflare,那几乎零门槛;如果完全没用过,需要先熟悉一下 Cloudflare 那套概念。但对玩自托管的人来说,这通常不是问题。

如果你也想要一个不用服务器、长期有人维护的开源导航面板,CF-Navs 很值得一试,按上面的步骤半小时内就能搭好。

END