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.2.tar.gz (8.6 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: mircheck-1.1.2.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.2.tar.gz
Algorithm Hash digest
SHA256 316f97ffc187183a5ab0750fc11079cb8e6d1ffdd2530fdb3d253f5b6133c040
MD5 af6cc7b5b5dbe73c524ac4f25cd80a70
BLAKE2b-256 08f04d804e8a0ffdc7eb51f71185965b2a05df95eaa5628c6be17a240179dbe2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mircheck-1.1.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0cb5275e8bbb817ac0c4b6cd3df82851b2736829cad3ca90eeb48f4b6fe18045
MD5 a12ce0db5ecdfc5d34c72e398d208e14
BLAKE2b-256 2fa08d4914f44e23182a1d4cba57313f6de1755172fc046e07d7167a0aafe3d2

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