Mirrorselect is a tool to select the fastest Ubuntu mirrors
mirrorselect
is a command-line tool designed to help users select the best mirror for downloading packages. It tests the speed of various mirrors and suggests the fastest one for your location.
Since the removal of netselect from the Ubuntu repositories, many users have been forced to use the mirror protocol. This protocol, while useful, only test latency/proximity using a one-sided view of the world. This leads to decent, but sub-optimal mirrors selections.
MirrorSelect performs a series of actions to ensure you get the best mirrors:
- Mirrors are sourced from the Launchpad Mirror List instead of the Ubuntu Mirrors Service.
- The Ubuntu Mirrors service does not return the same mirrors every time it's accessed, due to the fact its guessing proximity to your location, and other factors. This means that the results may be incomplete or different each time it's run.
- Launchpad has the most up-to-date and complete information on operational official mirrors.
- Every mirror (in the selected country) is tested for TCP latency, instead of ICMP.
- TCP Latency tests the amount of time it takes for the web server to complete the HTTP request.
- Other tools using ICMP latency only test the time the network takes, not how long it takes for the server to process the request.
- Once the mirrors are ranked by TCP latency for responsiveness, the top
N
servers are then ranked by download speed.
- This ensures that you're actually getting the fastest server, not just the quickest one to respond.
- Even servers that respond quickly might have lower download speeds due to congestion, or other factors.
Features
- Automatically selects the fastest mirror
- GeoIP support for automatic country selection, or manual options for privacy.
- Supports protocol selection (HTTP, HTTPS, any)
- Easy to use command-line interface
- Sane defaults
Usage
MirrorSelect provides several command-line flags to customize its behavior:
mirrorselect [optional flags]
Command-Line Flags
-a
, --arch
: Select the CPU architecture (default: current system)
-c
, --country
: Filter mirrors by ISO 3166 Alpha-2 country code (Default: Auto-Detect). Options: ISO-3166 Alpha-2 Country Codes.. US
, DE
, etc..
-h
, --help
: Display the help message and exit.
-m
, -max
: The max number of servers to perform download speed tests (Default 5)
-p
, --protocol
: Specify the protocol to use (default: ANY). Options: http
, https
, any
.
-r
, --release
: Specify the ubuntu release (Default: Current). Options: Ubuntu codenames e.g. noble
, jammy
, focal
, etc...
-t
, --timeout
: Set the timeout for each mirror latency test in milliseconds (default: 500ms).
-v
, --verbosity
: Show verbose information (Default: WARN) Options: DEBUG, INFO, WARN, ERROR.
Examples
Select the fastest mirror using default settings:
mirrorselect
Select the fastest HTTPS mirror in the US:
mirrorselect --protocol https --country US
Bandwidth test 10 mirrors with a TCP Latency timeout of 800ms:
mirrorselect --max 10 --timeout 800