大侠阿木博客
大侠阿木博客

基于Windows平台,打造个人NAS

说明

  1. 本文仅作为个人经验记录并分享给也许用得到的网友
  2. 精力有限,不打算说清楚每个细节,实际上也无必要,因为本文主要目的是“解决方案”而不是Step by Step的教程
  3. 某个方案涉及到使用方法、操作步骤、注意事项的,我都尽量贴出原始资源,这样尽量确保内容不会过期
  4. 本帖给出的部分资源国内无法通畅访问,请自行解决

我的网络环境

  • 开通公网IP,光猫改桥接,路由器拨号
  • 千兆内网

我的需求

  1. 可以随时从公网,远程访问NAS,下载文件
  2. 将下载的文件自动同步到OneDrive账号1和OneDrive账号2,就是确保两个账号文件完全相同
  3. 将百度网盘和阿里云盘挂载为本地磁盘,并将下载的一加官方ROM自动同步到百度网盘和阿里云盘
  4. 可以随时从公网,远程访问NAS,编辑文件,并取回编辑后的文件
  5. 通过公网,手机端可以随时访问NAS上的文件,也就是文件共享
  6. 远程下载服务,可以随时通过手机添加和管理下载任务
  7. 搭建影音服务,方便通过公网随时观看影视

具体方案

系统准备

  1. 使用Windows 10 21H2,下载地址是这里:https://tb.rg-adguard.net/public.php
  2. 安全的话因为Windows Defender误报太多,所以使用火绒:https://www.huorong.cn/person5.html

远程访问

  1. Windows自带的远程桌面作为第一选择
  2. 通过DDNS服务,将域名解析到我的公网IP,我是在OpenWrt里设置的ddns,如果不使用软路由,也可以使用
    【ddns-go】的Windows版本,直接在NAS上设置。具体使用方法请参考作者文档。
    alt

扩展阅读:
《[DDNS-GO] 一款轻量、好用的DDNS服务应用!》——M - Jay 的个人博客

  1. Android访问的话,直接使用微软官方远程桌面手机端即可:https://play.google.com/store/apps/details?id=com.microsoft.rdc.androidx

  2. Windows访问的话基本操作就不说了,我最终实现的效果是:任意界面任何时候,通过Win+R调出命令行窗口,直接输入nas并回车,即可在3秒内快速访问NAS的远程桌面

    • 通过远程桌面的“另存为”生成一个图标,这个图标双击打开就可以快速访问配置好的远程桌面
    • 进一步的,给这个文件创建一个快捷方式,并且按照【这个方法】设置,即可通过Win+R键打开上一步创建好的快捷方式
  3. 考虑到万一ddns服务挂了就跟NAS失联了,所以使用【parsec】作为备用方式。

扩展阅读:
《2022当前远程最佳软件:Parsec》——知乎

OneDrive文件自动上传

  1. OneDrive官方客户端已经满足文件自动上传需求了,注意我需要将所有文件保留在本地1份,以便随时取用,所以对于OneDrive账号1,这个勾要去掉,OneDrive账号2要勾,不然本地存了两份毫无必要,浪费空间
  2. 两个OneDrive账号文件保持同步,后续再说

OneDrive账号1的文件自动同步到OneDrive账号2、百度网盘和阿里云盘

步骤一:将百度网盘和阿里云盘转为webdav服务

  1. 使用【alist】的Windows版本,将百度网盘和阿里云盘配置为webdav服务,这个具体参考alist的官方文档即可,注意百度网盘这里要开启“代理”,且下载api选择crack,关于这两项的具体说明官方文档也有
  2. NAS上使用【RaiDrive】直接挂载webdav,然后就可以像访问本地磁盘一样访问百度网盘和阿里云盘了
  3. 结合ddns,公网环境下,Windows设备一样可以使用【RaiDrive】,手机端可以使用【CX文件管理器】或者【Solid文件管理器】来访问百度网盘和阿里云盘,当然了公网的话,取文件速度受到NAS上行带宽限制,所以只适合查看或上传小文件。

扩展阅读
《Cx File Explorer - 免费无广告安卓手机文件管理器 (支持局域网共享/SMB/FTP/WebDAV)》——异次元软件世界

步骤二:将本地文件(OneDrive账号1下的本地文件)自动同步到Onedrive账号2、百度网盘以及阿里云盘,加上OneDrive账号1

  1. 其实是相当于给文件做4重备份
  2. 这里用到的是【Bestsync】这款国产软件,这是我对比了非常多Windows平台文件同步和文件备份软件之后,最符合需求,且免费(免费功能就足够满足需求且绰绰有余)无广告的
  3. 【Bestsync】可以实现将文件夹1(源目录)和文件夹2(目标目录)保持同步,但是同步和同步还不一样,我这里要求实现以下几点
    • 文件夹1新增的文件,文件夹2要新增
    • 文件夹1删除的文件,文件夹2也要删除
    • 文件夹1重命名的文件,文件夹2也要重命名,而不是保留源文件,再多出一个新文件名的文件(百度网盘官方客户端的同步功能就是这么傻屌)
    • 文件夹1的文件变动(文件编辑或覆盖个新的同名文件),文件夹2也要跟随变动
    • 文件夹1中的文件从某个目录移动到另外一个目录,文件夹2中也对应操作
    • 文件夹2中的任何变动,均不会触发任何文件夹1的操作,这一点通常不是我自己会这么操作,而是万一目标文件夹的变动,比如百度网盘资源被封或手抖误删文件导致本地文件也被删,太不安全了,所以必须是单向同步。并且咱们是1备4,如果多个目标目录对同一个文件有变动,本地文件按哪个来了?也容易造成不确定。
    • 令人惊喜的是, 【Bestsync】完全实现以上要求并且不涉及付费功能
  4. 注意,【Bestsync】添加新的同步任务非常繁琐,就是因为他支持各种不同的规则,但是其实因为我是把同一个目标目录,按照完全相同的上述规则,往OneDrive账号2、百度网盘和阿里云盘的同步,所以我们设置好一个之后,可以直接对着任务点右键复制粘贴,快速使用已有的配置,然后编辑任务,修改目标目录即可
  5. 进一步的,【Bestsync】其实支持支持将webdav设置为目标目录,所以前面使用Raidrive把百度网盘和阿里云盘挂载为本地磁盘,并不是必要的。(但使用alist将二者配置为webdav服务当然是必要的)。当然,【Bestsync】这个功能仍然是免费的。
  6. 注意给Bestsync设置开机启动,按以上部署好之后,我只需要将文件下载到OneDrive账号1的目录下,就会自动同步到OneDrive账号2、百度网盘和阿里云盘

扩展阅读
《使用BestSync同步软件与坚果云同步》——知乎

NAS文件共享

  • 首先我的需求就是个人使用,既不涉及多用户的权限控制、也不涉及对外分享,所以完全不必使用OMV或者黑裙等专业NAS系统
  • 其实Windows自带的SMB就挺好,不过缺点是,Windows客户端访问SMB的话,必须使用445端口且无法更改,但是445端口是被运营商封锁的,因为SMB毕竟是个“局域网”文件共享方案。
  • 当然了,Windows客户端也可以通过端口转发来强行使用其他端口访问SMB,不过如果我换一台Windows设备,又要重新设置端口转发,岂不麻烦哉。
  • 手机端很多APP访问SMB是不能设置自定义端口的,导致也不能尽情使用我喜欢的APP。
  • 所以弃用SMB,还是使用webdav方案。
  • Windows上可以将本地目录通过webdav服务共享的工具不太多,最终选定了简单易用,且功能足够用的【chfs】,全称cute http file server,我选用的是GUI的版本
  • chfs不仅可以将本地目录配置为webdav服务,也可以通过网页访问,甚至还可以重命名、删除和上传文件,视频文件甚至可以在线播放
  • 同样的,Windows端通过Raidrive,手机端使用【CX文件管理器】也可以访问共享目录的文件了,通过web端下载,速度可以达到80M/s以上

扩展阅读
《CuteHttpFileServer / chfs 文件服务器,简易nas,支持http、webdav》——小众软件

NAS文件快速取回公网Windows电脑

  • 这里使用的是又一个优秀的国产同步软件【微力同步】,它是基于P2P的,也就是说不需要服务器中转,在任意网络环境下,几乎都可以最大化利用网络带宽,这一点对于局域网非常重要,因为它走的内网传输,不经过公网,是可以跑满内网带宽的。
  • 为什么不使用上面的文件共享方案来取NAS文件呢,原因1,我通常每次只取一个文件,或者一个目录下的文件,而且取的是每次编辑过后的文件,并不是固定的文件,通常都是几十M或者几百M。原因2,这个编辑后的文件都是临时使用,几乎不会第二次用到
  • 试想一下,通过上述文件共享方案,操作步骤是:远程桌面访问NAS,将编辑过的文件,复制到共享目录下,回到本机,打开资源管理器,打开挂载好的本地磁盘,找到文件(注意,截止到这里,时间至少过去十几秒了,而文件其实还没开始传输),拷贝到本机本地目录(也就是下载),然后才可以使用这个文件。
  • 使用微力同步的话,操作步骤是:远程桌面访问NAS,将编辑过的文件,复制到微力同步的同步目录下,这时候文件就立即开始同步了,切回本机后,可以先忙其他的,稍后可以直接使用这个文件。整个过程需要我操作的步骤减少了。
  • 还有一点,我通常需要将取回本机的文件上传或者通过即时通讯工具发给别人,Raidrive虽然将webdav挂载为本地磁盘,但是仍然有些不同,比如直接复制文件,是无法右键粘贴到聊天窗口里的。

影音服务

远程下载

这里使用的是Bitcomet,手机端远程下载的话我专门写了一篇文章,直接移步即可:https://www.daxiaamu.com/6959/

# #
首页      我的作品      基于Windows平台,打造个人NAS

推荐文章

大侠阿木博客

基于Windows平台,打造个人NAS
说明 本文仅作为个人经验记录并分享给也许用得到的网友 精力有限,不打算说清楚每个细节,实际上也无必要,因为本文主要目的是“解决方案”而不是Step by Step的教程 某个方案涉及到使用方…
扫描二维码继续阅读
2022-06-08