注册 onceair.com 网站并添加内网穿透隧道后,即可在外网访问网盘的知识管理、Git/SVN/ssh、共享文件夹等服务。
Git/SVN/SSH 等服务是基于TCP实现的,所以要先升级网盘,升级之后,我们可以添加两条隧道,指向网盘自身的Git/Svn服务,如下图所示。
Git是一个开源的分布式版本控制系统,版本控制最主要的功能就是追踪文件的变更。它将什么时候、什么人更改了文件的什么内容等信息忠实地了已录下来。每一次文件的改变您都可以借助对比工具,查看与之前版本具体哪一行,哪一个字符做了更改。与常用的版本控制工具SVN不同,它采用了分布式版本库的方式。Git并没有全局的版本号。
您可以在OnceAir上安装Git模块,将其变成一个低功耗的Git服务器。因为Git服务器是基于SSH协议实现的,使用Git或外网访问请勿必更改默认root密码。如果您不会操作,可选择使用相对操作简单的SVN服务器。
安装设置Git模块后,OnceAir则可作为Git服务器使用,此时您可以在电脑通过Git Bash命令行来clone/commit/push/pull文件到数据仓库。
Git也有很多免费的图形化工具可以提高工作效率,简化使用Git命令行的使用难度,这里主要介绍使用TortoiseGit和SmartGit从OnceAir Git仓库签出项目。
如果您的网络分配有公网IP,您可以通过设置路由映射的方式,实现在外网访问内部的OnceAir服务器。但一般的小运营商是没有分配独立公网IP,此时您可以通过内网穿透的方式实现OnceAir网盘的外网访问。下面简单介绍一下如何设置。
OnceAir底层基于模块化Web框架OnceIO和无模式内存数据库OnceDB,每个功能的前端界面、后端逻辑、数据库定义都集中存放在模块本身,禁用或卸载即可删除。您也可以开发自己的功能模块,扩展OnceAir的功能。
OnceDoc 是 OnceAir Nas 内置的知识和文档管理模块,可直接在线编辑文档、表格、Markdown笔记甚至程序代码等,支持全文搜索,具有丰富的权限控制,您可以方便地构建自己的分享文件夹。通过OnceOA客户端,OnceDoc中的团队文件夹可与本地文件时时双向同步,实现多重备份。
OnceDoc是一个高性能的、高度独立的企业内容(网盘)管理系统,底层技术完全自主实现。你仅需预先安装好NodeJS的运行环境,无需配置例如IIS、Tomcat、MySQL/SQLServer、环境变量之类的复杂依赖,解压即用。不需要您具备任何IT知识,,30秒即可完成安装,打造专属于您自己的网盘和在线文档编辑工具。
before函数提供了一种机制,可以在文件接收之前根据req.headers对文件进行验证(如大小、类型),return true 表示验证通并开始接收文件。在这里 before 中的回调函数会根据 req.headers 中的 content-length 判断上传的文件是否超出了尺寸限制(开发人员可以通过修改 if 语句中的常数改变文件上传尺寸上限,content-length 单位为 byte,1024 * 1024 即代表 1 MB),如果超出了,文件不会被上传,服务器返回错误信息;如果没有超出,函数返回值为 true,服务器继续执行 app.file 中的回调函数,将文件从临时地址转移到指定存储地址,文件上传到这里就完成了。