nextcloud的折腾&体验
errol发表于2023-12-23 06:23:17 | 分类为 系统/软件 | 标签为nextcloud私人网盘phpapache

或许很多人没有过手机存储动不动就“红温”的经历,由于空间较小,不敢安装/存放过多的应用和数据,每一次安装/下载还必须要事先腾出些位置,否则根本装不下,这本身倒不是什么问题,关键在于卸载/删除这个节点上,有时令我很难受,不知道要移除哪些东西,总觉得每一个都有用,每一个都想保留,纠结一旦开始,就根本停不下来。

现在的手机基本上都是几百g,甚至上t,持有者基本实现了“存储空间自由”,而我的手机只有可怜巴巴的64g,除去操作系统,本就没剩多少了,现在的应用占用空间还越来越大,几g到十几g,甚至几十g,根本放不下几个... 谁又能想到,在这样的环境下,我竟坚持了3、4年(且情况还会继续),有时候我都挺佩服自己的。

虽然手机云存储从中分担了一部分压力,奈何白嫖用户所分配到的空间还是太小,只能勉强满足日常的需求,其他多出的文件数据还“无处是从”;当然,市面上的云盘(百度、阿里等)也是一种选择,但众所周知,这种商业化的产品,如果不付费的话,几乎不可能达到可以正常使用的水平,比如经典的下载限速、分享受限等,同时还要面临敏感资源被审查的风险,学习资料&盗版资源&热门视频等,如果被识别出来,都会无一幸免地被和谐或删除,因此,百度、阿里云盘根本无法存储这类型的数据。

基于以上的原因,前段时间开始就有了搭建私人网盘的打算,以拯救我岌岌可危的手机存储空间。

经考虑,最终决定使用nextcloud作为我的私人网盘,几番周折过后,可算是搭建好了。

(搭建参照了这篇文章

其实这个过程也不算复杂,可以简单地概括为:1)安装php环境,2)部署nextcloud。

目前是图个方便,开启apache服务,将nextcloud丢了进去;外网环境还是使用内网穿透,通过nginx来转发到apache中(可以考虑直接使用nginx部署,这样更好些)。

image

图1 安卓端

事实上ios也是有对应的app,只是对系统版本有要求,但为一个应用特地升级系统是不可能的,到时手机不得废了。

image

图2 web端

其中我感觉最方便的就是同步功能,它允许本地文件夹与nextcloud进行同步,以及实时保存功能,支持将应用中的文件直接保存至nextcloud中,这很大程度上解决了我手机存储空间不足的问题。

image

图3 文件夹同步功能

速度也不错,按我的使用情况来看,一般在6-8m/s之间,峰值可以达到10m/s,如果网络顺畅的话,几乎可以跑满,比xx盘强了不是一点半点...

image

图4 下载

而至于nextcloud存储空间,则是根据部署服务器的硬盘来决定的,并不是说它只有截图所示这点存储空间(用于部署的树莓派所使用的tf卡,只有64g),理论上没有限制。

但需要注意,以上的使用体验都是在内网中进行的,在外网使用的话(即使用内网穿透映射),效果就没那么好了,究其原因,是由于白嫖来的内网穿透带宽只有1Mbps,换算成上传/下载速度约为128kb/s...

(不过感觉也比得上某些时候的百度云盘了,它们的速度就是这么离谱...)

如果搭配付费内网穿透,体验应该会好很多,当然,我本就不打算经常在外网环境使用,所以这点对我的影响不算太大,目前还有一个优先级更高的问题去处理,已经苦恼好几天了。

当从nextcloud中将文件分享出去时,很蛋疼的看到生成的下载链接是以localhost开头的本地回环地址,导致我将链接发给别人时,还需要手动将localhost替换为内网穿透提供的地址,非常麻烦,乐于分享的我实在忍受不了这种枯燥无味的重复性工作。

解决方法不能说没有,但其实也差不多了:nextcloud使用请求apache时的地址作为下载链接前缀,因此全面使用内网穿透来访问nextcloud应该可以解决这个问题,但这样速度实在是太慢了,仅仅是加载页面,都需要花很多的时间,上传/下载文件就更别说了。

使用内网地址来访问nextcloud;分享&下载则使用内网穿透地址,我认为这样是最好的(别人下载慢一点无所谓)。

可惜的是,查了很多资料,都没有找到相关的配置或方案,可能是检索姿势不正确,还可能是没人会有这种奇葩的需求。

所以这个功能多半要自己开发,同时,这也意味着要涉及到源码...

花点时间能把解决问题的话,也能接受,先试试看吧。


虽然现在使用nextcloud还存在一些小瑕疵,但总的来说,还是很不错的,既不存在什么限制,也足够安全,全部的东西都是自己的,想怎么折腾就怎么折腾,正如它的标语“给您所有数据一个安全的家”一样。

返回