• Stars
    star
    1,406
  • Rank 32,422 (Top 0.7 %)
  • Language
    Go
  • License
    GNU General Publi...
  • Created over 9 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Mirror job management tool.

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/.

More Repositories

1

thuthesis

LaTeX Thesis Template for Tsinghua University
TeX
4,343
star
2

blogroll

世界一流兼容并包TUNA协会收集的周围同学们的Blog
Python
827
star
3

mirror-web

Source code of the web interface of https://mirrors.tuna.tsinghua.edu.cn/
HTML
690
star
4

oh-my-tuna

Keep calm and use TUNA mirrors.
Python
480
star
5

ipv6.tsinghua.edu.cn

CSS
399
star
6

tunasync-scripts

Custom scripts for mirror jobs
Python
390
star
7

issues

Code Unrelated Issues
336
star
8

THU-Beamer-Theme

A LaTeX beamer theme template for Tsinghua students.
TeX
305
star
9

fishroom

Message forwarding for multiple IM protocols
Python
283
star
10

collection

idea collections from TUNA
254
star
11

danmaQ

danmaku implemented in Qt5
JavaScript
185
star
12

freedns-go

Optimized DNS Server for Chinese users.
Go
180
star
13

opentuna

TUNA on AWS
TypeScript
144
star
14

gdanmaku-server

Web-based danmaku server
Python
123
star
15

tuna.moe

HTML
75
star
16

gdanmaku

play danmaku on any screen
Python
36
star
17

artwork

tuna artwork
26
star
18

QSerial

An advanced cross-platform serial port utility
C++
23
star
19

podcast

Voice from TUNA
CSS
19
star
20

scripts

Python
15
star
21

pub-mirror

Dart application to fully mirror the content on https://pub.dartlang.org/
Dart
13
star
22

mirrorhub

Redirects the user to a nearby mirror site.
Go
11
star
23

Books

Tracking Books of TUNA Library
9
star
24

registr

JavaScript
6
star
25

dataset-issues

Issues about academic dataset mirrors
5
star
26

tunaccount

Go
5
star
27

topdf

Automactically convert Office files to PDF via a web interface
PHP
4
star
28

live

CSS
3
star
29

pdns-ldap

Python
3
star
30

fakeTunet

a fake net.tsinghua.edu.cn
JavaScript
2
star
31

feed_tuna

Telegram shop/payment bot 金枪鱼喂食计划
Python
2
star
32

tunasay

tunasay is a configurable talking tuna
JavaScript
2
star
33

Cash

1
star
34

loglyzer

log analyzer for tuna mirrors
Python
1
star
35

docker-images

Repo for various docker images
Dockerfile
1
star
36

tunasync-monitor

Rust
1
star
37

playbooks

Python
1
star
38

django-helpdesk

A Django application to manage tickets for an internal helpdesk. Formerly known as Jutda Helpdesk.
Python
1
star