Skip to main content

The first offline-first, source-based TUI package manager built natively for Termux

Project description

Termux App Store — TUI Package Manager for Termux

Termux App Store — TUI & CLI Package Manager for Termux

The first offline-first, binary-safe TUI package manager built natively for Termux on Android.

Read in: 🇮🇩 Bahasa Indonesia | 🇹🇭 ภาษาไทย | 🇯🇵 日本語 | 🇨🇳 中文 | 🇻🇳 Tiếng Việt | 🇮🇳 हिन्दी

CI Codecov PyPI Version Downloads License Stars Forks Issues PRs Community Ready

Offline-first • Binary-safe • Source-based • Termux-native • Android Terminal Install and manage Termux packages — pre-built binaries or source builds — no root, no account, no telemetry.


What is Termux App Store?

Termux App Store (termux-app-store) is a TUI (Terminal User Interface) and CLI package manager built with Python (Textual) that lets Termux users on Android browse, install, and manage tools/packages directly on-device — no account, no telemetry, no cloud dependency, no root required.

Starting from v0.4.0, Termux App Store supports a fast install engine: packages are downloaded as pre-built .deb binaries from a mirror pool (GitHub Pages, Cloudflare CDN, jsDelivr), with local .deb caching (TTL 7 days) and per-arch SHA256 verification. Source builds remain available via fix-install for full control.

It works as an alternative package manager for Termux, letting you install community tools using verified build.sh scripts — similar in spirit to the AUR (Arch User Repository) but designed specifically for Termux on Android.

How is this different from termux-packages or TUR (Termux User Repository)?

  • termux-packages is the official Termux repo — maintained by the core team, requires PR approval, and only accepts widely-used tools.
  • TUR is a curated extension, still requires contributor review.
  • Termux App Store is fully community-driven: anyone can submit a build.sh, packages are distributed as pre-built .deb or source builds, and there is no centralized approval gate. Think of it as a personal + community package layer on top of Termux.

[!IMPORTANT] Termux App Store is not a hidden auto-installer. All installs — binary or source — run locally, transparently, and under full user control.


Who Is It For?

User Use Case
Termux Users Fast binary installs or full source-build control
Developers Distribute tools via pre-built .deb or source packaging
Reviewers & Auditors Review and validate build scripts
Maintainers Manage multiple Termux packages at once

Screenshots

Termux App Store — Main View



Tui Interface

TUI Main Interface TUI Install Interface Menu Palette
TUI Main Interface TUI Install Interface Menu Palette Interface
TUI main menu Package install process Command palette

TUI User-friendly with full touchscreen support


CLI Interface

Other tools support CLI Install Interface CLI View Interface
Other tools support CLI Install Interface CLI View Interface
tasctl and termux-build Package install process CLI help, list and show

GuideBook

List menu Menu about Menu how to upload
List menu Menu about Menu how to upload
GuideBook main menu Information termux-app-store Guide how to upload

GuideBook is a information, run: python guidebook.py


Screenrecord

Record termux-app-store TUI, CLI, Other tool tasctl, termux-build, guidebook.py
termux-app-store

Quick Install and Uninstall

Available on PyPI — searchable and indexed, easy to discover.

Option 1 (Recommended)

pkg install python
pip install termux-app-store

Option 2 (Manual)

Simple (recommended if memory is limited)

curl -fsSL https://raw.githubusercontent.com/djunekz/termux-app-store/master/tasctl | bash -s install

With git clone (downloads full repository)

git clone --single-branch --branch master https://github.com/djunekz/termux-app-store
cd termux-app-store
bash install.sh

After install, run:

termux-app-store        # Open interactive TUI
termux-app-store -h     # Show CLI help
tas                     # Shorthand for termux-app-store

Uninstall

pip uninstall termux-app-store
# or
./tasctl uninstall

Usage

TUI — Interactive Interface

termux-app-store
# or shorthand:
tas

CLI — Direct Commands

termux-app-store list                     # List all packages
termux-app-store show <package>           # Show package details
termux-app-store install <package>        # Fast install (pre-built .deb)
termux-app-store install pkg1 pkg2 pkg3   # Multi-package install
termux-app-store fix-install <package>    # Force source build (bypass fast install)
termux-app-store search <query>           # Search packages by name or description
termux-app-store update                   # Check for available updates
termux-app-store upgrade                  # Upgrade all packages
termux-app-store upgrade <package>        # Upgrade a specific package
termux-app-store uninstall <package>      # Uninstall a package
termux-app-store mirrors                  # Check mirror status
termux-app-store cache info               # Show binary cache info
termux-app-store cache clear              # Clear binary cache
termux-app-store version                  # Check latest version
termux-app-store help                     # Full help

Features

Package Browser (TUI) Browse packages from the packages/ folder interactively with keyboard & touchscreen navigation.
Fast Install Engine Downloads pre-built .deb from mirror pool — GitHub Pages, Cloudflare CDN, jsDelivr — with automatic fallback.
Binary Cache Local .deb cache with 7-day TTL and per-arch SHA256 verification. Cached packages install instantly.
Smart Build Validator Detects unsupported Termux dependencies with automatic status badges.
Real-time Search & Filter Search packages by name or description — search/find CLI commands included.
Multi-package Install/Uninstall Install or remove several packages in one command with a summary output.
One-Click Manage Install / update / uninstall Termux App Store itself via ./tasctl.
Privacy-First No account, no tracking, no telemetry — fully offline after mirror sync.

Package Status Badges

Badge Description
NEW Newly added package (< 7 days)
UPDATE A newer version is available
INSTALLED Installed version is up-to-date
UNSUPPORTED Dependency not available in Termux

How Fast Install Works (v0.4.0+)

termux-app-store install <package>
        │
        ▼
  Check local .deb cache (TTL 7 days)
        │ cache HIT          │ cache MISS
        ▼                    ▼
  Verify SHA256        Try mirrors in order:
  (per arch)           1. GitHub Pages (primary)
        │              2. Cloudflare CDN
        ▼              3. jsDelivr CDN
  dpkg -i              4. Raw GitHub (fallback)
                             │
                             ▼
                       Download .deb
                       Verify SHA256 (sha256_by_arch)
                       Cache locally
                       dpkg -i

If fast install fails, use fix-install <package> to force a full source build via build-package.sh.


Adding a Package

Every package in Termux App Store is defined by a single build.sh file — similar to how PKGBUILD works in Arch Linux, but adapted for Termux on Android.

Every package must have a build.sh file:

packages/<tool-name>/build.sh

Minimal build.sh Template

TERMUX_PKG_HOMEPAGE=""
TERMUX_PKG_DESCRIPTION=""
TERMUX_PKG_LICENSE=""
TERMUX_PKG_MAINTAINER="@your-github-username"
TERMUX_PKG_VERSION=""
TERMUX_PKG_SRCURL=""
TERMUX_PKG_SHA256=""

[!NOTE] See the full template in template/build.sh or run: ./termux-build template

Adding a Package using termux-build

cd termux-app-store
./termux-build create your-tool-name
# or auto-create from a GitHub URL:
./termux-build init https://github.com/user/repo

[!NOTE] When naming, do not use spaces — use -. Example: my-tool-name


termux-build — Build & Validation Tool

termux-build is a validation and reviewer helper tool — not an auto-upload or auto-publish tool.

./termux-build create <package>      # Create package for distribution
./termux-build init <url-repo>       # Auto-create and build package from GitHub URL
./termux-build lint <package>        # Lint a build script
./termux-build check-pr <package>    # Check PR readiness
./termux-build doctor                # Diagnose environment
./termux-build suggest <package>     # Get improvement suggestions
./termux-build explain <package>     # Detailed package explanation
./termux-build template              # Generate build.sh template
./termux-build guide                 # Contribution guide

[!NOTE] termux-build only reads and validates — it does not modify files or upload to GitHub.


tasctl — Termux App Store Controller

tasctl is the controller for the termux-app-store system.

./tasctl install       # Install Termux App Store (latest)
./tasctl update        # Update to latest version
./tasctl uninstall     # Remove Termux App Store
./tasctl doctor        # Diagnose environment
./tasctl self-update   # Update tasctl itself
./tasctl help          # Show help

guidebook — All Information About Termux App Store

python guidebook.py

[!NOTE] guidebook currently supports two languages: English and Bahasa Indonesia.


How to Distribute Your Package to the Termux Community

# 1. Fork this repo
# 2. Add your package folder:
mkdir packages/your-tool-name
# 3. Create build.sh from the template or with termux-build:
./termux-build create your-tool-name
# or from a GitHub URL:
./termux-build init https://github.com/you/your-repo
# 4. Validate with termux-build:
./termux-build lint packages/your-tool-name
# 5. Submit a Pull Request

Full guide: HOW_TO_UPLOAD.md


Architecture

termux-app-store/
├── packages/              # All packages directory
│   └── <tool-name>/
│       └── build.sh       # Metadata & build script
├── template/
│   └── build.sh           # Package template
├── core/
│   ├── binary_core.py     # BinaryCache — local .deb cache + mirror download
│   ├── mirrors.py         # MirrorManager — mirror pool registry
│   ├── package.py         # Package dataclass
│   └── validator.py       # PackageValidator
├── utils/
│   └── installer.py       # install_from_binary / install_from_source helpers
├── tools/
│   └── mirrors.json       # Mirror registry (GitHub Pages, Cloudflare, jsDelivr, raw GitHub)
├── fast_install.py        # Fast install engine (.deb download + cache + SHA256 verify)
├── tasctl                 # TAS installer/updater/uninstaller
├── termux-build           # Validation & review tool
└── install.sh             # Main installer

Full details: ARCHITECTURE.md


Security & Privacy

Security Privacy
No extra permissions required No account or registration
No network ports opened No analytics or tracking
No background services running No telemetry of any kind
Builds only run on explicit user command Offline-first by design
SHA256 verification on all .deb downloads Binary source is transparent and auditable

Full details: SECURITY.md | PRIVACY.md | DISCLAIMER.md | BINARY_DISCLAIMER.md


Contributing

All contributions are welcome!

How to Contribute Description
Add a package Submit a new tool package
Report a bug Open an issue on GitHub
Send a PR Code or documentation improvements
Review PRs Help validate others' contributions
Security audit Review build script security
Improve docs Clarify or translate documentation

Full guide: CONTRIBUTING.md


Help & Documentation

Document Description
FAQ Frequently asked questions
TROUBLESHOOTING Solutions to common problems
HOW TO UPLOAD How to upload your tool
CONTRIBUTING Contribution guide
SUPPORT How to get support
BINARY_DISCLAIMER Notes on binary distribution

Philosophy

"Local first. Control over convenience. Transparency over magic."

Termux App Store is built for users who want to:

  • Fully understand what runs on their device
  • Control builds and sources directly
  • Avoid vendor lock-in and cloud dependency
  • Share tools openly with the Termux community

License

This project is licensed under the MIT License — see LICENSE for details.


Maintainer

Djunekz — Independent & Official Developer

GitHub


Support This Project

If Termux App Store has been useful to you:

  • Star this repo — helps others discover it
  • Share it in Termux & Android communities
  • Report bugs via Issues
  • Submit a PR for any improvement
  • Sponsor: https://saweria.co/redHh

Star History

Star History Chart


Related Projects & Keywords

This project is independently developed and is not affiliated with the official Termux project.

Search terms: termux app store · termux package manager · termux tui · termux cli · termux tools · android terminal package manager · termux custom packages · termux source build · termux binary install · termux deb installer · termux alternative · termux community packages · termux offline installer · termux-app-store djunekz · install packages termux android · alternative to termux-packages · alternative to TUR termux · how to distribute package termux · termux community repo · termux build from source android · create termux package · custom repo termux · tas command termux


© Termux App Store — Built for everyone, by the community.

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

termux_app_store-0.4.1.tar.gz (80.4 kB view details)

Uploaded Source

Built Distribution

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

termux_app_store-0.4.1-py3-none-any.whl (53.3 kB view details)

Uploaded Python 3

File details

Details for the file termux_app_store-0.4.1.tar.gz.

File metadata

  • Download URL: termux_app_store-0.4.1.tar.gz
  • Upload date:
  • Size: 80.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for termux_app_store-0.4.1.tar.gz
Algorithm Hash digest
SHA256 67c2f5e7b03690c42d15798602e8cd5e715ef33345312127d5b430e58fedbaef
MD5 a110ad832a0b589f96a63b77c13b8696
BLAKE2b-256 63502cc1bf60ecdd8781b79a94ada9085bd7b0bae34f62724c903aeef058a630

See more details on using hashes here.

Provenance

The following attestation bundles were made for termux_app_store-0.4.1.tar.gz:

Publisher: publish.yml on djunekz/termux-app-store

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file termux_app_store-0.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for termux_app_store-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d15672cef94ce9d992c17a250457ff31c305f6deadb3efcc36771c2347355050
MD5 4ae829cd784feb53fb9fa7a63111960f
BLAKE2b-256 6934336ec554b486a45eba89cb55feba47672861b7d4ae62ce17d598afdf5e50

See more details on using hashes here.

Provenance

The following attestation bundles were made for termux_app_store-0.4.1-py3-none-any.whl:

Publisher: publish.yml on djunekz/termux-app-store

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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