扫盲 BTSync(Resilio Sync)——不仅是同步利器,而且是【分布式】网盘

发布于 2020-11-12  288 次阅读


原文地址

  先向大伙儿宣布个好消息——经过多位热心读者的大力支持,经过几天的努力,已经完成了 “微软网盘” 到“BitTorrent Sync”的迁移工作。再次向这批热心读者表示感谢。可惜俺不能说出他们的名字 / 网名,以免给他们带来不必要的麻烦——他们只能作为 “幕后无名英雄”。

★引子

  在几周前(12 月下旬),俺发了一篇《博客开通【免翻墙】镜像,另通告网盘电子书的问题》,其中提到了俺的 “Dropbox 网盘” 连续几个月持续处于 “流量超限” 的状态,基本上没法用来下载电子书了。当时就提到了俺的备选计划——用 BT sync 来作为“第三网盘”。
  既然迁移工作已经完成,今天就发一篇教程,向大伙儿简单扫盲一下 BitTorrent Sync 的使用。

★事先说明

  GFW 从 2017 年 7 月开始封锁 BTsync 官方的追踪服务器(Tracker Server),导致墙内大部分 BTsync 客户端无法正常工作。对此,俺专门写了一篇博文(如下),介绍应对的招数。
聊聊 GFW 如何封杀 Resilio Sync(BTSync)?以及如何【免翻墙】继续使用?

  另外,“BitTorrent Sync” 从 2016 年开始改用新的名称——“Resilio Sync”,不过俺还是习惯于原来的名称。(为了打字省力,本文使用简称 “BT Sync”)

★BT Sync 是啥?

  BT 下载,相信大伙儿都知道的。今儿个要介绍的 BT Sync,跟 BT 下载一样,都是 BitTorrent 公司发明滴玩意儿,都是采用 P2P 协议来进行传输。
  简而言之,BT sync 是一个文件同步工具,让你在几台不同的设备之间,同步文件。
  既然是 “文件同步工具”,那么最基本的“增量同步” 功能,当然是必不可少的。另外,据俺测试:同步完成之后,如果在 “发起端” 对文件改名,但是文件内容不变,BT Sync【不会】重传文件内容——这算是比较智能的。

★BT Sync 有啥优点?

◇作为 “同步工具” 的优点

  首先来说说 BT Sync 作为同步工具的优点。至少有如下几个:
1. 不需要有自己的服务器
2. 不需要有公网 IP——如果两台设备都在【内网】,只要这两台设备都能访问到公网,就可以相互同步
3. 文件数量【无】限制,文件大小【无】限制
4. 支持多种网络形态——可以 “公网上互相同步”,也可以是 “局域网内相互同步”。
5. 支持各种操作系统(以下列表摘自洋文维基百科)

Microsoft Windows (XP SP3 or later)
Mac OS X (10.6 or later)
Linux
FreeBSD
NAS Devices
Android
Amazon Kindle Fire
iOS
Windows Phone

◇作为 “分布式网盘” 的优点

  再来说说 BT Sync 作为 “分布式网盘” 的优点——这也就是为啥,俺决定用它来分享 “电子图书馆” 和“翻墙工具”。
1. 【没有】存储空间的限制——真要说空间限制,那就是参与节点的硬盘容量(如今【TB 级】的硬盘已经不稀奇了)
2. 【没有】下载流量的限制——与之对比,大部分商业网盘都有这个限制。就是因为这个限制,俺的 Dropbox 网盘才会瘫痪。
3. 【没有】文件大小限制——与之对比,大部分商业网盘对 “单个文件大小” 都作了限制。
4. 【没有】审查——俺想在上面分享啥,就分享啥——咱们朝廷管不了,美国的版权法也管不了(一想到这点,心里那个爽啊)。
5. 【没有】费用——老读者都明白,俺是很讨厌付费服务的——其实俺不缺钱,俺是担心身份暴露(即使 “比特币” 支付,也【不是】彻底 “匿名” 的)
6. 【很难】被封杀——与之对比,国外的商业网盘,GFW 说封杀就封杀(比如俺用来分享电子书的 “微软网盘” 和“Dropbox 网盘”都撞墙了)

  (看完这些优点,或许你就明白——为啥 BTSync 被称为 “Dropbox 终结者”)
  另外,开源的 BT Sync 替代品已经出现了——名叫 Syncthing。可惜还不够成熟,而且也【不】适合用来做大范围分享。

◇“安全方面” 的优点

  不同的 BT Sync 节点之间进行数据传输时,会采用 “强加密” 的方式,以防止数据传输流量被嗅探(偷窥)。
  只有参与同步的节点,才能解密;而那些帮你中转的 “中转服务器”,是没有办法解密的。因此,即使你的 ISP(电信运营商)监视你的流量,也【无法】知道你通过 BT Sync 传输了啥文件。

★BT Sync 的下载

  要下载 BT Sync,请猛击它的官网链接 https://www.getsync.com/,就可以看到下载链接。
  如果你下载的是 Windows 上运行的 exe,会自带 “数字签名”。为了保险起见,校验一下。(如何校验 exe 的数字签名,请看《扫盲文件完整性校验——关于散列值和数字签名》)

★BT Sync 的安装

  (考虑到大部分人用的是 Windows,俺就以这个系统为例)
  你下载的 exe 文件是【绿色】滴,可以直接双击运行。启动的时候,如果系统弹出一个 “登录对话框” 让你输入管理员密码,你直接取消掉——因为 BT Sync 在普通用户的权限下,也可以运行。
  (在《如何防止黑客入侵》系列中,俺专门强调过——能不用管理员权限,就尽量别用

  运行之后,有两种可能:
1. 如果系统的 IE 版本足够高,BT Sync 会显示出客户端界面。
2. 如果系统的 IE 版本比较低,BT Sync 会自动弹出系统中的默认浏览器,并打开 BT Sync 的 Web 管理界面(如下图)。万一没有自动弹出浏览器,你可以自己打开浏览器,访问 http://127.0.0.1:8888/ 就可以看到 BT Sync 的管理界面。

pic_001.png
★BT Sync 的使用

  前面说了好多屁话,现在终于说到重点部分啦。
  (本文下面的使用说明,采用是的 BTSync 1.4 版本的截图。后来 BTSync 又出了好几个新版本,界面会有变化。大伙儿只需抓住关键点,无需在意界面的差别

◇“同步密钥” 的概念

  要使用 BT Sync 的功能,首先要了解 “同步密钥” 的概念。
  每个参与同步的目录,都有其密钥。你只有拿到这个密钥,才能同步该目录的文件。
  对于普通的使用场景,每个同步目录对应两个密钥:一个是 “读写密钥”,另一个是“只读密钥”。顾名思义,拥有“读写密钥” 的节点,可以修改同步目录的内容;反之,拥有 “只读密钥” 的节点,只能读取,无法修改——所谓的“无法修改”,就是说:即使你修改了同步目录的内容,修改结果也【不会】同步给其它节点(所以这种修改是【无】意义的)。
  对于目前的 1.4.XXX 版本,这两种密钥的长度都是【33 个字符】。“读写密钥” 总是以 A 开头;“只读密钥” 总是以 B 开头。因此,密钥的有效长度是 32 个字符(有兴趣的同学可以去算一下,此密钥包含多少比特)。这么长的密钥,基本上不用担心被暴力猜解(至少 10 年之内不用担心)。
  至于如何得到密钥,请看下面的介绍。

◇设置语言

  考虑到大部分同学,不喜欢(或者看不懂)洋文界面。所以第一次启动之后,先把 “洋文” 改为“天朝文”。配置界面的截图如下。

pic_002.png
pic_003.png
pic_004.png

◇如何 “接受同步”

  先从比较简单的 “接受同步” 说起。
  比如说,俺已经共享了一个 “翻墙软件” 的同步目录,然后俺把只读密钥公布如下:

BTLZ4A4UD3PEWKPLLWEOKH3W7OQJKFPLG

  当你拿到这个密钥之后,可以通过如下步骤,导入密钥,并在你本机创建一个同步目录。(截图如下)

pic_005.png
pic_006.png
pic_007.png

  完成上述步骤之后,BT Sync 就把你选择的目录作为同步目录。今后俺如果往自己的 “翻墙工具” 目录增加了新的软件,你的 BT Sync 会自动同步并保存到你的这个目录。
  在这个同步目录里面会创建一个名为 .sync 的子目录。这个 .sync 目录会包含 BT Sync 的一些配置信息(可能该目录的密钥也在里面),你【可别】把它给删喽。

  接受了某个同步目录之后,在 BT Sync 的主界面上,会显示该目录的信息。
  这时候,你可以修改该 “同步目录” 的“选项参数”。(截图如下)

pic_008.png
pic_009.png

◇如何 “发起同步”

  说完 “接受同步”,再来说说 “发起同步”。

pic_010.png
pic_007.png

  跟前面一样,你可以修改该 “同步目录” 的“选项参数”。(截图如下)
  由于你是发起方,所以你默认就具有了 “读写密钥”。这个“读写密钥” 很重要,【不可轻易泄露】。一旦泄露,得到读写密钥的节点,就可以修改这个目录的内容。
  前面提到,同步目录下的 .sync 目录会包含一些配置文件(可能也含有密钥,俺不太确定)。所以,为了保险起见,当你发起【多个】同步目录的时候,这几个目录相互之间【不要】嵌套包含。

pic_008.png
pic_011.png

◇某些全局的 “选项”

  最后,来说说全局的 “选项”——也就是一开始修改“语言” 的地方。
  全局选项有几个地方,俺需要提醒一下。
  1
  如果你让 BT Sync 走代理(proxy)的方式联网,最好勾选 “使用代理服务器用于主机名解析” 这个复选框。
  2
  BT Sync 默认会使用当前系统的主机名,作为它的节点名(也叫 “设备名”)。
如果你对隐私比较在意,建议到全局选项的界面中,把 BT Sync 的设备名修改掉,改成一个跟你本人真实身份无关的名称。

★疑难解答

  本章节专门汇总使用过程中碰到的奇奇怪怪的问题。

◇关于 “找不到节点”

  如果找不到节点,可以尝试如下操作,或许就可以找到了(有时候要看运气):
1. 先把已经添加的同步目录删除(在界面上选中,点菜单中的 “断开连接”)
2. 重新导入密钥

◇关于 “系统时间” 的误差

  运行 BT Sync 的系统,最好是开启自动时间同步。否则的话,如果系统时间严重不准,会导致 BT Sync 无法正常工作。

★俺分享的资源

  因为今天是扫盲,就先聊最基本的功能使用。以后有空再聊高级话题——其实俺也是刚上手不久,没啥高级话题可说 :(

◇翻墙工具

  在刚才示范的时候,已经提到——俺用 BT Sync 来分享翻墙工具,密钥如下:

BTLZ4A4UD3PEWKPLLWEOKH3W7OQJKFPLG

  用 BT Sync 分享翻墙工具,最大的好处是——可以绕过 GFW。只要有一个【墙内的】BT Sync 节点拿到翻墙工具,那么其它的【墙内节点】也可以同步并得到。而 GFW 是部署在天朝的国际出口。【墙内】两台电脑之间的传输,【不会】经过 GFW。

◇电子书同步密钥

  经过前几篇博文的铺垫,很多电子书爱好者估计已经跃跃欲试了。
  下面就是俺用 BT Sync 分享的电子书目录的密钥。每个目录的结构,跟俺的微软网盘上的目录结构,是基本一致的。

B7P64IMWOCXWEYOXIMBX6HN5MHEULFS4V    俺博客的“离线浏览页面”和“博客电子书制作脚本”
BRSSYZTSAC6UGYTUOJ22L4GCO7QESPPBD    政治(含大量禁书)
BNZ6DOA6W577O6GUNH7C3MY6DWC6FTDQB    心理学
BSH7FXJFVWJTKWGSX5GTWX7PHZZ2D2M7Q    历史
B2FRYA6AXCDW6CF4YJVFWKH2HAXOFICOX    经济
B3WNBTAAFFAODFR6FQ3E3L5BBSJAFNBSJ    管理
BZR4TTYHT25QWUIE6YNMAKWUGBHKSGLC6    社会学
BMBB5YLBIJJAE5H6TP27OS7YCEUKCYHZK    文艺
B6WWVBXPMZDI5IL4KED6AAHA5FO4UNKQF    哲学
BMWWZALG4P56LREF47EE2WSWHZEM4E6BL    军事
BUPSDXFA3TP7KCMLHALRHLIX2FEJEUJFE    IT(信息技术)

◇电子书清单

  大伙儿可以猛击如下链接,就可以看到【所有】电子书的列表(全都按学科进行分类了)。该清单也包含了上述密钥及相关说明。
https://github.com/programthink/books

俺博客上,和本文相关的帖子(需翻墙)
聊聊 GFW 如何封杀 Resilio Sync(BTSync)?以及如何【免翻墙】继续使用?
聊聊分布式散列表(DHT)的原理——以 Kademlia(Kad) 和 Chord 为例
提供 “博客离线浏览” 和“电子书制作脚本”——用 BT Sync【免翻墙】自动同步
多台电脑如何【共享】翻墙通道——兼谈【端口转发】的几种方法
如何让【不支持】代理的网络软件,通过代理进行联网(不同平台的 N 种方法)


或许明日太阳西下倦鸟已归时