前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Syncthing自建私有同步盘

使用Syncthing自建私有同步盘

作者头像
砸漏
修改2020-10-16 10:07:26
2.4K0
修改2020-10-16 10:07:26
举报
文章被收录于专栏:恩蓝脚本恩蓝脚本

syncthing应该是目前开源界人气最高的一款了,这个主打私有,真的完全私有。。。没有公开分享的功能,并且同步必须要两端相互添加对方许可才行。

毕竟是基于GO开发的,搭建都很简单,并且官方提供了二进制文件,下载即用:

代码语言:javascript
复制
wget https://github.com/syncthing/syncthing/releases/download/v1.0.0/syncthing-linux-amd64-v1.0.0.tar.gz
tar -xzvf syncthing-linux-amd64-v1.0.0.tar.gz
cd syncthing-linux-amd64-v1.0.0
cp syncthing /usr/bin

这里我还是按照自己的习惯把配置成systemd的服务:

代码语言:javascript
复制
vi /etc/systemd/system/syncthing.service

写入:

代码语言:javascript
复制
[Unit]
Description=Syncthing - Open Source Continuous File Synchronization
After=network.target

[Service]
User=root
ExecStart=/usr/bin/syncthing -no-restart -logflags=0
Restart=on-failure
SuccessExitStatus=3 4
RestartForceExitStatus=3 4
ProtectSystem=full
PrivateTmp=true
SystemCallArchitectures=native
MemoryDenyWriteExecute=true
NoNewPrivileges=true

[Install]
WantedBy=default.target

然后运行:

代码语言:javascript
复制
systemctl start syncthing

设置开机启动:

代码语言:javascript
复制
systemctl enable syncthing

因为syncthing默认只监听本地,所以我们要用做一下,但是syncthing新版本加入了一个主机头检测的功能,这个要关闭,不然无法进行反代:

代码语言:javascript
复制
vi ~/.config/syncthing/config.xml

在GUI设置的下面加入:

<insecureSkipHostcheck true</insecureSkipHostcheck

如图所示:

然后重启:

代码语言:javascript
复制
systemctl restart syncthing

安装:

代码语言:javascript
复制
yum -y install nginx

新建一个站点配置文件:

代码语言:javascript
复制
vi /etc/nginx/conf.d/syncthing.conf

写入:

代码语言:javascript
复制
server {
    listen       5862;
    client_max_body_size 100000m;
    server_name  example.com;

location /syncthing/ {
    proxy_set_header        Host $host;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header        X-Forwarded-Proto $scheme;

    proxy_pass              http://127.0.0.1:8384/;

    proxy_read_timeout      600s;
    proxy_send_timeout      600s;
    }
}

这里我把syncthing监听在了5862端口,不是常规端口,因为这个WEBUI初次启动的时候是没有密码验证的,为防止滥用建议监听一个高位端口,后续我们登录进去设置了密码再修改回80都可以的。

现在启动以及设置开机启动:

代码语言:javascript
复制
systemctl start nginx
systemctl enable nginx

现在打开你的站点:

http://你的地址:5862/syncthing

应该可以访问到这个的首页:

现在你应该立即给这个WEBUI设置密码:

客户端的话,我个人推荐这个:://github./canton7/SyncTrayzor

下载:://github./canton7/SyncTrayzor/releases/download/v1.1.22/SyncTrayzorSetup-x64.exe

测试了一下功能,可以正常同步:

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档