Syncthing
syncthing 是一个持续的文件同步程序。它在两台或多台计算机之间同步文件。我们努力实现以下目标。目标按重要性顺序列出,最重要的是第一个。这是目标列表的摘要版本 – 如需更多评论,请参阅完整的目标文档:https://github.com/syncthing/syncthing/blob/main/GOALS.md
同步目标
Syncthing 是一个持续的文件同步程序。它在两台或多台计算机之间同步文件。我们努力实现以下目标。目标按重要性顺序列出,最重要的是第一个。
这里的“同步文件”是准确的。这意味着我们特别排除了不是文件的东西——日历项目、即时消息等。如果这些实际上是作为文件存储在磁盘上的,那么它们当然可以作为文件同步。
同步应该是:
1. 防止数据丢失
保护用户数据至关重要。我们采取一切合理的预防措施来避免损坏用户的文件。
这是最重要的目标,否则同步文件将变得毫无意义。这意味着我们不会为了性能或在某些情况下为了可用性而做出不安全的权衡。
2. 防范攻击者
同样,保护用户数据至关重要。不管我们的其他目标是什么,我们决不能让用户的数据容易受到未经授权方的窃听或修改。
这应该在上下文中理解。期望 Syncthing 能够抵抗装备精良的状态级攻击者并不一定是合理的。不过我们会尽力而为。另请注意,这与匿名性不同,匿名性目前不是目标。
3. 易于使用
Syncthing 应该是平易近人、易于理解和包容的。
复杂的概念和数学构成了 Syncthing 功能的基础。尽管如此,这应该被抽象或隐藏到 Syncthing 可供公众使用的程度。
4.自动
只有在绝对必要时才需要用户交互。
具体而言,这意味着无需提示即可获取对文件的更改,无需提示即可解决冲突,无需提示即可保持连接。我们仅在需要满足(最重要的)安全、安全或简单目标之一时提示用户。
5. 普遍可用
Syncthing 应该在每台普通计算机上运行。我们注意到,任何特定的个人并不总是可以使用最新的技术。
计算机包括台式机、笔记本电脑、服务器、虚拟机、小型通用计算机(如 Raspberry Pis)以及可能的平板电脑和手机。NAS 设备、烤面包机、汽车、枪支、恒温器等可能包含计算能力,但 Syncthing 在这些设备上流畅运行并不是我们的目标。
6. 对于个人
Syncthing 主要是为个人用户提供安全、可靠且易于使用的文件同步。
我们承认它在企业环境中也很有用,并包含支持它的功能。如果这与个人的要求相冲突,那么这些将优先考虑。
7. 其他一切
有很多我们关心的事情没有列入清单。也可以针对这些值进行优化,只要它们与上述目标不冲突。
例如,性能是我们关心的事情。我们只是关心它而不是安全、安保等。代码库的可维护性和为维护者提供娱乐价值也是很重要的事情。据了解,Syncthing 的某些方面不是最理想的,甚至与上述目标相反。但是,我们不断努力使 Syncthing 越来越符合这些目标。
项目相关
相关参考
GitHub项目地址:https://github.com/syncthing/syncthing
文档地址:https://docs.syncthing.net/intro/getting-started.html
客户端下载:https://github.com/syncthing/syncthing/releases
本文用的Docker镜像:https://hub.docker.com/r/linuxserver/syncthing
Docker开始部署
参考资料
如何安装Docker和Docker-compose请看我的另一盘文章:https://www.hao0564.com/2054.html
https://www.hao0564.com/1837.html
- 实操的环境实:CentOS Linux release 7.9.2009 (Core
yum update -y 更新一下系统
mkdir -p /mydocker/syncthing 创建文件夹syncthing
- 如何在/mydocker/syncthing下新建docker-compose.yml文件,内容如下:
---
version: "2.1"
services:
syncthing:
image: lscr.io/linuxserver/syncthing:latest
container_name: syncthing
hostname: syncthing #optional
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
volumes:
- /mydocker/Syncthing/config:/config
- /mydocker/Syncthing/Backup:/Backup
- /mydocker/Syncthing/Documents:/Documents
- /mydocker/Syncthing/Media:/Media
- /mydocker/Syncthing/Soft:/Soft
- /mydocker/Syncthing/music:/music
- /mydocker/Syncthing/image:/image
ports:
- 8384:8384
- 22000:22000/tcp
- 22000:22000/udp
- 21027:21027/udp
restart: unless-stopped
- PUID和PGID可以通过命令行输入
id user
来查看或id
[root@VM-0-13-centos Syncthing]# id
uid=0(root) gid=0(root) 组=0(root)
[root@VM-0-13-centos Syncthing]#
- 进入/mydocker/syncthing
docker-compose up -d
- 记得防火墙上要开放8384端口
- 然后输入IP+8384访问
如何实现放心代理请查看我的另一文章:https://www.hao0564.com/2038.html
参考资料
GitHub项目地址:https://github.com/syncthing/syncthing
文档地址:https://docs.syncthing.net/intro/getting-started.html
本文用的Docker镜像:https://hub.docker.com/r/linuxser
没用过,有时间试试,有问题才请教,谢谢!!!