Không có mô tả

Shengqi Chen ef32197fef Run go fmt 11 tháng trước cách đây
.github 3ad551f73d ci: fix go version to 1.22 11 tháng trước cách đây
.umlrootfs b372744640 update ci script 2 năm trước cách đây
.vscode b2a22a9bbc update editor config 5 năm trước cách đây
autocomplete 83fc766147 feat(bash and zsh autocompletion for tunasynctl): 9 năm trước cách đây
cmd ef32197fef Run go fmt 11 tháng trước cách đây
docs bca49abd3c doc: increase default interval 2 năm trước cách đây
internal 99c7ab6b65 Fix more linter issues 11 tháng trước cách đây
manager 99c7ab6b65 Fix more linter issues 11 tháng trước cách đây
systemd 28c8145137 feature(worker): limit rsync memory using cgroup 9 năm trước cách đây
tests ef32197fef Run go fmt 11 tháng trước cách đây
worker ef32197fef Run go fmt 11 tháng trước cách đây
.gitignore 8ebace4d9a Add support for multiarch builds 5 năm trước cách đây
.testpackages.txt 44af0d5e62 feature(worker): framework of mirror provider 9 năm trước cách đây
LICENSE 78f3501e19 Initial commit 11 năm trước cách đây
Makefile 3562907af9 Makefile: add clean PHONY target 11 tháng trước cách đây
README.md 94b9b20626 Improve docs (#138) 5 năm trước cách đây
go.mod 6d50645ddb Upgrade dependencies 11 tháng trước cách đây
go.sum 6d50645ddb Upgrade dependencies 11 tháng trước cách đây
package.json c311648546 chore(git): Made this repo commitizen frendly 9 năm trước cách đây

README.md

tunasync

Build Status Coverage Status Commitizen friendly GPLv3

Get Started

Download

Pre-built binary for Linux x86_64 and ARM64 is available at Github releases.

Design

# Architecture

- Manager: Central instance for status and job management
- Worker: Runs mirror jobs

+------------+ +---+                  +---+
| Client API | |   |    Job Status    |   |    +----------+     +----------+ 
+------------+ |   +----------------->|   |--->|  mirror  +---->|  mirror  | 
+------------+ |   |                  | w |    |  config  |     | provider | 
| Worker API | | H |                  | o |    +----------+     +----+-----+ 
+------------+ | T |   Job Control    | r |                          |       
+------------+ | T +----------------->| k |       +------------+     |       
| Job/Status | | P |   Start/Stop/... | e |       | mirror job |<----+       
| Management | | S |                  | r |       +------^-----+             
+------------+ |   |   Update Status  |   |    +---------+---------+         
+------------+ |   <------------------+   |    |     Scheduler     |
|   BoltDB   | |   |                  |   |    +-------------------+
+------------+ +---+                  +---+


# Job Run Process


PreSyncing                           Syncing                               Success
+-----------+     +----------+    +-----------+    +-------------+     +--------------+
|  pre-job  +--+->| pre-exec +--->|  job run  +--->|  post-exec  +-+-->| post-success |
+-----------+  ^  +----------+    +-----------+    +-------------+ |   +--------------+
               |                                                   |
               |                +-----------------+                | Failed
               +----------------+    post-fail    |<---------------+
                                +-----------------+

Building

Go version: 1.13

> make all

Binaries in the build-linux-amd64/.