diff --git a/content/post/6726aecbb50f474e84439d779be50b14/index.zh-cn.md b/content/post/6726aecbb50f474e84439d779be50b14/index.zh-cn.md new file mode 100644 index 0000000..fec945b --- /dev/null +++ b/content/post/6726aecbb50f474e84439d779be50b14/index.zh-cn.md @@ -0,0 +1,47 @@ ++++ +author = "FlintyLemming" +title = "群晖的 CloudSync,我劝你别用" +slug = "6726aecbb50f474e84439d779be50b14" +date = "2024-03-20" +description = "群晖的 CloudSync 在同步文件时,会因为某些问题导致不同步部分文件,并且 没 有 任 何 提 示" +categories = ["Consumer", "HomeLab"] +tags = ["群晖", "bug"] +image = "https://img.mitsea.com/blog/posts/2024/03/6726aecbb50f474e84439d779be50b14/rick-rothenberg-HTCLvTGXpmM-unsplash.jpg?x-oss-process=style/ImageCompress" ++++ + +## 省流 + +群晖的 CloudSync 在同步文件时,会因为某些问题导致不同步部分文件,并且 没 有 任 何 提 示。 + +## 具体现象 + +我经常在 A 地的电脑上下载东西,然后再同步到 B 地。于是我选择使用群晖的 CloudSync 同步。具体就是我在 A 上面搭建一个 WebDAV(通过 Alist 实现),然后 B 地的群晖上使用 CloudSync 使用双向同步下载回来。 + +今天我瞟了眼两边的文件数,坏了,不对,漏同步文件了 + +![](https://img.mitsea.com/blog/posts/2024/03/6726aecbb50f474e84439d779be50b14/PixPin_2024-03-20_20-09-12.png?x-oss-process=style/ImageCompress) + +于是我就拉文件列表到 Excel 中对比,发现漏同步的文件含有在 Windows 上显示异常的特殊字符 + +![](https://img.mitsea.com/blog/posts/2024/03/6726aecbb50f474e84439d779be50b14/Untitled.png?x-oss-process=style/ImageCompress) + +![](https://img.mitsea.com/blog/posts/2024/03/6726aecbb50f474e84439d779be50b14/Untitled%201.png?x-oss-process=style/ImageCompress) + +其实这也不算是啥特殊字符,比如第一个是日语里的浊点(U+3099),在 Windows 上显示也是对的 + +![](https://img.mitsea.com/blog/posts/2024/03/6726aecbb50f474e84439d779be50b14/Untitled%202.png?x-oss-process=style/ImageCompress) + +第二个是韩语,在 Windows 上也是分开显示,但是在 Web 上显示是对的 + +![](https://img.mitsea.com/blog/posts/2024/03/6726aecbb50f474e84439d779be50b14/Untitled%203.png?x-oss-process=style/ImageCompress) + +之所以会分开,是因为编辑时使用的输入方式问题。以 ド 为例,如果是输入法候选里选择的 ド,那就会直接输入“ド” (U+30C9),这是一个字符。但如果是靠系统渲染去拼字,输入时输入两个字符,即 “ト” (U+30C8) + 浊点(U+3099),则会出现上述情况。 + +显然,群晖的 CloudSync 至少在我这里没有处理好这个问题。更严重的是,它完全没有任何错误的提示,而是直接忽略了含有 组合用发音符号(combining diacritical mark)的文件。 + +如果它还有别的可能会导致直接不同步的情况,并且已经同步了大量文件的话,我想正常人根本不会发现自己信赖的异地备份其实根本就是不完整的备份。这对于一个专注数据管理与备份的系统来说我觉得是不应该的。 + +坑人…… + +> [Unsplash](https://unsplash.com/ja/%E5%86%99%E7%9C%9F/%E6%B3%A2%E7%B7%9A%E3%81%AE%E3%81%82%E3%82%8B%E9%9D%92%E3%81%A8%E7%B7%91%E3%81%AE%E8%83%8C%E6%99%AF-HTCLvTGXpmM?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash)の[Rick Rothenberg](https://unsplash.com/ja/@rick_rothenberg?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash)が撮影した写真 + \ No newline at end of file diff --git a/content/post/77af4e22a9e44f7f8c2803edc33ab33b/index.zh-cn.md b/content/post/77af4e22a9e44f7f8c2803edc33ab33b/index.zh-cn.md index bc235d4..35906c5 100644 --- a/content/post/77af4e22a9e44f7f8c2803edc33ab33b/index.zh-cn.md +++ b/content/post/77af4e22a9e44f7f8c2803edc33ab33b/index.zh-cn.md @@ -6,16 +6,16 @@ date = "2024-03-11" description = "" categories = ["HomeLab", "Network"] tags = ["异地组网", "Tailscale", "Netbird"] -image = "https://img.mitsea.com/blog/posts/2024/03/martin-katler-eVk59Ks4k2U-unsplash.jpg?x-oss-process=style/ImageCompress" +image = "https://img.mitsea.com/blog/posts/2024/03/Netbird%20%E5%AD%90%E7%BD%91%E8%B7%AF%E7%94%B1%E8%AE%BE%E7%BD%AE%20%EF%BC%88%E5%A4%84%E7%90%86%E4%B8%8D%E4%BE%BF%E5%AE%89%E8%A3%85%E7%9A%84%E8%AE%BE%E5%A4%87%EF%BC%89/martin-katler-eVk59Ks4k2U-unsplash.jpg?x-oss-process=style/ImageCompress" +++ 上一期简单介绍了 Netbird 的子网路由的配置,相比与 Tailscale 真的是简单很多。但是还遗留一个问题,就是如果设备不方便或者不想安装 Netbird 应该怎么办。其实不影响的,两个内网只要分别在一台设备上安装 Netbird,这两个内网的所有设备其实都可以互访。比如在下图中,让设备 A1 直接访问 B1(红色箭头)。当然,也可以直接访问 Netbird 内网中的其他设备(橙色箭头)。 -![](https://img.mitsea.com/blog/posts/2024/03/Netbird_%25E5%2586%2585%25E7%25BD%2591%25E8%25B7%25AF%25E7%2594%25B1.jpg?x-oss-process=style/ImageCompress) +![](https://img.mitsea.com/blog/posts/2024/03/Netbird%20%E5%AD%90%E7%BD%91%E8%B7%AF%E7%94%B1%E8%AE%BE%E7%BD%AE%20%EF%BC%88%E5%A4%84%E7%90%86%E4%B8%8D%E4%BE%BF%E5%AE%89%E8%A3%85%E7%9A%84%E8%AE%BE%E5%A4%87%EF%BC%89/Netbird_%25E5%2586%2585%25E7%25BD%2591%25E8%25B7%25AF%25E7%2594%25B1.jpg?x-oss-process=style/ImageCompress) 这样在内网其他设备上即便不安装任何组网工具,也可以无缝访问多个内网 -![](https://img.mitsea.com/blog/posts/2024/03/Untitled.png?x-oss-process=style/ImageCompress) +![](https://img.mitsea.com/blog/posts/2024/03/Netbird%20%E5%AD%90%E7%BD%91%E8%B7%AF%E7%94%B1%E8%AE%BE%E7%BD%AE%20%EF%BC%88%E5%A4%84%E7%90%86%E4%B8%8D%E4%BE%BF%E5%AE%89%E8%A3%85%E7%9A%84%E8%AE%BE%E5%A4%87%EF%BC%89/Untitled.png?x-oss-process=style/ImageCompress) ## 准备工作 @@ -33,7 +33,7 @@ image = "https://img.mitsea.com/blog/posts/2024/03/martin-katler-eVk59Ks4k2U-uns 3 处填写来源区域内网安装 Netbird 的设备所在的 Group -![](https://img.mitsea.com/blog/posts/2024/03/Untitled%201.png?x-oss-process=style/ImageCompress) +![](https://mitsea-img.oss-cn-shanghai.aliyuncs.com/blog/posts/2024/03/Netbird%20%E5%AD%90%E7%BD%91%E8%B7%AF%E7%94%B1%E8%AE%BE%E7%BD%AE%20%EF%BC%88%E5%A4%84%E7%90%86%E4%B8%8D%E4%BE%BF%E5%AE%89%E8%A3%85%E7%9A%84%E8%AE%BE%E5%A4%87%EF%BC%89/Untitled%201.png) 这样的话,以开头的图为例,设备 A2 就可以访问区域 B 的所有内网设备了 @@ -41,7 +41,7 @@ image = "https://img.mitsea.com/blog/posts/2024/03/martin-katler-eVk59Ks4k2U-uns 设置区域 A 的路由器,添加静态路由。目的是让这个内网设备访问区域 B 的内网网段时,不会被路由器丢弃,而是发送到 Netbird 设备上。具体配置如下: -![](https://img.mitsea.com/blog/posts/2024/03/Untitled%202.png?x-oss-process=style/ImageCompress) +![](https://img.mitsea.com/blog/posts/2024/03/Netbird%20%E5%AD%90%E7%BD%91%E8%B7%AF%E7%94%B1%E8%AE%BE%E7%BD%AE%20%EF%BC%88%E5%A4%84%E7%90%86%E4%B8%8D%E4%BE%BF%E5%AE%89%E8%A3%85%E7%9A%84%E8%AE%BE%E5%A4%87%EF%BC%89/Untitled%202.png?x-oss-process=style/ImageCompress) 目的地址和子网掩码:填写区域 B 的内网网段,可以再加一条,填写 Netbird 的内网网段 @@ -55,7 +55,7 @@ image = "https://img.mitsea.com/blog/posts/2024/03/martin-katler-eVk59Ks4k2U-uns 1. 确认 Netbird 创建的 TUN 所使用的 Interface 名称(一般是 wt0)以及默认联网网卡的 Interface 名称。你可以使用`ip addr show` 来确认 - ![](https://img.mitsea.com/blog/posts/2024/03/Untitled%203.png?x-oss-process=style/ImageCompress) + ![](https://img.mitsea.com/blog/posts/2024/03/Netbird%20%E5%AD%90%E7%BD%91%E8%B7%AF%E7%94%B1%E8%AE%BE%E7%BD%AE%20%EF%BC%88%E5%A4%84%E7%90%86%E4%B8%8D%E4%BE%BF%E5%AE%89%E8%A3%85%E7%9A%84%E8%AE%BE%E5%A4%87%EF%BC%89/Untitled%203.png?x-oss-process=style/ImageCompress) 我这边就是 wt0 和 eth0,这两个 Interface 名称要记住,后面配置 iptables 要用。