mirror-recipes is a project aiming to produce a general description of procedures to apply various open source mirrors, so that it can be used as:

  • a source format to render documentations
  • a script to apply mirrors automatically to one's installation
  • directly readable references

Scope

In the box there are three main components:

  • Recipes themself, containing procudures, parameter presets for well-known mirror sites and JSON schemas for validating them
  • A driver written in Rust for applying recipes on Linux/Unix environments
  • A preact component with Custom Element wrapper for rendering recipes in webpages

What's considered a open source software mirror is hard to define. But generally speaking, you can expect to find repositories and update sites of Linux distributions, utilitites (e.g. TexLive), etc. as those are mirrors that you can apply to your installation. Other forms of mirrors (Fonts, ISO images) are not within the scope of this project.

Contributing

This project is still in early development, so the recipe formats and API are subject to severe changes. That said, we welcome contributions of all forms, especially for recipes and site presets, as well as procedures in existing recipes for lesser-known platforms.

To add a new recipe or preset, a short-name/slug would have to be allocated for it. Please use the generally agreed on names (e.g. ubuntu for Ubuntu package, TUNA for Tsinghua TUNA Mirrors).

For more guidance, please refer to the CONTRIBUTE file inthe GitHub repository.