最近在尝试使用Joplin管理并记录自己的日常生活,看上它主要是因为数据都在本地,而且可以加密。但问题也出现了,如何将不同设备上的Joplin数据同步。首先试用了 OneDrive ,它的好处是免费,不需翻墙。但是也有两点坏处:一是数据要交给微软;二是网速太慢,同步一次要 1 分钟。因此我开始寻找更好的同步方案,然后就发现Joplin支持使用 S3 做数据同步后端。随即我产生了一个思路:在家庭服务器上部署一个minio实例提供对象存储,然后想办法让所有设备都能连上这个实例。
已知的有利情况有:
因此总体设计就基于上述三点,实现一个将家庭服务器的非常规端口反代到 cloudflare 上常规端口的架构。
家庭网络内部的配置就不赘述了,简单的端口映射即可。重点在于 cloudflare origin rules 的配置。截图如下:
我还搭配上了 DDNS 以实现不间断服务,并定期更换路由器上的对外端口以避免被盯上。
1
ccbikai 2023-09-10 23:52:32 +08:00 via iPhone
cloudflared tunnel 更简单
|
2
qsnow6 2023-09-11 00:08:28 +08:00
如果只是自己用的话 tailscale 把所有的设备串起来就行了,稳定、可靠。
|
3
hugo007y 2023-09-11 00:13:17 +08:00 via iPhone
支持 webdav ,搭一个就行了,外网用 ddns 加端口映射。不太需要做隧道。
|
4
Tink 2023-09-11 00:18:18 +08:00 via Android
建议使用 cloudflare tunnel
|
5
chancat 2023-09-11 01:44:16 +08:00 via Android
好麻烦。。直接 ddns 不得了吗?不然 zeroTier ,tailscale,cloudflared tunnel 都很简单,一个 openwrt 固件即可
|
6
estk 2023-09-11 07:14:27 +08:00 via iPhone
刑,我这就去逝世
|
7
locoz 2023-09-11 08:12:50 +08:00 via Android
你这方案还可以优化,两点建议:
1 、同步完全可以考虑用 resilio-sync 做,同步速度很快,放后台自己同步无感知。 2 、无 vpn 通过域名不带端口且隐藏服务端 ip 访问家里的网站类服务,你可以选择用腾讯云 cdn ,支持填写自定义端口的源地址,国内使用速度比 cloudflare 快得多。 |
8
musi 2023-09-11 08:56:48 +08:00
没备案被查就 gg
|
9
azusematsuri 2023-09-11 09:37:25 +08:00 via Android
为啥不直接用 joplin/server
|
10
ShunYea 2023-09-11 10:10:20 +08:00
@chancat 这类产品是不是还是得有个主控服务器,万一哪天官方发威,是不是全部被禁用就用不了了?我现在用的自建 nps ,但是感觉更新不太频繁,负载不得而知,能用多久也不知道。
|
11
Pteromyini 2023-09-11 11:06:13 +08:00
这个方案非常不完美,实际上要满足你这个需求基本有三种方案
1 、有公网 ip ,直接 ddns ,风险是被查到可能会断网(不是危言耸听) 2 、异地组网方式,自用通过 zerotier 、tailscale (有公网 Ip 也可以 openvpn 、wg )方案(最推荐,安全性最高) 3 、内网穿透方案,通过 cf tunnel 、frp 、nps 等穿透特定端口(优点是可以提供公网服务而非只是自己用,缺点也很明显,除了 1 提到的合规风险外,还有带宽受限于中转服务器) |
12
Calaquendiv 2023-09-12 01:36:01 +08:00 via iPhone
用 nas 的搭服务都有被抓的 还敢部署家庭服务器
|