授权码

拥有授权码代表您在发现导航拥有所有使用权,永久授权代表您拥有商业使用权和版权

授权码的作用是在系统后台绑定域名使用。

对于自有部署通常用不上,在导出书签时会有用。

对于非自有部署(Fork),用于用户收录、链接信息查找、导出书签,务必在后台绑定域名使用

Fork or 自有部署

Fork 成本较低,缺点每次保存需要等待2-5分钟时间构建,且对网络有一定的要求,目前市面上的部署服务端都是有一定的免费限额,GitHub 2000分钟,Netlify 300分钟, 如果需要频繁的更新数据,可能不太适合您。

自有部署 成本较高需要服务器或本地部署,优点快速、安全、稳定

Fork 部署

按照仓库文档流程部署,这里不作详细讲解,推荐使用 Netlify 、 Vercel 、Cloudflare 访问速度较快。

构建目录填写为:dist/browser

Docker 部署(推荐)

docker run -d -p 8081:7777 --name nav --restart=always docker.io/xjh22222228/nav

访问网站 http://localhost:8081

添加数据卷持久化数据

docker run -d \
  -p 8081:7777 \
  -v /localyourpath/upload:/app/_upload \
  -v /localyourpath/data:/app/data \
  --name nav \
  --restart=always \
  docker.io/xjh22222228/nav

Docker compose 部署

docker-compose.yml

version: '3'
services:
  nav:
    image: docker.io/xjh22222228/nav
    container_name: nav
    ports:
      - "8081:7777"
    restart: always

启动

docker-compose up -d

pm2 部署

需要安装 Node.js >= 20.17.0

pm2 部署需要自行打包项目,至少要在 4g 以上内存,如果达不到需要自己在本机打包好把 dist 放在运行服务器项目根目录。

1、克隆代码下来 git clone -b dev --depth=1 https://codeberg.org/xjh22222228/nav.git ,没有 git 就直接下载 zip 后解压

2、修改配置文件 nav.config.yaml 相关字段,具体看作者 README 描述配置信息, 只需要修改 address: '/'

3、安装依赖并打包 npm i -g pnpm && pnpm i && npm run build

4、启动服务 npm run server:prod

5、尝试访问网页 http://localhost:7777

一定要严格按照以上顺序操作, 顺序不对可能导致部署失败。

重启服务 pm2 restart all
停止服务 pm2 stop all
删除服务 pm2 delete all

宝塔自有部署

原理同上,使用 pm2Docker

后台

访问域名后面加 /system, 如果是hash模式 /#/system

默认登录密码为 admin, 你可以在 nav.config.yaml 修改 password 字段,修改即可生效,无需重启服务, 或者在后台系统管理配置信息修改。

新增网站

在新增网站时链接开头填入 @^

@/side 可以无刷新跳转系统导航

^https://example.com 在当前页面跳转第三方链接

营销广告

你可以在某些主题的 Banner 或者 侧栏图片块 新增图片作为广告

为了更灵活插入广告,你可以使用JS代码,只需要在最前面增加 ! ,小组件HTML不需要加 !

卡片在描述增加代码,网站名称和链接随便填; 其他在链接添加代码

例如:

!<script>alert(1)</script><div>我是广告</div>

广告Loading 如果广告是图片或者第三方加载,在未加载前可能会空白,使用内置Loading可以优化体验,如果你不喜欢可以自己写个Loading代码,但这很麻烦。 只要在任意位置增加 #loadingx1 标识符

!#loadingx1<div>广告位置</div>

你可以自己手写 Loading 或者借助 AI

!<img src="..." style="position:relative;z-index: 1;" />
<div style="position:absolute;top:50%;left:50%;">loading...</div>

Google 广告

系统已内置Google 广告友好展示,当广告无法显示会隐藏掉,当插入 #loadingx1 广告显示 loading 会隐藏

!<ins class="adsbygoogle"
     style="display:block;position:relative;z-index:1;"
     data-ad-client="ca-pub-2853614204651252"
     data-ad-slot="4681928144"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>
#loadingx1

排序

默认情况下当网站没有设置排序编号,它总是以 100000,如果你想让网站总是在最后,设置为 100001 或更高

AI翻译

如果您想追求速度和稳定,可配置,否则忽略。

在某些网站读取网站描述可能会是英文,默认情况下使用线上免费AI翻译,可选配置;

当导航网站默认语言设置为 中文 即翻译为中文

采用讯飞大模型 Spark Lite 永久免费,无限 token

申请地址:https://xinghuo.xfyun.cn/sparkapi ,将 APIPassword 拷贝到 nav.config.yaml 配置字段 XFAPIPassword

数据备份

适用于自有部署,请务必配置信息,否则数据丢失无法找回。

请在 nav.config.yaml 配置 email 用于收取, mailConfig 邮件发送系统,每天会发送备份数据到接收邮箱。

如果项目已经部署可以在后台系统 配置信息 修改