前言
人类对于r18的分享有着莫名其妙的热爱,总是有那么一群赛博圣人、网络佛陀在孜孜不倦的分享中他们的庞大库存。
在我也决心成圣,到最后一步——分享资源的时候,碰到了一个无比尴尬的问题:诺大的互联网,居然没有流传甚广的快捷文件分享软件!
或许会有人反驳我说qq、localsend、百度网盘等都是非常不错的分享途径,但:商业网盘内容审查严苛,成圣的素材上传即刻被删除;BT磁力链接看运气,分享一点私人珍藏的绝版资源可能出现对方死活链接不到你的BT设备;qq聊天软件上传限制非常夸张,好友之间的文件传输被限制在一天一G;localsend只是点对点的传输软件,并不适合外网传输。于是乎,自建网盘的想法应运而生。
Alist
一开始我想到的是Alist。

它是是一个支持多种存储的文件列表程序,通过访问特定的私人链接即可在网页浏览器上对文件进行下载上传,还支持多种系统已经以及商业盘。因此我迫不及待的下载并尝试,不得不说,非常好用。不但能对本机存储文件进行下载,还能同时管理其他商业网盘,对于只是固定给几个人分享文件的场景,着实是完美的选择。
于是乎我兴奋的下载、安装、设置,软件运行看起来也一切正常,从其他设备的web端也可以正常下载资源。芜湖,我要成圣啦!
——然后就有个雷劫给我劈了个半死:
Alist对文件的共享更多是依靠用户权限来划分,更多是类似于一个WebDAV网盘:用户登陆后只能看到管理员提前设置好的区域。对于临时分享文件/给不熟悉的陌生人分享文件,这一下就显得非常麻烦:必须手动设置,对用户新添加区域,还需要设置各种管理权限。
——而且还是两道雷劫:
Alist有一个不大不小的bug(不知道是个人问题还是软件错误):对于多文件的打包下载功能支持一般,文件越多,下载好的压缩包就越是容易解压出错,重新下载还费时费力。截止至我弃用Alist(2025年年初),这个bug在我手头上的所有设备都出现了。
NAS
既然成圣不成,那么就该换条道路——成佛了!
于是乎我转动目光,打起了NAS系统本身自带的外链分享功能的主意。
或许大伙都知道,热门成熟的NAS系统大概率会有文件外链分享功能,通过系统自带的文件外链分享就可以方便快捷的给别人分享文件了。
参考之前的文章,因为性价比原因,我使用的自建nas,用的是FNOS系统。

它也有文件外链分享,免费带宽1MB/S,对于临时的小文件分享也能够应付。
虽然无法成为大佛,但是小佛总是可以的吧。出乎我的意料,菩提树下的心魔劫难也摆了我一道
——FNOS对smb挂载的文件是无法进行外链分享的。
这意味着我存于其他电脑上的资源是无法分享出去的。
私人网盘
既然成圣不行,成佛也不行,那么就自己踏出一条真正的至尊之路吧!
——自建网盘!启动!
Cloudrever
对于这款软件,我其实是没想起来的,直到某次下载黄油的时候发现贴主用的就是这个网盘(。
Cloudrever是一个适合家庭使用的小型化云盘系统,它允许用户根据访问网盘的的网址前缀生成文件分享链接,分享者只需要发布出去即可,不需要在建立各种层级的用户,方便快捷。而且它对主流系统都有对应版本,还有大量的教程,属实是我这样的小白用户之首选。

然而,cloudrever使用的是虚拟文件地址,是基于 DBMS 构建了一层文件系统抽象,将用户文件和物理文件结构隔离,形成了虚拟文件系统,因此个人存入的文件实际上在是散乱的放在硬盘各处。而且由于基于虚拟地址的特性,cloudrever并不直接管理物理文件,仅仅管理文件映射的数据库,因此在物理磁盘中直接删除文件的时候,cloudrever是无法及时同步文件的。
这对于我这种想要把文件分门别类弄得整齐一点的人就非常蛋疼了,而且我还是在通过smb挂载着这些物理硬盘,对我来说杂乱的文件摆放是一个非常头大的事情。
总体来说,属于部署小白/轻度用户的首选。对于只想要web端操作云盘,不想要动云盘的实际物理硬盘的人,cloudrever是一个非常好的选择。只是我个人原因pass了这个优秀的软件。
NextCloud
在放弃cloudrever后,我也差不多放弃成圣的想法了,但是q群的圣人前辈为我指了一条明路——nextcloud。
NextCloud也是一个云盘系统,不但开源,而且还有丰富的插件为NextCloud组建了丰富的生态,而且可以挂载smb文件,同时还支持外部链接分享。

nextcloud的上手还是有门槛的——它的server版本并没有cloudrever那样方便快捷的安装包,而且由于是国外的系统,下载安装时候的会因为网络问题费事不少。
但是好在nextcloud还是有**docker版本**,使用docker版本即可轻松安装使用。
安装
-
docker-compose.ymlservices: # 定义服务 nextcloud: # 服务名称 image: nextcloud:stable # 使用的镜像名称,这里使用官方的 Nextcloud 镜像 container_name: nextcloud # 指定容器名称 ports: # 映射端口 - "80:80" # 将主机的 80 端口映射到容器的 80 端口 volumes: # 挂载卷 - /docker/nextcloud:/var/www/html # 将主机的 /docker/nextcloud 目录挂载到容器的 /var/www/html 目录 restart: unless-stopped # 设置容器的重启策略,这里表示除非容器被停止,否则一直重启
安装完毕后,我们需要通过浏览器,输入ip:端口进入到nextcloud管理页面,进行管理员注册和初始化。
初始化完成后,我们需要通过插件才能加载smb协议。
- 进入nextcloud,并点击右上角头像,点击
应用。
- 点击
你的应用,找到External storage support并启用。
此时在个人设置>外部存储中,既可以添加基于网络协议的硬盘
但是,在原版中是没有smb协议的支持的,我们需要在另外设置一番。 - 打开你的ssh,连接并进入nextcloud,逐步输入以下命令。
执行完后,退出并重启nextcloud便可看到新增了smb的支持。
apt update # 更新软件库 apt install smbclient libsmbclient-dev pecl install smbclient docker-php-ext-enable smbclient - 最后填写相应的信息即可挂载。

文件分享
nextcloud的文件分享功能,是只允许https链接外链分享,因此我们还需要使用反向代理将域名连接到nextcloud中。这一步在以前的博客:剑走偏锋的nas方案——2中就有讲述,直接照抄即可。
反向代理完成后,我们通过https连接进行访问却发现被nextcloud被阻拦,那是因为我们还需要把这个域名添加进信任域名中。
-
进入nextcloud,安装编辑器。
apt update # 更新软件库 apt install nano # 安装编辑器,我用顺手了nano -
编辑
config.php并添加信任域名。-
打开
config.php。nano /var/www/html/config/config.php # 编辑配置文件 -
修改
’trusted_domains’,将域名设置为信任域名。'trusted_domains' => array ( 0 => 'test.cyilin.top:80', 1 => '192.168.110.6:80', ), -
修改
‘overwrite.cli.url’'overwritehost' 'overwriteprotocol'。'overwrite.cli.url' => 'https://nextcloud.cyilin.top:10086', #指定Nextcloud的访问地址 'overwritehost' => 'nextcloud.cyilin.top:10086', #Nextcloud的主机地址,指定主机名字 'overwriteprotocol' => 'https', #使用https解析 可选步骤,客户端连接nextcloud的时候需要设置,不然就会被重定向为http
-
-
重启nextcloud。
最后在nextcloud的web页面,点击分享符号即可复制分享外链。

总结而言,nextcloud虽然比cloudrever要复杂不少,但是它的操作上限也更高,属于是我心中的完美私人网盘了。
——我的至尊路,成了!
结语
看r18只是让自己开心,成功分享r18那一份喜悦同样不亚于此。下毛片,看毛片,分享毛片,大抵人生最新幸福的事情也不过如此了。