Git Product home page Git Product logo

van-nav's Introduction

Van Nav

一个轻量的导航站,现在有搜索引擎集成了,很适合作为主页使用。有配套的浏览器插件和 API。 在线体验 (账号密码均为: admin)

预览 PC
预览 PC
预览 PAD
预览 PAD
预览 phone
预览 phone
后台设置
交流群

qq 交流群: 873773083

快捷键

其实这个导航站有很多小设计,合理使用可以提高使用效率:

  • 只要在这个页面里,直接输入键盘任何按键,可以直接聚焦到搜索框开始输入。
  • 搜索完按回车会直接在新标签页打开第一个结果。
  • 搜索完按一下对应卡片右上角的数字按钮 + Ctrl(mac 也可以用 command 键) ,也会直接打开对应结果。

另外可以设置跳转方式哦。

安装方法

Docker

docker run -d --name tools --restart always -p 6412:6412 -v /path/to/your/data:/app/data mereith/van-nav:latest

打开浏览器 http://localhost:6412 即可访问。

  • 默认端口 6412
  • 默认账号密码 admin admin ,第一次运行后请进入后台修改
  • 数据库会自动创建在当前文件夹中: nav.db

可执行文件

下载 release 文件夹里面对应平台的二进制文件,直接运行即可。

打开浏览器 http://localhost:6412 即可访问。

  • 默认端口 6412,启动时添加 -port <port> 参数可指定运行端口。
  • 默认账号密码 admin admin ,第一次运行后请进入后台修改
  • 数据库会自动创建在当前文件夹中: nav.db

nginx 反向代理

参考配置

其中 <yourhost><your-cert-path> 替换成你自己的。

server {
    listen 80;
    server_name <yourhost>;
    return 301 https://$host$request_uri;
}

server {
    listen 443   ssl http2;
    server_name <yourhost>;

    ssl_certificate <your-cert-path>
    ssl_certificate_key <your-key-path>;
    ssl_verify_client off;
    proxy_ssl_verify off;
    location / {
        proxy_pass  http://127.0.0.1:6412;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_redirect off;
        proxy_set_header Upgrade $http_upgrade;
    }
}

systemd 服务

可以注册成系统服务,开机启动。

  1. 复制二进制文件到 /usr/local/bin 目录下,并加上执行权限

  2. 新建 VanNav.serivce 文件于 /usr/lib/systemd/system 目录下:

[Unit]
Description=VanNav
Documentation=https://github.com/mereithhh/van-nav
After=network.target
Wants=network.target

[Service]
WorkingDirectory=/usr/local/bin
ExecStart=/usr/local/bin/nav
Restart=on-abnormal
RestartSec=5s
KillMode=mixed

StandardOutput=null
StandardError=syslog

[Install]
WantedBy=multi-user.target
  1. 执行:
sudo systemctl daemon-reload && sudo systemctl enable --now VanNav.service

浏览器插件

具体请看: 浏览器插件仓库

具有一键增加工具,快速打开管理后台和主站等功能。具体自行探索哦。

API

本导航站支持 API,可以用自己的方法添加工具。

文档待完成...

状态

可以优化的点太多了,慢慢完善吧……

  • 多平台构建流水线
  • 定制化 logo 和标题
  • 导入导出功能
  • 暗色主题切换
  • 移动端优化
  • 自动获取网站 logo
  • 拼音匹配的模糊搜索功能
  • 按键直接搜索,搜索后回车直接打开第一项
  • 图片存库,避免跨域和加载慢的问题
  • gzip 全局压缩
  • 中文 url 图片修复
  • svg 图片修复
  • 浏览器插件
  • 自动获取网站题目和描述等信息
  • 后台按钮可自定义隐藏
  • github 按钮可隐藏
  • 支持登录后才能查看的隐藏卡片
  • 搜索引擎集成功能
  • 增加一些搜索后快捷键直接打开卡片
  • 支持自定义跳转方式
  • 自动主题切换
  • 国际化
  • 增加 ServiceWork ,离线可用,可安装
  • 网站状态检测
  • 支持后台设置默认跳转方式
  • 支持指定监听端口

van-nav's People

Contributors

isunjn avatar madonghao avatar mereithhh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

van-nav's Issues

虽然暂时不是很完美,但体验相当OK,谢谢!

创建服务器超简单
功能使用非常友好
可能我试了太多“优秀的开源软件”,不试不知道,一试吓一跳,那体验跟那什么一样,而用了你的网址导航,感觉你是一位非常优秀的产品经理。

自动切换深色模式

导航站的 demo 不像 VanBlog 那样,可以根据系统主题自动切换深色模式。

感觉可以把这个功能加到 todo 里。

提交2个bug,详情如下。

bug1: 新增工具条目后,再点击添加,输入框会保留上次的内容,这个时候直接新增下一个工具后,会覆盖上一个工具。

目前办法是,新增完先点击别的页面,再点击新增页面。


bug2: 在后台刷新时会直接丢失页面,较为频繁

image

项目启动之后404

我下载了源码,在vscode里面用go run all运行之后,无法访问,控制台提示404,只有http://localhost:6412/api可以访问,我是想把主页右下角那两个黑色的按钮删掉,页面上已经改了,用go build打包之后访问,也是提示404,文档啥时候出呀

增加一个配置选项:搜索出现的引擎提示

先感谢下作者,产品体验太棒了,布局非常简洁明了,UI设计一流。
搜索时提示搜索引擎这个点也特别好,只是一般搜索都用Google,不需要用到百度或者必应,想在画面中不出现这两个提示。是否能增加在后台的配置选项呢?
Snipaste_2023-10-26_10-48-00

首页搜索栏可实现搜索引擎的接入吗

你好,作者大大。
这个导航栏的羡慕,我一直在使用,当然你的博客,番茄钟,都非常棒,我都在使用。
这里提个小意见,导航栏 的搜索框可以接入搜索引擎吗,像bing 百度 Google,等等。
这样 van-nav 就可以直接作为浏览器的主页来使用了。
我也尝试着自己改,可我太菜了,无能为力。
感谢您发布的这么多的优秀项目。

能否增加logo开关

有些网站,比如政府网站,没有logo,会识别错误或者❌显示,能否增加默认logo或者开关logo显示选项

如何修改默认跳转方式为新标签页打开

现在默认应该是原地打开,我想修改为默认使用新标签页打开;就是部署好网站后,直接可以使用新标签页打开,而不是需要先点击一下切换跳转方式按钮

分类名修改

博主能不能加一个分类名修改的功能啊,现在想改名只能删除再添加

不加也行hh,不影响前台使用

希望可以添加多用户支持

用户可以绑定路径

用户test的书签路径为
/test
/ 为guest的书签

设置公开或者不公开或者密码访问

管理员可以设置共享书签模版,可以强制用户展示某部分模版,用户可以订阅公开的书签模版到自己首页,用户可以分享自己的书签数据作为模版,别的用户可以查看到这个公开的书签数据
eg:
系统强制的书签数据
用户自己的书签数据
用户订阅共享的书签数据

可以支持导入chrome导出的书签吗

可以支持导入chrome导出的书签吗
目前导出的格式是json格式,chrome导出的是html,能兼容吗?迁移书签太费劲了

目前分类只支持一级分类,如果要兼容,还得支持多级分类~

可以支持默认logo吗?

目前有些链接是内网才能访问的,自己部署的服务器又无法访问内网,导致logo获取不到,无logo的时候,前台展示特别丑,是否可以默认一个logo兜底,这样页面整体是整洁美观的。

或者可以增加一个logo库,供本地选择,或者增加手动上传logo

image

主站支持开启登录模式

所有的导航卡片,分为 外部访问和内部访问两种类型
内部访问链接只有已登录用户可以访问

页面多出一个空的按钮

我部署的是最新版本,但是添加了一个站点后,页面出现了一个空白的按钮
image
以下是我设置
image
image
请问这个是bug还是正常?谢谢

直接访问端口可以打开,通过nginx转发后访问失败

server {
    listen       80;
    server_name  localhost;
 
    charset utf-8; # 防止中文显示出现乱码

	# 添加头部信息
    proxy_set_header  Cookie $http_cookie;
    proxy_set_header  X-Forwarded-Host $Host;
    proxy_set_header  proxy_set_Server  $Host;
    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header  Host             $host:$server_port;
	
    # 访问IP/eat,则会自动访问对应地址IP:8822
    location /eat/ {
        proxy_pass http://localhost:8822/;
    }  

    # 访问IP/eat,则会自动访问对应地址IP:6412
    location /navtool/ {
        proxy_pass http://localhost:6412/;
    }  
}

博主的两个docker项目我都部署了

  • eat项目是可以通过IP/eat访问的
  • 但nav项目只能通过IP:6412访问,如果通过IP/navtool访问,无法获取到对应的文件
    image
    只获取到了其中的一个文件,其他三个都获取失败

nginx的日志为

2023/02/10 12:26:48 [error] 8506#8506: *40 open() "/usr/share/nginx/html/static/js/2.3b4ef65b.chunk.js" failed (2: No such file or directory), client: 46.232.120.169, server: localhost, request: "GET /static/js/2.3b4ef65b.chunk.js HTTP/1.1", host: "我的IP", referrer: "http://IP/navtool/"
2023/02/10 12:26:48 [error] 8506#8506: *39 open() "/usr/share/nginx/html/static/js/main.6a5ad524.chunk.js" failed (2: No such file or directory), client: 46.232.120.169, server: localhost, request: "GET /static/js/main.6a5ad524.chunk.js HTTP/1.1", host: "我的IP", referrer: "http://IP/navtool/"
2023/02/10 12:26:48 [error] 8506#8506: *41 open() "/usr/share/nginx/html/static/css/main.cb5e9b77.chunk.css" failed (2: No such file or directory), client: 46.232.120.169, server: localhost, request: "GET /static/css/main.cb5e9b77.chunk.css HTTP/1.1", host: "我的IP", referrer: "http://IP/navtool/"

猜测是不是因为文件在docker容器的/usr/share/nginx/html/static目录中,转发无法直接访问到容器内部,只能通过端口访问到容器内部。
但博主给出的配置案例也是通过路由转发,不是很明白这一点

添加网站时,获取网站图标卡住

可能由于网络或什么原因,获取网站图标很慢,导致添加网站卡住,是否可考虑将该步请求改为异步,使其获取图标不要影响添加网站

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.