Skip to main content

A tool to find the fastest mirror for Ubuntu and its derivatives

Project description

Mircheck - Fastest Mirror Selector for Ubuntu and it's derivatives

This script helps you find the fastest mirror for your Ubuntu and it's derivatives and generates a sources.list file accordingly. It downloads the Release file from each mirror to measure the speed and identifies the fastest one.

Requirements

  • Python 3.6 or higher
  • requests library

Installation

  1. Recommended - Using PIP

    pip install mircheck
    
  2. Clone the repository:

    git clone https://github.com/arkrwn/mircheck.git
    cd mircheck/mircheck
    pip install -r ../requirements.txt
    chmod +x main.py
    

Usage

Install using pip: `mircheck [options] <distribution> <country>`
Install using git: `./mircheck [options] <distribution> <country>`

Positional Arguments

  • distribution: Distribution code name (e.g., jammy, bionic).
  • country: Country code or name.

Options

  • -a, --arch ARCH: Specify architecture (e.g., amd64, arm64). Default is the architecture of the current machine.
  • -s, --sources: Include deb-src lines in the generated sources.list.
  • -o, --outfile OUTFILE: Output file for sources.list. Default is ./sources.list.
  • -n, --nonfree: Include non-free section in the generated sources.list.
  • -d, --distribution_type {stable, testing, unstable, experimental, release_codename, sid}: Specify which distribution of Debian to use. Default is stable.

Examples

  1. Find the fastest mirror for Ubuntu jammy in Indonesia and save to the current directory:

    mircheck jammy id
    
  2. Find the fastest mirror for Debian stable in Germany and include source lines:

    mircheck stable germany -s
    
  3. Find the fastest mirror for Ubuntu bionic in the USA and save to a custom path:

    mircheck bionic us -o /path/to/custom/sources.list
    

Output

The script will test each mirror's speed and display the results in kilobytes per second (KB/s). It will identify the fastest mirror and generate a sources.list file with the appropriate entries.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contributing

Feel free to submit issues and pull requests. For major changes, please open an issue first to discuss what you would like to change.

Acknowledgements

  • The Ubuntu for providing mirror lists.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mircheck-1.1.0.tar.gz (8.6 kB view details)

Uploaded Source

Built Distribution

mircheck-1.1.0-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

Details for the file mircheck-1.1.0.tar.gz.

File metadata

  • Download URL: mircheck-1.1.0.tar.gz
  • Upload date:
  • Size: 8.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.11.9

File hashes

Hashes for mircheck-1.1.0.tar.gz
Algorithm Hash digest
SHA256 9e6beca2c9900b7d1af185be926c858132b6cdefb34c749f1b64b56294102cf9
MD5 40c1a3dd3bb8e8a214c4fe454bd84a5c
BLAKE2b-256 4ef5c4da365744ce56d761980849c35e463baa2fee1bf03400a98f0162432f0e

See more details on using hashes here.

File details

Details for the file mircheck-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: mircheck-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.11.9

File hashes

Hashes for mircheck-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bcca80e876b6152e89131dbb7ae4c25f5286ab3e5ede9c49c5cf2e19e11ed963
MD5 70f81d81197862cd22a5ec378d5217d7
BLAKE2b-256 44660681e0c1cf799ac2be8c86a91d0a7cbd5df0f2143c8ed9ea5e5ae066c0de

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page