面对日益严格的内容审查机制、毫无下限的网盘商家以及价格直线上涨的固态硬盘,仓鼠们收藏文件确实成了一个大难题。于是我从元旦假期开始写了一套个人用的NAS软件,只要找一台服务器或者废旧电脑部署一下就可以实现网络资料的存储和预览、下载等功能。
一、Nasu介绍
这个项目的名字叫Nasu (日语茄子的意思,玩了NAS的谐音梗),项目地址在这里。安装好后就可以启动并访问主页了(安装方法见第二块),主页效果如下所示:
初始密码是admin,输入以后就可以访问主界面,主界面有三个页面,分别是概况总览、文件详情和平台设置。
这个软件的意图是让用户高度自定义文件属性的,用户可以给文件定义标签(Label)和标记(Tag)。标签可以是任意类型,方便用户在页面上查找和归类,而标记只有五种颜色,是提供给用户的另一种归类的方法,灵感来自于Mac OS。
在概况总览页面,Nasu给用户提供了标签、标记和文件类型的总体分析,以及最近上传的文件,后期打算加入对服务器的分析(这部分需要我搞一台Linux系统的电脑再加上去。。)。
在文件详情页面,用户可以按照条件筛选已上传的文件,在操作栏中可以分别对其预览(或下载),编辑以及删除。点击上传按钮就可以上传本地的文件了,如下图所示:
其中文件名和文件是必填的,填文件名建议加上扩展名,因为需要对其解析扩展名但有的文件又确实没有扩展名。
最后是平台设置页面,这个页面可以让用户设置有关Nasu的一些基本参数,有的参数修改后立即生效,有的需要重启服务。
Nasu功能就这么简单,但是我用起来还行。目前仍然有部分需要改进,比如上传进度条、服务器状态概况以及文件备份等,这部分开发只能“下次一定”了,当然也欢迎各位PR。
二、Nasu安装
项目用到了sqlite3,这个不能打包到可执行应用内,所以需要提前安装好并配置好环境变量。
下载安装
直接在GitHub release页面找到最新的可执行文件下载运行即可,第一次运行是创建资源文件,关掉后再次运行即可启动项目(具体参考repo的README.md)。另外,这个页面只有exe的可执行文件,如果要Mac版的需要编译安装(因为我只有Win)。
编译安装
项目是golang开发的,所以先安装好golang环境。
老规矩先克隆项目
git clone https://github.com/littlebutt/nasu.git
在根目录下运行
make build
如果没有gnu make的话可以直接build
go build github.com/littlebutt/nasu/src -o nasu #win需要指定exe后缀
编译好后就可以按照README.md启动运行了。
本篇介绍了Nasu项目,下一篇分享一些开发遇到的一些问题以及共建的一些想法。