使用Syncthing自建私有同步盘
时间:2022-07-26
本文章向大家介绍使用Syncthing自建私有同步盘,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
syncthing应该是目前开源界人气最高的一款了,这个主打私有,真的完全私有。。。没有公开分享的功能,并且同步必须要两端相互添加对方许可才行。
毕竟是基于GO开发的,搭建都很简单,并且官方提供了二进制文件,下载即用:
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的服务:
vi /etc/systemd/system/syncthing.service
写入:
[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
然后运行:
systemctl start syncthing
设置开机启动:
systemctl enable syncthing
因为syncthing默认只监听本地,所以我们要用做一下,但是syncthing新版本加入了一个主机头检测的功能,这个要关闭,不然无法进行反代:
vi ~/.config/syncthing/config.xml
在GUI设置的下面加入:
<insecureSkipHostcheck true</insecureSkipHostcheck
如图所示:
然后重启:
systemctl restart syncthing
安装:
yum -y install nginx
新建一个站点配置文件:
vi /etc/nginx/conf.d/syncthing.conf
写入:
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都可以的。
现在启动以及设置开机启动:
systemctl start nginx
systemctl enable nginx
现在打开你的站点:
http://你的地址:5862/syncthing
应该可以访问到这个的首页:
现在你应该立即给这个WEBUI设置密码:
客户端的话,我个人推荐这个:://github./canton7/SyncTrayzor
下载:://github./canton7/SyncTrayzor/releases/download/v1.1.22/SyncTrayzorSetup-x64.exe
测试了一下功能,可以正常同步:
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Spring Boot 特性之 Lazy
- Spring Boot 特性之 Banner
- Spring Boot 特性之 Fluent Builder API
- 一文搞懂 Flink Timer
- DATE类型的“小陷阱”
- 简单聊下 Java Agent
- Byte Buddy 基础知识
- 两种在SAP Cloud Application Studio里通过编程对C4C UI字段赋值的方法
- 如何使用 BTrace v.2.0.1
- 三分钟写一个 Java 多线程
- 使用纯粹的ABAP位操作实现两个整数相加
- 如何给SAP Cloud for Customer UI上的字段添加自定义校验逻辑
- guide-rpc-framework 源码学习
- 如何参与一个开源项目(多图)
- 微信小程序支付服务端.net core实现,简单直接