Skip to main content

TUI wizard for selecting the best Iran mirrors

Project description

Mirava

A TUI implementation of the Mirava project. It helps developers in I.R. Iran keep working during internet blackouts by finding accessible mirror endpoints.

Mirava is an interactive terminal app that helps you find working mirror endpoints for:

  • Linux package repositories (Debian/Ubuntu/Arch/Alpine and more)
  • Language/package registries (PyPI, npm, Docker Registry, etc.)

It checks both:

  • Reachability (OK/FAIL)
  • Package availability (FOUND/NOT FOUND)

Quick Start

Option 1: Install from PyPI (recommended)

pip install mirava-tui
mirava

Option 2: Run a prebuilt binary

  1. Open the repository's Releases page.
  2. Download the binary for your platform.
  3. Run it from your terminal.

Examples:

# Linux / macOS
chmod +x mirava-<target>
./mirava-<target>
# Windows PowerShell
.\mirava-windows-x64.exe

Option 3: Run from source

Requirements:

  • Python 3.9+

Install and run:

pip install -e .
mirava

Or without installation:

python -m mirava

How to Use

When Mirava starts, choose one of these modes:

  • OS mirrors: Check OS repository mirrors. Package input is optional.
  • Registry mirrors: Check registries like PyPI/npm/Docker. Package/image input is required.

Keyboard controls:

  • Up / Down (or k / j) to move
  • Enter to select
  • b to go back
  • q to quit

Understanding Results

Mirava prints a results table with these columns:

  • Reach: Endpoint health (OK or FAIL)
  • Package: FOUND, NOT FOUND, or SKIPPED
  • Latency: Lower is typically better
  • Mirror, Endpoint, Reason: Context and failure details

Tips:

  • Prefer rows with Reach=OK and lower latency.
  • NOT FOUND usually means the mirror is reachable, but that specific package/image is missing.
  • SKIPPED appears when package checking was optional and no package name was given.

Notes

  • Mirror checks use live network requests, so results can change over time.
  • Some mirrors may be reachable but slow; run multiple checks if needed.

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

mirava_tui-0.1.2.tar.gz (31.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mirava_tui-0.1.2-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

File details

Details for the file mirava_tui-0.1.2.tar.gz.

File metadata

  • Download URL: mirava_tui-0.1.2.tar.gz
  • Upload date:
  • Size: 31.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.29 {"installer":{"name":"uv","version":"0.9.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for mirava_tui-0.1.2.tar.gz
Algorithm Hash digest
SHA256 44d29ecfd339d2af894aaeeecaf91a4c1a245fb9e859299c6419392a58e679ab
MD5 087581e2b4db32b014156147e630d948
BLAKE2b-256 192079e5bd3db6f68be32f820353be3810f92db374ebd2f9adb8fdca1dc06c53

See more details on using hashes here.

File details

Details for the file mirava_tui-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: mirava_tui-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 17.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.29 {"installer":{"name":"uv","version":"0.9.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for mirava_tui-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 010292d0eda7c4b922ea04e8732ba8c0c0268d22f9a55de9f4a281468f5c4b51
MD5 13651c52427cf86d9a189bc8f9a47ed9
BLAKE2b-256 3f3373bcba6b6eb7688050cd49d0ff54aa462070674ba91bc32f282d501cca96

See more details on using hashes here.

Supported by

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