Skip to content
Zenithal edited this page Sep 5, 2021 · 6 revisions

Welcome to MirrorZ wiki! In this wiki, the design of MirrorZ is explained.

For end user

MirrorZ consists of the following services:

  • https://mirrorz.org/: frontend with dynamic, real-time content
  • https://mirrorz.org/_/: frontend with static, not-so-real-time content
  • oh-my-mirrorz: Speedtest script
  • mirrorz-302: backend for redirecting user requests to their "optimal" mirror site
  • mirrorz-search: backend for searching (experimental)
  • mirrorz-monitor: used by the above two services, also for users to check the status of mirror sites

For mirror site

Note: Unless one mirror site gives their consent, MirrorZ would not include them in any of its services.

As there are multiple services, one mirror site can choose which services to participate in by selectively providing the following data and editing the config.

mirrorz.json

The format is defined at https://github.com/tuna/mirrorz#data-format-v15-draft. For each mirror site, they should provide this data for the frontends, oh-my-mirrorz and monitor to work.

One mirror site has two ways of providing mirrorz.json

Provide mirrorz.json on their server

Namely the mirror site exposes one single url for MirrorZ to use.

Provide a parser to MirrorZ

A parser transforms their data (e.g. tunasync.json) to mirrorz.json.

Once a parser is provided in mirrorz-parser,

mirrorz.d.json

This is an extension to mirrorz.json. Currently it needs much review and revision from mirror sites, devs and users.

This is part of the milestone of mirrors.edu.cn

By providing this file, mirror site is aware of potential traffic being redirected to them.

Clone this wiki locally