镜像自地址
https://github.com/tuna/tunasync.git
已同步 2025-12-07 15:06:47 +00:00
33611cee8e163c414b13b05b561f8277fb0add6f
tunasync
Design
# Architecture
- Manager: Centural instance on status and job management
- Worker: Runs mirror jobs
+----------+ +---+ worker configs +---+ +----------+ +----------+
| Status | | |+-----------------> | w +--->| mirror +---->| mirror |
| Manager | | | | o | | config | | provider |
+----------+ | W | start/stop job | r | +----------+ +----+-----+
| E |+-----------------> | k | |
+----------+ | B | | e | +------------+ |
| Job | | | update status | r |<------+ mirror job |<----+
|Controller| | | <-----------------+| | +------------+
+----------+ +---+ +---+
# Job Run Process
+-----------+ +-----------+ +-------------+ +--------------+
| pre-job +--+->| job run +--->| post-job +-+-->| post-success |
+-----------+ ^ +-----------+ +-------------+ | +--------------+
| |
| +-----------------+ |
+------+ post-fail |<---------+
+-----------------+
TODO
- split to
tunasync-managerandtunasync-workerinstances- use HTTP as communication protocol
- Web frontend for
tunasync-manager- start/stop/restart job
- enable/disable mirror
- view log
- config file structure
- support multi-file configuration (
/etc/tunasync.d/mirror-enabled/*.conf)
- support multi-file configuration (
编程语言
Go
99.2%
Shell
0.3%
Makefile
0.3%
Dockerfile
0.2%