是否有相对较好用的『P2P 私人网盘』可供搭建?

2023-05-24 09:06:27 +08:00
 MFWT

背景

一台旧电脑,安装了 Debian 11 做 NAS ,上面有 SMB 和 WebDAV 服务,也有 Alist 文件面板,也有 Zerotier (但未开启)
家宽是中国移不动,有 FullCone ,可以 TCP 打洞(之前玩 PT 就是这么干的)

现状

用 Zerotier 做 P2P-VPN ,是可行的,也可以做到访问内网的目的,但是需要多开软件,总感觉不是很方便
也查看过Syncthing这个东西,感觉『同步文件夹』这种工作方式不是很适合我的需求,我就是想要一个可以普普通通地上传下载文件的东西,就够了

换句话说,我现在需要一个类似群晖 QuickConnect 的东西,具体来说就是:

  1. 有公网就直连,有 Cone-NAT 就打洞直连,实在不行再中转
  2. 连上以后,可以直接在软件里面管理 NAS 上的磁盘文件
  3. 最好可以自建中转端(类似 Zerotier 的 Moon 服务器)
  4. 多客户端( Windows ,Android )支持
  5. 如果有 IPv6 ,优先使用 IPv6 ( v6 是公网)

能满足这些要求的 P2P 网盘软件,v 友们有无好的推荐?

附:或者说,是否有成品的『支持同时上报端口的 DDNS 软件』(没有的话我只能自己搞了,比如写个 PHP 脚本,收到打洞软件的 Hook 就把端口写入 txt 文件什么的),这样我就可以用 v4-TCP 打洞的方式直连回家了

5643 次点击
所在节点    NAS
48 条回复
Gitss
2023-05-24 10:50:31 +08:00
你好 OP 合适您的 p2p 网盘我也研究过,第一个为 resilio 全平台 linux 苹果安卓都有客户端高级功能可以搜索网上秘钥激活,第二个为微力同步,速度好,iov6 支持不错。但是要付费 90 多永久。全平台,他们都有一个功能按需同步可以来实现您的网盘功能,同步的客户端越多速度越快。
Gitss
2023-05-24 10:52:39 +08:00
第一个速度不咋滴感觉不稳定,第二个稳定需要付费,交互界面没第一个好,都可以在 linux 下安装,你都安装 debian 了,应该没问题
hing
2023-05-24 11:38:29 +08:00
袋鼠存储,不知道符不符合,当然是旧版,新版改名叫红袋鼠了
lithiumii
2023-05-24 11:40:31 +08:00
你都有 zt 了直接用 samba 呗
IDAEngine
2023-05-24 12:58:11 +08:00
rsync 老版本,很好用
IDAEngine
2023-05-24 12:58:36 +08:00
@IDAEngine btsync ,说错了,走 DHT 网络
MFWT
2023-05-24 13:42:04 +08:00
@Ericality 主要是我现在 NAS 还算够用,而且六盘位白裙也贵啊
MFWT
2023-05-24 13:42:36 +08:00
@root01 网上教程很多啊,而且这是最基本的操作了
MFWT
2023-05-24 13:43:12 +08:00
@gogogo2000 不,我是 FullCone 网络,可以做到无客户端打洞(服务端打出来就行了)
MFWT
2023-05-24 13:44:34 +08:00
@BeautifulSoap 但是我的文件服务器在 NAT 之后(家宽的),SMB 之类的怎么直连呢
BeautifulSoap
2023-05-24 14:36:01 +08:00
@MFWT
1. 我感觉你的思考非常矛盾,你既然都说你的 NAT 类型是 Full Cone 了,都能无客户端打洞了,那么你不就能在任何地方直连你家 NAS 的服务了?
2. 你都能用 Zerotier 了,开个 Zerotier 不就行了?我知道你嫌开个软件麻烦,但是对于组网、NAT 穿透来说,只要你想以点对点的形式连接并且没有固定公网 ip ,你无论如何都必须要在通信两端以某种形式运行一个程序(即便你的 NAT 类型是 Full Cone ),因为你不运行某种形式的程序,你的服务器就不知道你客户端的 ip 和端口,你的客户端也不知道你服务器的 ip 和端口。那么问题来了,你这情况最适合 rsync/synthing ,因为这两者是去中心化文件同步工具且自带内网穿透。但你又不喜欢这两种,那么你就只能选中心化的网盘了,但可惜目前根本没有这种功能的中心化网盘。所以你到头来还是必须要运行组网工具
ohmyself
2023-05-24 15:57:32 +08:00
用你翻的工具,比如 clash 或者任何一个工具,在内网上跑一个 ss ,然后 v6 公网连回来,clash 添加一个内网 ss 节点,然后规则里设置内网 IP 走这个节点。这样你在外面就跟在家一样操作内网设备了。
MFWT
2023-05-24 16:25:05 +08:00
@BeautifulSoap

并不矛盾

1.FullCone 可以无客户端打洞,这是真的,但并非全无代价(最主要的就是,外网端口会变动,因此我需要某种方式来获取最新的可用端口)

2.Zerotier 可用,这不错,但是问题是 zerotier 本身并不具备有文件管理等功能,他就是个组网工具,因此我需要一个别的程序(比如浏览器)来访问我的文件系统。而我的目标需求就是,寻找一个多客户端可用的网盘系统,这个系统自带打洞和中转回落等功能

3.syncthing 据说 P2P 传输效果不错,但是我并不是要『文件同步』,因为我不想在不同客户端上都拥有一模一样的一个文件 /文件夹,我只需要上传下载指定的一个或者数个文件,就可以了
MFWT
2023-05-24 16:26:51 +08:00
@ohmyself

你说的方法我也试过,还是类似于 VPN 的方式,确实 v6 可以用,但是我的目标还是 v4 连接性,所以也不太适合
BeautifulSoap
2023-05-24 17:56:35 +08:00
@MFWT
我寻思你自己不都已经得出结论了 “最主要的就是,外网端口会变动,因此我需要某种方式来获取最新的可用端口” 。为了获取这种信息,你必须要在服务器和客户端那同时运行一个程序。在这里 Zerotier 就是负责这个工作的,同样 synthing ,rasync 这些软件也有这种功能。
> 而我的目标需求就是,寻找一个多客户端可用的网盘系统,这个系统自带打洞和中转回落等功能
我搜了一圈,没有找到符合你这种要求可以内网穿透的中心化网盘。所以你只能选择运行 app 先组网,然后通过内部网络访问 nas 。
jeesk
2023-05-24 18:25:54 +08:00
不能 ddns 直接绑定 zerotier 的虚拟 ip 即可.
Mythologyli
2023-05-24 18:40:26 +08:00
alist 有 webdav driver ,在公网部署 alist ,然后自己写个 driver 在原来的基础上解决 webdav 端口问题应该就可以
ysc3839
2023-05-24 19:35:23 +08:00
现成的方案应该是没的,可以考虑给现有的网盘 app 啥的加入 DNS SRV 记录的解析支持,这样的话你就能把打洞得到的端口写到 SRV 记录里面,然后让客户端自动连接。
参见 https://zh.m.wikipedia.org/wiki/SRV%E8%AE%B0%E5%BD%95
7RTDKSAK
2023-05-24 23:05:34 +08:00
拿 RCLONE 开 WEBDAV 作为服务端

拿 WINSCP 作为客户端来连接

(我随便说得,没有实际测试过)
IvanLi127
2023-05-24 23:21:42 +08:00
我感觉相比 syncthing ,resilio rsync 更像网盘一点,方便分享,能按需下载,能设只读

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/942453

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX