workers.conf 21 KB

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