市面上有这么多导航网站、开源项目,我为什么还要做一个 Navo?
因为对我来说,现有的导航站都差点意思。
很多导航站只是网站的“收容所”,即便分了类,但是不认识的还是不认识,语焉不详,或者空洞宽泛的描述,完全不能让我对这个网站有任何记忆点。即便当时看到了很多宝藏网站,等我真的要用的时候,大概率还是想不起来,然后直接Bing或者问 AI,那导航站也就失去了意义。
使用浏览器书签是一种非常有效的方式,我确实收藏了很多对我来说很有用的网站,但是有些不常用,且网站名称很刁钻的网站,收藏了也等于白收藏,因为等到真要用的时候,我依旧想不起来也找不到。
我平时喜欢部署自建服务,有的只有局域网地址,有的绑定了域名。当我想分享自己的站点给朋友,甩一个IP+端口实在是太不正规,人家都不敢点,而且可能过几天我自己也忘了这个服务是干什么了,docker里一堆乱七八糟的项目。
特别是家里宽带没有公网IP的,依赖STUN内网穿透,那随时变化的IP地址加端口,基本上就部署的时候愿意点开一次,之后发现地址变更就懒得去看了。
绑域名的项目,或者是一些我觉得有意思的网站,每次分享都是昨天一个今天一个,我发的累,别人看也累,当时没空看,要用的时候也想不起来,就此拉倒。
我也尝试过一些开源导航项目,但它们大多很“重”,部署在服务器上,和收藏夹并无本质区别,UI也不符合我胃口,用几次我就没兴趣了。
所以,我想构建一个能解决这些痛点的,但是又轻量、又低成本的导航站——只需要一个域名,剩下的全部交给 Cloudflare。
所以 Navo 的特点是?
评论驱动
在我看来,导航站的意义就在于能够告诉用户每个网站能解决什么问题,并让他们轻松找到。
而 Navo 就是一个以“用户评价”为核心的轻量导航站,核心理念就是回归常识:在添加站点的时候,随手用自己的话评论一下 用它来干啥?
举例:
https://tool.pc.wiki/→pc装机相关工具网站集合,天梯、跑分、驱动、镜像等https://www.remove.bg/→自动去除图片背景的网站,一键抠图,免登陆
文本搜索
非常方便,也没有什么成本,之后使用的任何人,包括未来的自己,都可以通过搜索“天梯”或“抠图”关键词来找到这两个站点,非常直观,也非常符合人的使用逻辑。
动态更新
这个恐怕是目前任何导航站项目都没有实现的功能,因为它们都没这个需求,哈哈。
之前我在论坛发过一个内网穿透的使用教程,但是现在cloudflare调整了Free计划,好像已经用不了了,所以我想到当STUN穿透的地址变更的时候,通过webhook请求导航站的API,实现动态更新站点地址,这样也算是间接的达成了只需要记忆一个固定域名的目的。
并且支持站点批量更新,数组形式的post请求体,以STUN内网穿透的Webhook为例:
- 接口地址:
https://your-domain.com/api/update/url - 请求方法:POST
- 请求头:
Authorization: Bearer navo-token
Content-Type: application/json
- 请求体:
[
{"suid": "navo-suid1", "url": "#{ipAddr}"},
{"suid": "navo-suid2", "url": "https://server.your-domain.com:#{port}"}
]
配合接下来我会更新一个STUN内网穿透2.0的教程一起使用,基本上能解决内网穿透IP、端口不固定的痛点。
极低成本
为了降低部署成本,项目使用 cloudflare worker部署,hono 后端 + 静态HTML + cloudflare D1 数据库,可以说除了需要一个域名,其他的完全都是免费的,也不需要复杂的配置和多服务商的配合,只依赖cloudflare一家服务商,稳如老狗。
轻松二改
静态HTML意味着项目前端的修改成本近乎为0,你不需要像Next.js、Vue一样熟悉项目结构,所见即所得,想改哪就改哪,文件少,代码少。
总之
Navo 本质上就是一个集合站,记录那些值得分享的站点,并且方便小范围社群的共享交流,它并不能代替收藏夹和导航站。
目前我只是实现了基础功能,我自己用起来感觉体验并不是很好,但是我觉得这个方向没问题,接下来就是优化迭代。
以下三个功能我认为是可以做的:
- 收藏夹:个人可以根据类别创建收藏夹,类似歌单,一键直达,不需要每次都搜索。特别是对于自建服务,可以集中管理展示,会很舒服。
- AI接入:接入AI可以实现自然语言搜索,自动生成评论啥的,纯手打确实还是好累。而且如果站点的评论数量足够多,还能通过AI聚合分析大家对同一个网站的评论,精确地描绘出这个网站真正的核心功能。这真的很酷,不是吗?
- GitHub仓库:这个是我一直想要解决的痛点,我的GitHub star的仓库有五百多个,真正做到只标星不浏览,用的上用不上都找不到,我感觉navo这个设计理念,可以解决这个问题,毕竟很多GitHub的项目的README并没有很好的描述它的用处,默认你是知道它干什么的。
大伙儿有兴趣可以先试试现在这个项目,自建也好,直接用我搭好的也行,有什么想法、建议、意见随时提,有人用我会感到很荣幸。
