前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Syncthing:高效文件同步工具

Syncthing:高效文件同步工具

作者头像
美丽应用
发布2018-07-20 13:53:28
2.4K0
发布2018-07-20 13:53:28
举报
文章被收录于专栏:美丽应用美丽应用
2017-06-16_4_53_25_下午.jpg
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_19_下午.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_58_下午.jpg
2017-06-16_4_39_58_下午.jpg

同步文件:

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

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

2017-06-16_4_39_51_下午.jpg
2017-06-16_4_39_51_下午.jpg
2017-06-16_4_40_05_下午.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

  另外插播一条小广告:   我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻: https://cloud.tencent.com/developer/support-plan?invite_code=2xv0384d37s4g

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-06-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章更新:
  • 初始配置:
  • 添加设备:
  • 同步文件:
  • 应用下载:
    • Github:
      • Google Play:
        • F-Droid:
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档