# DroidStore > Self-hosted Android app catalog. Aggregates the F-Droid mainline + archive, IzzyOnDroid, Bitwarden, Briar, Guardian Project, Molly, NewPipe, Threema, Session, Aurora and curated GitHub releases (Termux, Mihon, Joplin, Mullvad, Material Files, etc.). Apps are installed directly from the browser via WebUSB + ADB - no account, no telemetry, no F-Droid client required. DroidStore runs as a static frontend (HTML/CSS/JS) plus a PHP+SQLite backend. The catalog is refreshed periodically from upstream indexes; per-app pages and the sitemap are server-rendered HTML so they index cleanly even without JavaScript. ## Browsing the catalog (HTML) - [/browse](https://droidstore.megahard.pro/browse): paginated HTML index of every app. Each row links to a per-app detail page. - [/app/{package_name}](https://droidstore.megahard.pro/app/com.termux): canonical HTML page per app. Example: /app/com.termux, /app/im.vector.app, /app/me.zhanghai.android.files. Contains the app name, description, version, file size, source, and a direct APK download link. - [/sitemap.xml](https://droidstore.megahard.pro/sitemap.xml): machine-readable list of every URL with last-updated timestamps. ## Querying the catalog (JSON API) All endpoints return JSON and are open (no auth) except `/api/sync`. - `GET /api/apps?q=&category=&repo=&sort=&limit=&offset=` - search & list. `sort` is one of `default`, `name`, `name_desc`, `newest`, `oldest`, `largest`, `smallest`. - `GET /api/apps/{package_name}` - single app, including the full description. - `GET /api/packages` - list of all enabled package names (used by the installed-app lookup). - `GET /api/repos` - configured upstream repos with last-sync metadata. - `GET /api/categories` - categories with counts. - `GET /api/health` - liveness + counters. ## Data model Every app has: `package_name` (Android package id, e.g. `com.termux`), `name`, `summary`, `description`, `category`, `categories[]`, `source_kind` (`fdroid-repo`, `curated-github`, or `curated-direct`), `repo_slug`, `latest_version_name`, `latest_version_code`, `apk_size`, `apk_sha256`, `release_timestamp` (unix seconds of upstream release), and `last_updated` (unix seconds - when this catalog first observed the current version). ## What it is not DroidStore is not a replacement for the F-Droid client app. It does not push notifications, does not auto-update apps in the background, and does not redistribute APKs - installs stream directly from the upstream URL through a transparent proxy. ## Source-of-truth Single instance at https://droidstore.megahard.pro. The site is run by an individual hobbyist; the code is self-hosted and not yet open-sourced.