2
0

workers.conf 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817
  1. # /home/scripts in this example points to https://github.com/tuna/tunasync-scripts/
  2. [global]
  3. name = "mirror_worker"
  4. log_dir = "/srv/tunasync/log/tunasync/{{.Name}}"
  5. mirror_dir = "/srv/tunasync"
  6. concurrent = 10
  7. interval = 1
  8. [manager]
  9. api_base = "http://localhost:12345"
  10. token = "some_token"
  11. ca_cert = ""
  12. [cgroup]
  13. enable = false
  14. base_path = "/sys/fs/cgroup"
  15. group = "tunasync"
  16. [server]
  17. hostname = "localhost"
  18. listen_addr = "127.0.0.1"
  19. listen_port = 6000
  20. ssl_cert = ""
  21. ssl_key = ""
  22. [[mirrors]]
  23. name = "adobe-fonts"
  24. interval = 1440
  25. provider = "command"
  26. upstream = "https://github.com/adobe-fonts"
  27. command = "/home/scripts/adobe-fonts.sh"
  28. size_pattern = "Total size is ([0-9\\.]+[KMGTP]?)"
  29. docker_image = "tunathu/tunasync-scripts:latest"
  30. [[mirrors]]
  31. name = "AdoptOpenJDK"
  32. interval = 5760
  33. provider = "command"
  34. command = "/home/scripts/adoptopenjdk.py"
  35. upstream = "https://adoptopenjdk.jfrog.io/adoptopenjdk"
  36. docker_image = "tunathu/tunasync-scripts:latest"
  37. [[mirrors]]
  38. name = "alpine"
  39. provider = "rsync"
  40. upstream = "rsync://rsync.alpinelinux.org/alpine/"
  41. memory_limit = "256M"
  42. [[mirrors]]
  43. name = "anaconda"
  44. provider = "command"
  45. upstream = "https://repo.continuum.io/"
  46. command = "/home/scripts/anaconda.py --delete"
  47. size_pattern = "Total size is ([0-9\\.]+[KMGTP]?)"
  48. interval = 720
  49. docker_image = "tunathu/tunasync-scripts:latest"
  50. [[mirrors]]
  51. name = "apache"
  52. provider = "rsync"
  53. upstream = "rsync://rsync.apache.org/apache-dist/"
  54. use_ipv4 = true
  55. rsync_options = [ "--delete-excluded" ]
  56. memory_limit = "256M"
  57. [[mirrors]]
  58. name = "armbian"
  59. provider = "two-stage-rsync"
  60. stage1_profile = "debian"
  61. upstream = "rsync://rsync.armbian.com/apt/"
  62. memory_limit = "256M"
  63. [[mirrors]]
  64. name = "armbian-releases"
  65. provider = "rsync"
  66. stage1_profile = "debian"
  67. upstream = "rsync://rsync.armbian.com/dl/"
  68. memory_limit = "256M"
  69. [[mirrors]]
  70. name = "bananian"
  71. provider = "command"
  72. upstream = "https://dl.bananian.org/"
  73. command = "/home/scripts/lftp.sh"
  74. interval = 1440
  75. docker_image = "tunathu/tunasync-scripts:latest"
  76. [[mirrors]]
  77. name = "bioconductor"
  78. provider = "rsync"
  79. upstream = "master.bioconductor.org:./"
  80. rsync_options = [ "--rsh=ssh -i /root/id_rsa -o PasswordAuthentication=no -l sync" ]
  81. exclude_file = "/etc/excludes/bioconductor.txt"
  82. memory_limit = "256M"
  83. [[mirrors]]
  84. name = "blender"
  85. provider = "rsync"
  86. upstream = "rsync://mirrors.dotsrc.org/blender/"
  87. rsync_options = [ "--delete-excluded" ]
  88. exclude_file = "/etc/excludes/blender.txt"
  89. interval = 1440
  90. memory_limit = "256M"
  91. [[mirrors]]
  92. name = "chakra"
  93. provider = "rsync"
  94. upstream = "rsync://rsync.chakralinux.org/packages/"
  95. memory_limit = "256M"
  96. [[mirrors]]
  97. name = "chakra-releases"
  98. provider = "rsync"
  99. upstream = "rsync://rsync.chakralinux.org/releases/"
  100. memory_limit = "256M"
  101. [[mirrors]]
  102. name = "chef"
  103. interval = 1440
  104. provider = "command"
  105. upstream = "https://packages.chef.io/repos"
  106. command = "/home/scripts/chef.sh"
  107. size_pattern = "size-sum: ([0-9\\.]+[KMGTP])"
  108. docker_image = "tunathu/tunasync-scripts:latest"
  109. [[mirrors]]
  110. name = "clickhouse"
  111. interval = 2880
  112. provider = "rsync"
  113. upstream = "rsync://repo.yandex.ru/yandexrepo/clickhouse/"
  114. exclude_file = "/etc/excludes/clickhouse.txt"
  115. memory_limit = "256M"
  116. [[mirrors]]
  117. name = "clojars"
  118. provider = "command"
  119. upstream = "s3://clojars-repo-production/"
  120. command = "/home/scripts/s3.sh"
  121. docker_image = "tunathu/ftpsync:latest"
  122. [mirrors.env]
  123. TUNASYNC_S3_ENDPOINT = "https://s3.dualstack.us-east-2.amazonaws.com"
  124. #TUNASYNC_S3_ENDPOINT = "https://s3.us-east-2.amazonaws.com"
  125. TUNASYNC_AWS_OPTIONS = "--delete --exclude index.html"
  126. [[mirrors]]
  127. name = "CPAN"
  128. provider = "rsync"
  129. upstream = "rsync://cpan-rsync.perl.org/CPAN/"
  130. memory_limit = "256M"
  131. [[mirrors]]
  132. name = "CRAN"
  133. provider = "rsync"
  134. upstream = "rsync://cran.r-project.org/CRAN/"
  135. rsync_options = [ "--delete-excluded" ]
  136. memory_limit = "256M"
  137. [[mirrors]]
  138. name = "CTAN"
  139. provider = "rsync"
  140. upstream = "rsync://mirrors.rit.edu/CTAN/"
  141. memory_limit = "256M"
  142. [[mirrors]]
  143. name = "dart-pub"
  144. provider = "command"
  145. upstream = "https://pub.dev/api"
  146. command = "/home/scripts/pub.sh"
  147. interval = 30
  148. docker_image = "tunathu/pub-mirror:latest"
  149. [mirrors.env]
  150. MIRROR_BASE_URL = "https://mirrors.tuna.tsinghua.edu.cn/dart-pub"
  151. [[mirrors]]
  152. name = "debian"
  153. provider = "command"
  154. upstream = "rsync://mirrors.tuna.tsinghua.edu.cn/debian/"
  155. command = "/home/scripts/debian.sh sync:archive:debian"
  156. size_pattern = "Total size is ([0-9\\.]+[KMGTP]?)"
  157. docker_image = "tunathu/ftpsync"
  158. docker_volumes = [
  159. "/etc/misc/ftpsync-debian.conf:/ftpsync/etc/ftpsync-debian.conf:ro",
  160. "/log/ftpsync:/home/log/tunasync/ftpsync",
  161. ]
  162. [mirrors.env]
  163. FTPSYNC_LOG_DIR = "/home/log/tunasync/ftpsync"
  164. [[mirrors]]
  165. name = "docker-ce"
  166. provider = "command"
  167. upstream = "https://download.docker.com/"
  168. command = "timeout 3h /home/scripts/docker-ce.py --workers 10 --fast-skip"
  169. interval = 1440
  170. docker_image = "tunathu/tunasync-scripts:latest"
  171. [[mirrors]]
  172. name = "ELK"
  173. interval = 1440
  174. provider = "command"
  175. upstream = "https://packages.elastic.co"
  176. command = "/home/scripts/ELK.sh"
  177. size_pattern = "size-sum: ([0-9\\.]+[KMGTP])"
  178. docker_image = "tunathu/tunasync-scripts:latest"
  179. # set environment varialbes
  180. [mirrors.env]
  181. WGET_OPTIONS = "-6"
  182. [[mirrors]]
  183. name = "elasticstack"
  184. interval = 1440
  185. provider = "command"
  186. upstream = "https://artifacts.elastic.co/"
  187. command = "/home/scripts/elastic.sh"
  188. size_pattern = "size-sum: ([0-9\\.]+[KMGTP])"
  189. docker_image = "tunathu/tunasync-scripts:latest"
  190. [[mirrors]]
  191. name = "erlang-solutions"
  192. interval = 1440
  193. provider = "command"
  194. upstream = "https://packages.erlang-solutions.com"
  195. command = "/home/scripts/erlang.sh"
  196. size_pattern = "size-sum: ([0-9\\.]+[KMGTP])"
  197. docker_image = "tunathu/tunasync-scripts:latest"
  198. [[mirrors]]
  199. name = "flutter"
  200. interval = 1440
  201. provider = "command"
  202. upstream = "https://storage.googleapis.com/flutter_infra/"
  203. command = "/home/scripts/flutter.sh"
  204. docker_image = "tunathu/tunasync-scripts:latest"
  205. [[mirrors]]
  206. name = "github-release"
  207. provider = "command"
  208. upstream = "https://api.github.com/repos/"
  209. command = "/home/scripts/github-release.py --workers 5"
  210. size_pattern = "Total size is ([0-9\\.]+[KMGTP]?)"
  211. interval = 720
  212. docker_image = "tunathu/tunasync-scripts:latest"
  213. [mirrors.env]
  214. GITHUB_TOKEN = "xxxxx"
  215. [[mirrors]]
  216. name = "gitlab-ce"
  217. interval = 1440
  218. provider = "command"
  219. upstream = "https://packages.gitlab.com/gitlab/gitlab-ce/"
  220. command = "/home/scripts/gitlab-ce.sh"
  221. size_pattern = "size-sum: ([0-9\\.]+[KMGTP])"
  222. docker_image = "tunathu/tunasync-scripts:latest"
  223. [[mirrors]]
  224. name = "gitlab-ee"
  225. interval = 1440
  226. provider = "command"
  227. upstream = "https://packages.gitlab.com/gitlab/gitlab-ee/"
  228. command = "/home/scripts/gitlab-ce.sh"
  229. size_pattern = "size-sum: ([0-9\\.]+[KMGTP])"
  230. docker_image = "tunathu/tunasync-scripts:latest"
  231. [[mirrors]]
  232. name = "gitlab-runner"
  233. interval = 1440
  234. provider = "command"
  235. upstream = "https://packages.gitlab.com/runner/gitlab-runner"
  236. command = "/home/scripts/gitlab-runner.sh"
  237. size_pattern = "size-sum: ([0-9\\.]+[KMGTP])"
  238. docker_image = "tunathu/tunasync-scripts:latest"
  239. [[mirrors]]
  240. name = "grafana"
  241. interval = 1440
  242. provider = "command"
  243. upstream = "https://packages.grafana.com/oss"
  244. command = "/home/scripts/grafana.sh"
  245. size_pattern = "size-sum: ([0-9\\.]+[KMGTP])"
  246. docker_image = "tunathu/tunasync-scripts:latest"
  247. [[mirrors]]
  248. name = "hackage"
  249. provider = "command"
  250. command = "/home/scripts/hackage.sh"
  251. upstream = "https://hackage.haskell.org/"
  252. docker_image = "tunathu/tunasync-scripts:latest"
  253. [[mirrors]]
  254. name = "homebrew-bottles"
  255. provider = "command"
  256. upstream = "https://homebrew.bintray.com"
  257. command = "/home/scripts/linuxbrew-bottles.sh"
  258. docker_image = "tunathu/homebrew-mirror"
  259. # set environment varialbes
  260. [mirrors.env]
  261. HOMEBREW_REPO = "https://neomirrors.tuna.tsinghua.edu.cn/git/homebrew"
  262. [[mirrors]]
  263. name = "influxdata"
  264. interval = 1440
  265. provider = "command"
  266. upstream = "https://repos.influxdata.com"
  267. command = "/home/scripts/influxdata.sh"
  268. size_pattern = "size-sum: ([0-9\\.]+[KMGTP])"
  269. docker_image = "tunathu/tunasync-scripts:latest"
  270. [[mirrors]]
  271. name = "kali"
  272. provider = "two-stage-rsync"
  273. stage1_profile = "debian"
  274. upstream = "rsync://ftp.nluug.nl/kali/"
  275. rsync_options = [ "--delete-excluded" ] # delete .~tmp~ folders
  276. memory_limit = "256M"
  277. [[mirrors]]
  278. name = "kali-images"
  279. provider = "rsync"
  280. upstream = "rsync://ftp.nluug.nl/kali-images/"
  281. rsync_options = [ "--delete-excluded" ] # delete .~tmp~ folders
  282. memory_limit = "256M"
  283. [[mirrors]]
  284. name = "KaOS"
  285. provider = "rsync"
  286. upstream = "rsync://kaosx.tk/kaos/"
  287. rsync_options = [ "--delete-excluded" ]
  288. memory_limit = "256M"
  289. [[mirrors]]
  290. name = "kernel"
  291. provider = "rsync"
  292. upstream = "rsync://rsync.kernel.org/pub/linux/kernel/"
  293. rsync_options = [ "--delete-excluded" ]
  294. memory_limit = "256M"
  295. [[mirrors]]
  296. name = "kicad"
  297. provider = "command"
  298. upstream = "s3://kicad-downloads/"
  299. command = "/home/scripts/s3.sh"
  300. docker_image = "tunathu/ftpsync:latest"
  301. [mirrors.env]
  302. TUNASYNC_S3_ENDPOINT = "https://s3.cern.ch"
  303. TUNASYNC_AWS_OPTIONS = "--delete --exclude index.html"
  304. [[mirrors]]
  305. name = "kodi"
  306. provider = "rsync"
  307. upstream = "rsync://mirror.yandex.ru/mirrors/xbmc/"
  308. rsync_options = [ "--delete-excluded" ]
  309. memory_limit = "256M"
  310. use_ipv6 = true
  311. [[mirrors]]
  312. name = "kubernetes"
  313. interval = 2880
  314. provider = "command"
  315. upstream = "http://packages.cloud.google.com"
  316. command = "/home/scripts/kubernetes.sh"
  317. size_pattern = "size-sum: ([0-9\\.]+[KMGTP])"
  318. docker_image = "tunathu/tunasync-scripts:latest"
  319. [[mirrors]]
  320. name = "linuxbrew-bottles"
  321. provider = "command"
  322. upstream = "https://linuxbrew.bintray.com"
  323. command = "/home/scripts/linuxbrew-bottles.sh"
  324. docker_image = "tunathu/homebrew-mirror"
  325. # set environment varialbes
  326. [mirrors.env]
  327. RUN_LINUXBREW = "true"
  328. HOMEBREW_REPO = "https://neomirrors.tuna.tsinghua.edu.cn/git/homebrew"
  329. [[mirrors]]
  330. name = "linuxmint"
  331. provider = "two-stage-rsync"
  332. stage1_profile = "debian"
  333. upstream = "rsync://mirrors.kernel.org/linuxmint-packages/"
  334. rsync_options = [ "--delete-excluded" ]
  335. memory_limit = "256M"
  336. [[mirrors]]
  337. name = "lxc-images"
  338. provider = "command"
  339. upstream = "https://us.images.linuxcontainers.org/"
  340. command = "/home/scripts/lxc-images.sh"
  341. docker_image = "tunathu/tunasync-scripts:latest"
  342. interval = 720
  343. [[mirrors]]
  344. name = "lyx"
  345. provider = "command"
  346. upstream = "ftp://ftp.lyx.org/pub/lyx/"
  347. command = "/home/scripts/lftp.sh"
  348. docker_image = "tunathu/tunasync-scripts:latest"
  349. [mirrors.env]
  350. TUNASYNC_LFTP_OPTIONS = "--only-newer"
  351. [[mirrors]]
  352. name = "mongodb"
  353. interval = 1440
  354. provider = "command"
  355. upstream = "https://repo.mongodb.org"
  356. command = "/home/scripts/mongodb.sh"
  357. size_pattern = "size-sum: ([0-9\\.]+[KMGTP])"
  358. docker_image = "tunathu/tunasync-scripts:latest"
  359. [[mirrors]]
  360. name = "msys2"
  361. provider = "command"
  362. upstream = "http://repo.msys2.org/"
  363. command = "/home/scripts/lftp.sh"
  364. docker_image = "tunathu/tunasync-scripts:latest"
  365. [[mirrors]]
  366. name = "mysql"
  367. interval = 30
  368. provider = "command"
  369. upstream = "https://repo.mysql.com"
  370. command = "/home/scripts/mysql.sh"
  371. size_pattern = "size-sum: ([0-9\\.]+[KMGTP])"
  372. docker_image = "tunathu/tunasync-scripts:latest"
  373. # set environment varialbes
  374. [mirrors.env]
  375. USE_IPV6 = "1"
  376. [[mirrors]]
  377. name = "nix"
  378. interval = 1440
  379. provider = "command"
  380. upstream = "s3://nix-releases/nix/"
  381. command = "/home/scripts/nix.sh"
  382. docker_image = "tunathu/tunasync-scripts:latest"
  383. [mirrors.env]
  384. MIRROR_BASE_URL = 'https://mirrors.tuna.tsinghua.edu.cn/nix/'
  385. [[mirrors]]
  386. name = "nix-channels"
  387. interval = 300
  388. provider = "command"
  389. upstream = "https://nixos.org/channels"
  390. command = "timeout 20h /home/scripts/nix-channels.py"
  391. docker_image = "tunathu/nix-channels:latest"
  392. docker_options = [
  393. "--cpus", "20",
  394. ]
  395. [[mirrors]]
  396. name = "nodesource"
  397. provider = "command"
  398. upstream = "https://deb.nodesource.com/"
  399. command = "/home/scripts/nodesource.sh"
  400. docker_image = "tunathu/tunasync-scripts:latest"
  401. [[mirrors]]
  402. name = "openresty"
  403. provider = "command"
  404. upstream = "https://openresty.org/package/"
  405. command = "/home/scripts/lftp.sh"
  406. docker_image = "tunathu/tunasync-scripts:latest"
  407. [mirrors.env]
  408. TUNASYNC_LFTP_OPTIONS = "--only-newer"
  409. [[mirrors]]
  410. name = "packagist"
  411. provider = "command"
  412. upstream = "http://packagist.org/"
  413. command = "/home/scripts/packagist.sh"
  414. interval = 1440
  415. docker_image = "tunathu/tunasync-scripts:latest"
  416. [[mirrors]]
  417. name = "proxmox"
  418. interval = 1440
  419. provider = "command"
  420. upstream = "http://download.proxmox.com"
  421. command = "/home/scripts/proxmox.sh"
  422. docker_image = "tunathu/tunasync-scripts:latest"
  423. [[mirrors]]
  424. name = "pypi"
  425. provider = "command"
  426. upstream = "https://pypi.python.org/"
  427. command = "/home/scripts/pypi.sh"
  428. docker_image = "tunathu/bandersnatch:latest"
  429. interval = 5
  430. [[mirrors]]
  431. name = "qt"
  432. provider = "rsync"
  433. upstream = "rsync://master.qt-project.org/qt-all/"
  434. exclude_file = "/etc/excludes/qt.txt"
  435. rsync_options = [ "--delete-excluded" ]
  436. memory_limit = "256M"
  437. [[mirrors]]
  438. name = "raspberrypi"
  439. provider = "two-stage-rsync"
  440. stage1_profile = "debian"
  441. upstream = "rsync://apt-repo.raspberrypi.org/archive/debian/"
  442. memory_limit = "256M"
  443. [[mirrors]]
  444. name = "raspbian-images"
  445. interval = 5760
  446. provider = "command"
  447. upstream = "https://downloads.raspberrypi.org/"
  448. command = "/home/scripts/lftp.sh"
  449. docker_image = "tunathu/tunasync-scripts:latest"
  450. [mirrors.env]
  451. TUNASYNC_LFTP_OPTIONS = "-x ^icons/$ -c --only-missing -v --no-perms"
  452. [[mirrors]]
  453. name = "raspbian"
  454. provider = "two-stage-rsync"
  455. stage1_profile = "debian"
  456. upstream = "rsync://archive.raspbian.org/archive/"
  457. rsync_options = [ "--delete-excluded" ] # delete .~tmp~ folders
  458. memory_limit = "256M"
  459. [[mirrors]]
  460. name = "redhat"
  461. provider = "rsync"
  462. upstream = "rsync://ftp.redhat.com/redhat/"
  463. rsync_options = [ "--delete-excluded" ]
  464. memory_limit = "256M"
  465. exclude_file = "/etc/excludes/redhat.txt"
  466. interval = 1440
  467. [mirrors.env]
  468. RSYNC_PROXY="127.0.0.1:8123"
  469. [[mirrors]]
  470. name = "remi"
  471. interval = 1440
  472. provider = "command"
  473. upstream = "rsync://rpms.remirepo.net"
  474. command = "/home/scripts/remi.sh"
  475. docker_image = "tunathu/tunasync-scripts:latest"
  476. [[mirrors]]
  477. name = "repo-ck"
  478. provider = "command"
  479. upstream = "http://repo-ck.com"
  480. command = "/home/scripts/repo-ck.sh"
  481. docker_image = "tunathu/tunasync-scripts:latest"
  482. [[mirrors]]
  483. name = "ros"
  484. provider = "rsync"
  485. upstream = "rsync://mirror.umd.edu/packages.ros.org/ros/"
  486. memory_limit = "256M"
  487. [[mirrors]]
  488. name = "ros2"
  489. interval = 1440
  490. provider = "command"
  491. upstream = "http://packages.ros.org/ros2"
  492. command = "/home/scripts/ros2.sh"
  493. size_pattern = "size-sum: ([0-9\\.]+[KMGTP])"
  494. docker_image = "tunathu/tunasync-scripts:latest"
  495. [[mirrors]]
  496. name = "rubygems"
  497. provider = "command"
  498. upstream = "https://rubygems.org"
  499. command = "/home/scripts/rubygems.sh"
  500. docker_image = "tunathu/rubygems-mirror"
  501. interval = 60
  502. # set environment varialbes
  503. [mirrors.env]
  504. INIT = "0"
  505. [[mirrors]]
  506. name = "rudder"
  507. interval = 2880
  508. provider = "command"
  509. upstream = "https://repository.rudder.io"
  510. command = "/home/scripts/rudder.sh"
  511. size_pattern = "size-sum: ([0-9\\.]+[KMGTP])"
  512. docker_image = "tunathu/tunasync-scripts:latest"
  513. [[mirrors]]
  514. name = "rustup"
  515. provider = "command"
  516. upstream = "https://rustup.rs/"
  517. command = "/home/scripts/rustup.sh"
  518. interval = 1440
  519. docker_image = "tunathu/rustup-mirror:latest"
  520. docker_volumes = [
  521. ]
  522. docker_options = [
  523. ]
  524. [mirrors.env]
  525. MIRROR_BASE_URL = "https://mirrors.tuna.tsinghua.edu.cn/rustup"
  526. [[mirrors]]
  527. name = "saltstack"
  528. interval = 1440 # required on http://repo.saltstack.com/#mirror
  529. provider = "command"
  530. upstream = "s3://s3/"
  531. command = "/home/scripts/s3.sh"
  532. docker_image = "tunathu/ftpsync:latest"
  533. [mirrors.env]
  534. TUNASYNC_S3_ENDPOINT = "https://s3.repo.saltstack.com"
  535. TUNASYNC_AWS_OPTIONS = "--delete --exact-timestamps"
  536. [[mirrors]]
  537. name = "solus"
  538. provider = "rsync"
  539. upstream = "rsync://mirrors.rit.edu/solus/"
  540. rsync_options = [ "--exclude", "/shannon", "--exclude", "/unstable" ]
  541. memory_limit = "256M"
  542. [[mirrors]]
  543. name = "stackage"
  544. provider = "command"
  545. command = "/home/scripts/stackage.py"
  546. upstream = "https://www.stackage.org/"
  547. docker_image = "tunathu/tunasync-scripts:latest"
  548. # set environment varialbes
  549. [mirrors.env]
  550. GIT_COMMITTER_NAME = "TUNA mirrors"
  551. GIT_COMMITTER_EMAIL = "mirrors@tuna.tsinghua.edu.cn"
  552. [[mirrors]]
  553. name = "steamos"
  554. interval = 1440
  555. provider = "command"
  556. upstream = "http://repo.steampowered.com"
  557. command = "/home/scripts/lftp.sh"
  558. docker_image = "tunathu/tunasync-scripts:latest"
  559. [mirrors.env]
  560. TUNASYNC_LFTP_OPTIONS = "--only-newer --exclude icons/ "
  561. [[mirrors]]
  562. name = "termux"
  563. interval = 1440
  564. provider = "command"
  565. upstream = "https://dl.bintray.com/termux/termux-packages-24/"
  566. command = "/home/scripts/termux.sh"
  567. size_pattern = "size-sum: ([0-9\\.]+[KMGTP])"
  568. docker_image = "tunathu/tunasync-scripts:latest"
  569. [[mirrors]]
  570. name = "ubuntu"
  571. provider = "two-stage-rsync"
  572. stage1_profile = "debian"
  573. upstream = "rsync://archive.ubuntu.com/ubuntu/"
  574. rsync_options = [ "--delete-excluded" ]
  575. memory_limit = "256M"
  576. [[mirrors]]
  577. name = "ubuntu-ports"
  578. provider = "two-stage-rsync"
  579. stage1_profile = "debian"
  580. upstream = "rsync://ports.ubuntu.com/ubuntu-ports/"
  581. rsync_options = [ "--delete-excluded" ]
  582. exclude_file = "/etc/excludes/ubuntu-ports-exclude.txt"
  583. memory_limit = "256M"
  584. [[mirrors]]
  585. name = "virtualbox"
  586. interval = 1440
  587. provider = "command"
  588. upstream = "http://download.virtualbox.org/virtualbox"
  589. command = "/home/scripts/virtualbox.sh"
  590. size_pattern = "size-sum: ([0-9\\.]+[KMGTP])"
  591. docker_image = "tunathu/tunasync-scripts:latest"
  592. [[mirrors]]
  593. name = "winehq"
  594. provider = "command"
  595. upstream = "ftp://ftp.winehq.org/pub/"
  596. command = "/home/scripts/lftp.sh"
  597. docker_image = "tunathu/tunasync-scripts:latest"
  598. [mirrors.env]
  599. TUNASYNC_LFTP_OPTIONS = "-x wine-builds.old/ -x /\\..+"
  600. [[mirrors]]
  601. name = "zabbix"
  602. provider = "rsync"
  603. upstream = "rsync://repo.zabbix.com/mirror/"
  604. rsync_options = [ "--delete-excluded", "--chmod=o+r,Do+x,Fa-x" ]
  605. memory_limit = "256M"
  606. [[mirrors]]
  607. name = "AOSP"
  608. interval = 720
  609. provider = "command"
  610. command = "/home/tunasync-scripts/aosp.sh"
  611. upstream = "https://android.googlesource.com/mirror/manifest"
  612. size_pattern = "Total size is ([0-9\\.]+[KMGTP]?)"
  613. docker_image = "tunathu/tunasync-scripts:latest"
  614. [mirrors.env]
  615. REPO = "/usr/local/bin/aosp-repo"
  616. REPO_URL = "https://mirrors.tuna.tsinghua.edu.cn/git/git-repo"
  617. USE_BITMAP_INDEX = "1"
  618. [[mirrors]]
  619. name = "lineageOS"
  620. interval = 720
  621. provider = "command"
  622. command = "/home/tunasync-scripts/aosp.sh"
  623. upstream = "https://github.com/LineageOS/mirror"
  624. size_pattern = "Total size is ([0-9\\.]+[KMGTP]?)"
  625. docker_image = "tunathu/tunasync-scripts:latest"
  626. [mirrors.env]
  627. REPO = "/usr/local/bin/aosp-repo"
  628. REPO_URL = "https://mirrors.tuna.tsinghua.edu.cn/git/git-repo"
  629. USE_BITMAP_INDEX = "1"
  630. [[mirrors]]
  631. name = "chromiumos"
  632. interval = 720
  633. provider = "command"
  634. command = "/home/tunasync-scripts/cros.sh"
  635. upstream = "https://chromium.googlesource.com"
  636. size_pattern = "Total size is ([0-9\\.]+[KMGTP]?)"
  637. fail_on_match = "fatal: "
  638. docker_image = "tunathu/tunasync-scripts:latest"
  639. [mirrors.env]
  640. USE_BITMAP_INDEX = "1"
  641. CONCURRENT_JOBS = "20"
  642. [[mirrors]]
  643. name = "crates.io-index.git"
  644. provider = "command"
  645. command = "/home/tunasync-scripts/git.sh"
  646. upstream = "https://github.com/rust-lang/crates.io-index.git"
  647. docker_image = "tunathu/tunasync-scripts:latest"
  648. size_pattern = "size-pack: ([0-9\\.]+[KMGTP])"
  649. [[mirrors]]
  650. name = "flutter-sdk.git"
  651. provider = "command"
  652. command = "/home/tunasync-scripts/git.sh"
  653. upstream = "git://github.com/flutter/flutter.git"
  654. docker_image = "tunathu/tunasync-scripts:latest"
  655. size_pattern = "size-pack: ([0-9\\.]+[KMGTP])"
  656. [[mirrors]]
  657. name = "gcc.git"
  658. provider = "command"
  659. command = "/home/tunasync-scripts/git.sh"
  660. upstream = "git://gcc.gnu.org/git/gcc.git"
  661. docker_image = "tunathu/tunasync-scripts:latest"
  662. size_pattern = "size-pack: ([0-9\\.]+[KMGTP])"
  663. [[mirrors]]
  664. name = "gentoo-portage.git"
  665. provider = "command"
  666. command = "/home/tunasync-scripts/git.sh"
  667. upstream = "git://github.com/gentoo-mirror/gentoo.git"
  668. docker_image = "tunathu/tunasync-scripts:latest"
  669. size_pattern = "size-pack: ([0-9\\.]+[KMGTP])"
  670. [[mirrors]]
  671. name = "git-repo"
  672. provider = "command"
  673. command = "/home/tunasync-scripts/git-repo.sh"
  674. upstream = "https://gerrit.googlesource.com/git-repo"
  675. size_pattern = "size-pack: ([0-9\\.]+[KMGTP])"
  676. fail_on_match = "fatal: "
  677. docker_image = "tunathu/tunasync-scripts:latest"
  678. [[mirrors]]
  679. name = "homebrew"
  680. provider = "command"
  681. command = "/home/tunasync-scripts/homebrew.sh"
  682. upstream = "https://github.com/Homebrew"
  683. docker_image = "tunathu/tunasync-scripts:latest"
  684. size_pattern = "Total size is ([0-9\\.]+[KMGTP]?)"
  685. [[mirrors]]
  686. name = "CocoaPods"
  687. provider = "command"
  688. command = "/home/tunasync-scripts/cocoapods.sh"
  689. upstream = "https://github.com/CocoaPods"
  690. docker_image = "tunathu/tunasync-scripts:latest"
  691. size_pattern = "Total size is ([0-9\\.]+[KMGTP]?)"
  692. [[mirrors]]
  693. name = "pybombs"
  694. interval = 720
  695. provider = "command"
  696. command = "/home/tunasync-scripts/pybombs.sh"
  697. upstream = "https://github.com/scateu/pybombs-mirror/"
  698. docker_image = "tunathu/tunasync-scripts:latest"
  699. docker_volumes = ["/home/pybombs-mirror:/opt/pybombs-mirror"]
  700. size_pattern = "Total size is ([0-9\\.]+[KMGTP]?)"
  701. [mirrors.env]
  702. PYBOMBS_MIRROR_SCRIPT_PATH = "/opt/pybombs-mirror"
  703. MIRROR_BASE_URL = "https://mirrors.tuna.tsinghua.edu.cn/pybombs"
  704. [[mirrors]]
  705. name = "llvm"
  706. provider = "command"
  707. command = "/home/tunasync-scripts/llvm.sh"
  708. upstream = "https://git.llvm.org/git"
  709. docker_image = "tunathu/tunasync-scripts:latest"
  710. size_pattern = "Total size is ([0-9\\.]+[KMGTP]?)"
  711. # vim: ft=toml