The first offline-first, source-based TUI package manager built natively for Termux
Project description
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 | 🇮🇳 हिन्दी
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-packagesor TUR (Termux User Repository)?
termux-packagesis 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.debor 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
Tui Interface
| TUI Main Interface | TUI Install Interface | Menu Palette |
|---|---|---|
| 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 |
|---|---|---|
| tasctl and termux-build | Package install process | CLI help, list and show |
GuideBook
| 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 |
|---|
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 viabuild-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.shor 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-buildonly 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
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
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
67c2f5e7b03690c42d15798602e8cd5e715ef33345312127d5b430e58fedbaef
|
|
| MD5 |
a110ad832a0b589f96a63b77c13b8696
|
|
| BLAKE2b-256 |
63502cc1bf60ecdd8781b79a94ada9085bd7b0bae34f62724c903aeef058a630
|
Provenance
The following attestation bundles were made for termux_app_store-0.4.1.tar.gz:
Publisher:
publish.yml on djunekz/termux-app-store
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
termux_app_store-0.4.1.tar.gz -
Subject digest:
67c2f5e7b03690c42d15798602e8cd5e715ef33345312127d5b430e58fedbaef - Sigstore transparency entry: 1549106467
- Sigstore integration time:
-
Permalink:
djunekz/termux-app-store@b8a53969b961395c27d86efee8d6b70479e02e58 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/djunekz
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b8a53969b961395c27d86efee8d6b70479e02e58 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file termux_app_store-0.4.1-py3-none-any.whl.
File metadata
- Download URL: termux_app_store-0.4.1-py3-none-any.whl
- Upload date:
- Size: 53.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d15672cef94ce9d992c17a250457ff31c305f6deadb3efcc36771c2347355050
|
|
| MD5 |
4ae829cd784feb53fb9fa7a63111960f
|
|
| BLAKE2b-256 |
6934336ec554b486a45eba89cb55feba47672861b7d4ae62ce17d598afdf5e50
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
termux_app_store-0.4.1-py3-none-any.whl -
Subject digest:
d15672cef94ce9d992c17a250457ff31c305f6deadb3efcc36771c2347355050 - Sigstore transparency entry: 1549106483
- Sigstore integration time:
-
Permalink:
djunekz/termux-app-store@b8a53969b961395c27d86efee8d6b70479e02e58 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/djunekz
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b8a53969b961395c27d86efee8d6b70479e02e58 -
Trigger Event:
workflow_dispatch
-
Statement type: