Syncthing:高效文件同步工具

2017-06-16_4_53_25_下午.jpg

  文章更新:
  20170614 初次成文

  • 应用名称:Syncthing
  • 应用包名:com.nutomic.syncthingandroid
  • 备注说明:暂无

  
  在上一篇文章中:
  树莓派折腾记:安装和配置Syncthing
  小苏为大家介绍了如何在树莓派上安装和简单配置Syncthing。所以这篇文章呢,就让小苏写写安卓设备上的Syncthing吧~

  Android上的Syncthing同样是一款开源且免费的应用,Android上的Syncthing以二进制文件libsyncthing.so(可在/data分区下Syncthing的lib目录下找到)作为程序内核,辅以APP来对Syncthing作可视化配置。同时Android版的Syncthing也支持WEBUI,同样,Android版Syncthing的WEBUI不论是界面还是功能,与其他各平台上的Syncthing相比都是相似的。

  初始配置:
  初次打开Syncthing的APP后,Syncthing将会生成唯一的设备标识,这可能需要一段时间。值得说明的是,设备标识是在同步过程中识别设备的重要数据,添加设备等操作都需要用到设备标识。生成完毕后,Syncthing将启动服务并进入的主界面,在主页面的侧边栏上我们可以看到刚刚生成好的设备标识:

2017-06-16_4_43_13_下午.jpg

2017-06-16_4_43_19_下午.jpg

  进入主界面后,我们先对Syncthing进行基础的配置。由于Syncthing的配置项较多且很多设置项比较专业,所以小苏不主张大家随意修改作用不明的设置项,不恰当的设置可能会导致Syncthing崩溃甚至本地文件的丢失。

  进入Syncthing的配置界面后,我们可以对Syncthing的"运行条件"进行配置。默认情况下Syncthing将在用户手动打开APP时才会启动服务。如果你想让Syncthing总是在后台运行,可以将"总是在后台运行"这一项启用。同时Syncthing还提供个性化的同步规则,比如"仅在充电时同步","仅在无线网络下"同步。改变Syncthing的运行条件后,Syncthing会根据设备当前的状态即时改变自身的服务状态,例如"仅在充电时同步"这一项被启用,而设备当前并没有连接充电器,则在启用这一项后Syncthing将会立即停止服务。

  对于高版本的Android系统来说,一般应用在获得Android系统的"存储空间"授权后,可以自由读取SD卡中的文件,如果需要向外置SD卡中写入文件,可能需要通过DocumentProvider来进行授权。但有些遗憾的是,Syncthing并没有提供通过DocumentProvider授权以写入SD卡的机制,这也意味着你可能不能将其他设备上的文件通过Syncthing同步并写入SD卡,当然,写入内置存储是完全没有问题的。这也意味着你可以将SD卡中的文件同步到其他设备上,但在你在接收其他设备同步至本机的文件时,存储路径只能选择内置存储。

  但在默认情况下,Syncthing限制了对外置SD卡文件的读取,我们需要在Syncthing的"设置 - 行为"中启用"使用高级文件夹选择器",启用这一项后,必须在侧边栏中点击"重启"来重启服务才可以应用此项设置。

  在Syncthing启用服务后,默认会在通知面板启用一个通知以维持服务正常运行,如果你不想让此通知显示在通知面板,可以在"设置 - 行为 - 通知"中选择"隐藏"。

  我们可以在"侧边栏 - 网页管理页面"中进入Syncthing的WEBUI,在应用内进入WEBUI时,无需输入用户名和密码。如果你想在局域网下的其他设备上访问此台设备Syncthing的WEBUI,可以在其他设备的浏览器地址栏中输入这台设备的IP地址:8384,进入WEBUI前需要输入用户名和密码进行认证,用户名和密码可以在"设置 - 同步设置 - 管理页认证用户/密码"处进行查看和修改。

  添加设备:
  在Syncthing中添加设备同样也很简单,对于处于同一局域网下的设备,我们只需要在Syncthing的主界面下切换到"设备选项卡",点击右上角的"+"按钮输入其他设备的"设备标识"即可,对于"名称"可以自定义"。在地址列表中可以默认"dynamic"(意为自动发现局域网中的设备),也可以输入需要添加设备的IP地址。值得注意的是,同步双方必须互相添加对方的设备才能正确识别,如果设备1仅仅是单向添加了设备2,而设备2没有添加设备1时,设备1和设备2之间将无法互相识别。

2017-06-16_4_39_13_下午.jpg

  同步文件:
  成功添加设备后,我们可以添加需要进行同步的目录。Syncthing在进行同步时将会以"目录"为单位,Syncthing会定时扫描此目录中的文件并且与远程设备中的文件做比较,如果目录中的文件发生了变动(包括但不限于文件增加,删除,修改,重命名),则将会触发同步,使设备间文件夹的内容保持完全一致。

  添加同步目录时,我们需要在Syncthing的主界面切换到文件夹"选项卡,点击右上角的"+"按钮进入同步目录添加界面。在添加文件夹时,设定好"文件夹标签"(即在Syncthing中显示的文件夹标识)和需要同步的"文件夹目录"后,我们还需要选择需要同步的设备,一切就绪后,点击右上角的"√"图标提交。提交同步目录后,我们需要登入被同步的设备的WEBUI,在WEBUI中将会看到通知,选择"允许",并且在此设备中设定同步目录即可。

2017-06-16_4_39_51_下午.jpg

2017-06-16_4_39_58_下午.jpg

2017-06-16_4_40_05_下午.jpg
  
  
  应用下载:

  Github:
  https://github.com/syncthing/syncthing-android/releases

  Google Play:
  https://play.google.com/store/apps/details?id=com.nutomic.syncthingandroid

  F-Droid:
  https://f-droid.org/app/com.nutomic.syncthingandroid

已有 4 条评论
  1. k3v1nyang

    大佬更新啦~

    1. 对...
      最近要考试了,所以更新频率会放缓一些...(ง •̀_•́)ง

  2. [...]树莓派折腾记:安装和配置Syncthing | Syncthing:高效文件同步工具[...]

  3. 测试

    测试

添加新评论