Syncthing的安装与使用
Posted liangqihui
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Syncthing的安装与使用相关的知识,希望对你有一定的参考价值。
Syncthing的安装与使用
现在的网盘,一言不合就被「脱裤」,又或者「根据相关法律法规」要整改,要么干脆就关闭了,你们这样让我非常angry!这样乱搞,还让不让人好好地备份文件啦?本着「自己动手丰衣足食」的理念,今天老司机我带大家用
Syncthing
来创建属于自己的同步网盘。
什么是Syncthing
按照惯例应该是要先介绍今天的主角的,下面是摘自Syncthing官网首页的一段介绍
Syncthing replaces proprietary sync and cloud services with something open, trustworthy and decentralized. Your data is your data alone and you deserve to choose where it is stored, if it is shared with some third party and how it‘s transmitted over the Internet.
一句话说完就是「我们这个东西跟那些云服务不一样,是非常安全可靠值得信赖的,你的数据由你来作主」。
准备
既然要同步文件,当然要有至少两台机器了,我这里用的是一台笔记本电脑和一个CentOS的VPS,笔记本作为本地设备,VPS作为远程设备。这里要说明一点,用作文件同步的设备,可以是任何系统任何设备,并不是限定于必须要有一台服务器,在局域网内的两台电脑都可以建立你自己的同步网盘(网盘这个说法其实并不准确)。除了两台机器外,还需要机器系统对应的Syncthing的二进制文件,具体可以从Syncthing首页的「Syncthing Core (CLI & Web UI)」里找到对应版本的下载地址。
现在需要的东西都已经准备好了:
- Windows 7 32bit
- CentOS 6 64bit
- Syncthing Core Windows 32 bit
- Syncthing Core Linux 64 bit
安装
先从官网下载好Windows 32位版(我本本对应的系统版本)的Syncthing,解压后可以看到如下文件结构
直接运行syncthing.exe
会弹出一个黑框框,里面会有一大堆信息,可以不用管
同时浏览器还会打开http://127.0.0.1:8384/
这个网址,可以看到默认已经创建了一个默认文件夹yct7k-lrebo
,所在路径为C:UsersAdministratorSync
本地的机器Windows版本就这么简单搞定啦!接下来给VPS也装上,用Xshell
连上服务器,然后用wget
命令下载Syncthing
的Linux 64位版,版本号对应官网上的最新版,请自行选择:
cd ~
wget https://github.com/syncthing/syncthing/releases/download/v0.14.5/syncthing-linux-amd64-v0.14.5.tar.gz
现在可以把下载到的文件解压,然后进入解压后的目录:
tar xzvf syncthing-linux-amd64-v0.14.5.tar.gz
cd syncthing-linux-amd64-v0.14.5
有个可执行文件syncthing
,我们要把它放到我们的PATH
中,以便直接执行:
cp syncthing /usr/local/bin
之前下载和解压出来的文件可以全部删掉了:
cd ~
rm -rf syncthing*
到这里我们在VPS上的Syncthing已经安装好了,可是直接运行的话,并不能通过外网访问到管理页面,因为Syncthing的管理页面默认是只有本机可以访问的,所以接下来还要进行一点修改,先运行Syncthing:
syncthing
随后就会看到有很多信息,和之前在Windows运行一样,看到类似以下内容的时候就可以按CTRL-C
退出程序了:
[OH4IP] 13:32:15 INFO: Completed initial scan (rw) of folder edatb-zzc5f
[OH4IP] 13:32:15 INFO: Device OH4IPQD-QDCDAZB-YMMZE4F-BAK4BLQ-3EZLPTD-V73J37V-LTW44V6-YSM6JQ7 is "ruter.ga" at [dynamic]
[OH4IP] 13:32:15 INFO: Loading HTTPS certificate: open /root/.config/syncthing/https-cert.pem: no such file or directory
[OH4IP] 13:32:15 INFO: Creating new HTTPS certificate
[OH4IP] 13:32:15 INFO: GUI and API listening on 127.0.0.1:8384
[OH4IP] 13:32:15 INFO: Access the GUI via the following URL: http://127.0.0.1:8384/
[OH4IP] 13:32:16 INFO: Detected 0 NAT devices
我们第一次运行是为了让它创建配置文件,然后我们再进行修改。用以下命令对配置文件进行编辑:
vim ~/.config/syncthing/config.xml
一瞬间是不是懵逼了?不要慌,先找到下面这几行:
<gui enabled="true" tls="false" debugging="false">
<address>127.0.0.1:8384</address>
<apikey>2GeGJK9z6tXKP3nHJYU56ZHoYSYnqQ9S</apikey>
<theme>default</theme>
</gui>
然后把IP127.0.0.1
修改成0.0.0.0
即可保存退出:
<gui enabled="true" tls="false" debugging="false">
<address>0.0.0.0:8384</address>
<apikey>2GeGJK9z6tXKP3nHJYU56ZHoYSYnqQ9S</apikey>
<theme>default</theme>
</gui>
设置好之后执行syncthing
运行,就可以通过http://your_ip_addr:8384
来进行访问管理了,如果直接通过外网ip:端口访问还是无法打开管理页面,那就需要进行防火墙的设置开启8384端口了:
iptables -I INPUT -p tcp --dport 8384 -j ACCEPT
service iptables save
service iptables restart
syncthing
再次打开http://your_ip_addr:8384
就能看见管理页面了
可以很明显地看到一条警告信息,提醒我们设置管理用户及密码,点击「设置」,然后把「用户名」和「密码」填写好,「使用加密连接到图形管理页面」这个是开启HTTPS
,按需勾选
同步
打开本地管理页面http://127.0.0.1:8384/
,然后点击「添加远程设备」将VPS添加到同步列表里,其中「设备ID」需要在VPS的管理页面打开「操作」--「显示ID」查看,将ID复制到「设备ID」一栏中,「地址列表」默认使用dynamic
即可,其他按需修改
保存之后我们可以在VPS端的管理页面上看见连接请求
添加成功后会有共享文件夹的提示
为了测试文件同步是否成功,我在本地同步路径C:UsersAdministratorSync
添加了一个文件ROR.txt
,自动同步完成后可以在VPS端管理页面看到「最后接收的文件」显示「已更新 ROR.txt」
进阶
在服务器上使用Syncthing可以修改配置文件后使用外网进行访问管理,本地端也可以如法炮制,如果没有外网IP则需要使用花生壳
之类的进行映射,具体操作请移步Google :)
Syncthing有一些高级的功能前面没有提及,例如每个共享的文件夹都可以在「选项」内打开「高级设置」,进行一些设置,如开启「版本控制」。
通过Syncthing共享的文件夹,被取消共享后,本地已经同步的文件也依然会存在。
除了自己使用,在小圈子内也是很有利用价值,例如共享资源什么的,再也不用忍受各种网盘的龟速上传下载以及删资源啦!
扩展
以上只是简单的安装和设置步骤,还有很多内容没有涉及到,例如开机启动、忽略同步内容、命令行操作等等,具体请查看官方文档,里面有非常详尽的教程。
谢谢阅读(σ′▽‵)′▽‵)σ
以上是关于Syncthing的安装与使用的主要内容,如果未能解决你的问题,请参考以下文章
Server ❀ Syncthing安装部署,一种新型的文件同步工具(免费)