灰色轨迹 - 精品网址导航站 一个优雅、快速、易于部署的书签（网址）收藏与分享平台，完全基于 Cloudflare 全家桶构建。 特性 • 版本亮点 • 快速部署 • 变量说明 • 在线体验: https://iori.hidns.vip 🖼️ 效果预览首页后台管理大卡片小卡片简洁风格夜间模式卡片的毛玻璃效果和程度可以在后台设置里自定义。后台设置页面为url后加 /admin✨ 核心特性📱 响应式设计：完美适配桌面、平板和手机等各种设备。🎨 主题美观：界面简洁优雅，支持自定义主色调。🔍 快速搜索：内置站内模糊搜索，迅速定位所需网站。📂 分类清晰：通过分类组织书签，浏览直观高效。🔒 安全后台：基于 KV 的管理员认证，提供完整的书签增删改查后台。📝 用户提交（可配置）：支持访客提交书签，经管理员审核后显示，可在环境变量中关闭入口。⚡ 性能卓越：利用 Cloudflare 边缘缓存，实现秒级加载，并极大节省 D1 数据库读取成本。📤 数据管理：支持书签数据的导入与导出，格式兼容，方便迁移。更新日志12-25 增加夜间模式，首页设置增加记住上次选择分类12-23 增加私密分类，导入和导出支持私密书签和分类，导入增加覆盖选项和预览框12-20 增加卡片风格设置，首页设置，允许自定义字体，字体大小，颜色，增加首页外部搜索开关12-19 增加360壁纸（速度较慢，轮询推荐bing），分类支持多级分类12-18 布局设置中增加卡片增加毛玻璃效果开关和滑动条设置，背景增加虚化开关和虚化程度设置12-17系统设置增加调整横向菜单和5列布局选项，同时允许隐藏卡片描述，链接，分类等系统设置增加自定义壁纸，通知提供bing在线壁纸选择（推荐使用Spotlight (Windows 聚焦)，这个壁纸质量不错）🔄 版本亮点🛡️ 后台会话安全升级：登录 /admin 时将颁发 12 小时有效的 HttpOnly 会话 Cookie，凭据不再暴露在 URL 中，并新增一键退出登录。🧹 输入与展示双重校验：新增 URL 规范化、HTML 转义与排序值归一化逻辑，前后台同时防止脏数据和潜在 XSS。🚪 访客投稿可控：通过 ENABLE_PUBLIC_SUBMISSION 环境变量即可关闭前台投稿入口，相关接口自动返回 403，方便运营期按需开关。⚙️ 增加AI一键自动生成描述：提供Workers AI,Google Gemini和OpenAI接口。📝 增加logo自动生成：默认使用 https://faviconsnap.com 接口，可在环境变量中自定义📦 导入导出数据：提供书签数据的导入与导出，支持chorme导出的html格式一键导入🚀 快速部署准备工作: 你需要一个 Cloudflare 账号。步骤 1: Fork 本仓库Fork 项目: 点击上方"Fork on GitHub"按钮，，并点上 Star !!!步骤 2: 部署到Cloudflare Pages点击上方"DEPLOY CLOUDFLARE PAGES"按钮,跳转到Cloudflare，然后选连接到Github，授权后选择刚才fork的项目点击开始设置后，需要填写 构建输出目录 为：public，其他保持默认即可。步骤 3: 创建D1数据库在 Cloudflare 控制台，进入 存储和数据库 -> D1 SQL数据库。点击 创建数据库，数据库名称输入 book，然后创建。步骤 4: 创建 KV 存储在 Cloudflare 控制台，进入 存储和数据库 -> Worker KV`。点击 创建命名空间，名称输入 NAV_AUTH。创建后，为此 KV 添加两个条目，用于设置后台登录的 用户名 和 密码。admin_username: 你的管理员用户名（例如 admin）admin_password: 你的管理员密码步骤 5: 绑定服务进入你刚刚创建的 Pages项目 的 设置 -> 绑定。点击 添加绑定，选择 D1 数据库：变量名称: NAV_DBD1 数据库: 选择你创建的 book点击 添加绑定，选择 KV 命名空间：：变量名称: NAV_AUTHKV 命名空间: 选择你创建的 NAV_AUTH步骤 6: 重新部署点击项目的 部署 选项，在最后一次的部署后边，选择重新部署，等待部署完成，绑定自定义域名即可开始使用。🔑 环境变量说明变量名默认值必填备注ENABLE_PUBLIC_SUBMISSIONfalse❌允许访客添加书签SITE_NAME灰色轨迹❌网站名称以及首页显示名称SITE_DESCRIPTION一个简单易用的书签导航系统❌首页副标题FOOTER_TEXT曾梦想仗剑走天涯❌首页页脚ICON_APIhttps://faviconsnap.com/api/favicon?url=❌图标APIAI_REQUEST_DELAY1500❌AI一键补全描述时的调用间隔DISPLAY_CATEGORY无❌首页默认显示分类，如设置 常用推荐 ，访问首页就默认显示常用推荐的书签注意: 我使用免费的Gemini的api key，模型使用gemini-2.5-flash-lite,限制是15次/1分钟,自己看实际情况进行设置管理后台安全后台管理页面地址为： https://自定义域名/admin后台登录凭据依然存放在 NAV_AUTH KV 中的 admin_username 与 admin_password 两个键内。登录 /admin 时需要在页面表单中输入账号与密码，系统会返回一个 12 小时有效的 HttpOnly 会话 Cookie，无需、也不再支持在 URL 查询参数中传递凭据。点击后台右上角的“退出登录”按钮即可立即销毁会话。🔧 技术栈计算: Cloudflare Workers数据库: Cloudflare D1存储: Cloudflare KV前端框架: TailwindCSS🌟 贡献欢迎通过 Issue 或 Pull Request 为本项目贡献代码、提出问题或建议！Fork 本仓库创建你的功能分支 (git checkout -b feature/amazing-feature)提交你的更改 (git commit -m 'Add some amazing feature')推送到你的分支 (git push origin feature/amazing-feature)创建一个 Pull Request📄 许可证本项目采用 MIT 许可证。📞 联系方式项目作者: @灰色轨迹项目链接: https://github.com/jy02739244/iori-nav如果你喜欢这个项目，请给它一个 ⭐️！星星走起