[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80952":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":12,"stars7d":15,"stars30d":15,"stars90d":14,"forks30d":14,"starsTrendScore":15,"compositeScore":16,"rankGlobal":9,"rankLanguage":9,"license":17,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":20,"hasPages":18,"topics":21,"createdAt":9,"pushedAt":9,"updatedAt":22,"readmeContent":23,"aiSummary":24,"trendingCount":14,"starSnapshotCount":14,"syncStatus":25,"lastSyncTime":26,"discoverSource":27},80952,"firestrip","WB2024\u002Ffirestrip","WB2024","A Linux-native TUI\u002FCLI tool to debloat, strip telemetry, and reclaim your Amazon Fire TV via ADB — no Windows required.",null,"Python",34,1,31,0,3,44.7,"MIT License",false,"main",true,[],"2026-06-12 04:01:31","# firestrip\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"Images\u002FLogo.png\" alt=\"firestrip\" width=\"300\">\n\u003C\u002Fp>\n\n**Reclaim your Amazon Fire TV from your Linux terminal.**\n\nfirestrip is a Linux-native TUI and CLI tool that removes Amazon's bloatware, silences telemetry, swaps the launcher, and tunes device settings — entirely over ADB, no root required, no Windows in sight.\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fbuymeacoffee.com\u002Fsuccinctrecords\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBuy%20Me%20A%20Coffee-Support-yellow?logo=buy-me-a-coffee\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n---\n\n## Support This Project\n\nfirestrip is built and maintained by **one person**, in free time, with no corporate backing, no funding, and no team. Every device profile, every package classification, every line of the TUI was researched and written from scratch.\n\nIf firestrip:\n- saved you from booting Windows just to debloat a stick\n- stopped Amazon from silently fingerprinting your viewing habits\n- gave you a Fire TV that actually works for *you*\n\n— then consider buying a coffee. It takes 30 seconds and means a lot.\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fbuymeacoffee.com\u002Fsuccinctrecords\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F☕%20Buy%20Me%20A%20Coffee-%23FFDD00?style=for-the-badge&logo=buy-me-a-coffee&logoColor=black\" alt=\"Buy Me A Coffee\">\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\nDonations directly fund what keeps this project alive: tracking FireOS updates, adding new device profiles, and staying ahead of Amazon's ongoing attempts to lock down ADB access. The tool is free and always will be — but if it's worth a cup of coffee to you, [you know where the button is](https:\u002F\u002Fbuymeacoffee.com\u002Fsuccinctrecords).\n\n---\n\n## The Problem\n\nAmazon Fire TV hardware is genuinely good. The software is not. Out of the box:\n\n- The launcher is plastered with ads and \"recommendations\" you never asked for\n- Dozens of background services collect usage data, fingerprint your viewing habits via ACR, and feed an advertising ID you can't easily opt out of\n- Amazon Sidewalk runs silently, sharing your device's network with strangers\n- Pre-installed apps you can't remove bloat storage and RAM\n- The UI is optimised for Amazon's revenue, not your experience\n\nEvery existing tool to fix this is either Windows-only, macOS-only, an unmaintained shell script, or doesn't cover Fire TV at all. firestrip was built to be the tool that should have existed years ago.\n\n---\n\n## Screenshots\n\n### Home screen — device connected\n\n![Home screen — device connected](screenshots\u002Fhome-connected.png)\n\n_The home screen after connecting to a device. Shows live device info: model name, FireOS build, Android version, and connection status._\n\n---\n\n### Debloat screen — packages loaded\n\n![Debloat screen — packages loaded](screenshots\u002Fdebloat-packages.png)\n\n_Package list with tier filter active. Packages are colour-coded by tier (Safe \u002F Risky \u002F Telemetry). Select individually or press `a` to select all visible._\n\n---\n\n### Confirm modal — before applying changes\n\n![Confirm modal — before applying changes](screenshots\u002Fconfirm-modal.png)\n\n_Every destructive action goes through a confirmation modal. The full list of changes is shown before anything executes._\n\n---\n\n### Telemetry screen — current vs target values\n\n![Telemetry screen — current vs target values](screenshots\u002Ftelemetry-screen.png)\n\n_Telemetry settings shown with their current live values and the target firestrip will write. Services list shows installed (✓) vs already removed (·)._\n\n---\n\n### Launcher screen — available launchers\n\n![Launcher screen — available launchers](screenshots\u002Flauncher-screen.png)\n\n_All HOME-intent handlers found on the device are listed. Pre-defined launchers are shown with FOSS tags where applicable; device-detected extras appear automatically._\n\n---\n\n### Install \u002F Uninstall screen — package table\n\n![Install \u002F Uninstall screen — package table](screenshots\u002Finstall-screen.png)\n\n_Full package browser with sortable columns. Click any column header to sort. Toggle \"Hide system apps\" to focus on user-installed packages. Select a row to populate the uninstall field._\n\n---\n\n\n## Features\n\n| Feature | Detail |\n|---|---|\n| **Interactive TUI** | 7-screen Textual app — Debloat, Telemetry, Launcher, Settings, Backup, Install\u002FUninstall, Home |\n| **Headless CLI** | Fully scriptable; all operations available without the TUI |\n| **Device auto-detection** | Fingerprints model from `ro.product.model` and loads the correct package profile |\n| **Bloatware removal** | Per-device TOML database, three-tier classification, confirmation before execution |\n| **Telemetry stripping** | 7 ADB settings overrides + 20 telemetry service packages |\n| **Amazon Sidewalk** | Disabled via `amazon:sidewalk_enabled=0` |\n| **ACR disablement** | Automatic Content Recognition stopped at the settings layer |\n| **Launcher swap** | Install, set as HOME default, freeze Amazon launcher — 4-step verified workflow |\n| **APK install\u002Funinstall** | Install from local path or uninstall any package; sortable package browser |\n| **Backup & restore** | Full JSON snapshot (packages + settings + launcher) before any action |\n| **Dry-run by default** | Nothing executes until `--apply` is passed or confirmed in TUI |\n| **USB + TCP\u002FIP ADB** | Both connection modes supported; udev setup helper included |\n| **No root required** | All operations use documented ADB commands only |\n| **No systemd** | Zero systemd dependencies; works on MX Linux, Devuan, Void, etc. |\n\n---\n\n## Requirements\n\n- **Python 3.10+**\n- **ADB** on `$PATH` — `android-tools-adb` on Debian\u002FMX Linux, `android-tools` on Arch\n- An Amazon Fire TV with ADB debugging enabled\n- USB cable or Fire TV on the same network\n\n### Enable ADB on your Fire TV\n\n1. **Settings → My Fire TV → About** — click the **Build** row 7 times to unlock Developer Options\n2. **Settings → My Fire TV → Developer Options → ADB Debugging** → ON\n3. For network ADB: **Developer Options → Network Debugging** → ON (note the IP address shown)\n\n---\n\n## Installation\n\n### From source\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FWB2024\u002Ffirestrip.git\ncd firestrip\npython -m venv .venv\nsource .venv\u002Fbin\u002Factivate\npip install -e .\n```\n\n### USB udev rules (one-time — rootless USB ADB)\n\n```bash\nsudo firestrip setup-udev\n# Adds: SUBSYSTEM==\"usb\", ATTR{idVendor}==\"1949\", MODE=\"0666\", GROUP=\"plugdev\"\n# Then: sudo usermod -aG plugdev $USER  (log out and back in)\n```\n\n### pipx \u002F PyPI\n\n```bash\n# Not yet published — coming soon:\npipx install firestrip\n```\n\n---\n\n## TUI Mode\n\n```bash\nfirestrip                        # auto-detect device\nfirestrip --host 192.168.1.42    # network ADB\nfirestrip --usb                  # USB ADB\n```\n\nThe TUI launches to the home screen. All screens are keyboard-navigable:\n\n| Key | Action |\n|---|---|\n| `1` | Debloat |\n| `2` | Telemetry |\n| `3` | Launcher |\n| `4` | Settings |\n| `5` | Backup |\n| `6` | Install \u002F Uninstall APK |\n| `Esc` | Back |\n| `q` | Quit |\n\nInside the **Debloat** screen:\n\n| Key | Action |\n|---|---|\n| `a` | Select all visible packages |\n| `n` | Deselect all visible packages |\n| `s` | Filter to Safe tier only |\n| `p` | Preview \u002F confirm selection |\n| `Enter` | Toggle row selection |\n\n---\n\n## CLI Reference\n\n```bash\n# Device info\nfirestrip --host 192.168.1.138 device\n\n# Debloat\nfirestrip --host 192.168.1.138 debloat list\nfirestrip --host 192.168.1.138 debloat run --preset safe\nfirestrip --host 192.168.1.138 debloat run --preset safe --apply\nfirestrip --host 192.168.1.138 debloat run --preset aggressive --apply\nfirestrip --host 192.168.1.138 debloat run --package com.amazon.bueller.music --apply\n\n# Telemetry\nfirestrip --host 192.168.1.138 telemetry status\nfirestrip --host 192.168.1.138 telemetry strip --apply\n\n# Launcher\nfirestrip --host 192.168.1.138 launcher list\nfirestrip --host 192.168.1.138 launcher status\nfirestrip --host 192.168.1.138 launcher scan\nfirestrip --host 192.168.1.138 launcher set wolf --apply\nfirestrip --host 192.168.1.138 launcher set wolf --apk ~\u002FWolf.apk --apply\nfirestrip --host 192.168.1.138 launcher restore --apply\n\n# Settings tweaks\nfirestrip --host 192.168.1.138 settings status\nfirestrip --host 192.168.1.138 settings apply --apply\n\n# APK install \u002F uninstall\nfirestrip --host 192.168.1.138 apk install --path ~\u002FMyApp.apk\nfirestrip --host 192.168.1.138 apk uninstall --package com.example.app\n\n# Backup & restore\nfirestrip --host 192.168.1.138 backup create\nfirestrip --host 192.168.1.138 backup list\nfirestrip --host 192.168.1.138 restore --input ~\u002F.local\u002Fshare\u002Ffirestrip\u002Fbackups\u002Fbackup.json\nfirestrip --host 192.168.1.138 restore --input ~\u002F.local\u002Fshare\u002Ffirestrip\u002Fbackups\u002Fbackup.json --apply\n\n# USB\nfirestrip --usb debloat run --preset safe --apply\n```\n\nDry-run is always the default. **Nothing is changed on the device unless `--apply` is explicitly passed.**\n\n---\n\n## Package Classification\n\nEvery package in the database is assigned one of four tiers:\n\n| Tier | Description |\n|---|---|\n| `SAFE` | Standalone. No system dependencies. Confirmed safe to disable. |\n| `RISKY` | Has inter-dependencies or is OTA-related. Warned before action. |\n| `TELEMETRY` | Data collection, usage reporting, advertising services. |\n| `NEVER_TOUCH` | Hardcoded. Cannot be selected or disabled. Never appears in the UI. |\n\n**Debloat presets:**\n\n| Preset | Tiers targeted |\n|---|---|\n| `safe` | SAFE only |\n| `telemetry` | TELEMETRY only |\n| `aggressive` | SAFE + RISKY + TELEMETRY |\n\nAll operations use `pm disable-user --user 0` — the package stays on disk and can be re-enabled at any time. No permanent changes, no brick risk.\n\n**`NEVER_TOUCH` includes** (among others): `com.amazon.tv.launcher`, `android`, `com.android.systemui`, `com.android.providers.downloads` (system download manager), live TV tuner packages on the Fire TV Box.\n\n---\n\n## Telemetry Stripped\n\nfirestrip applies two layers of telemetry suppression:\n\n### Settings layer (7 overrides)\n\n| Setting | Effect |\n|---|---|\n| `global\u002Famazon:device_metrics_opt_in = 0` | Opt out of device metrics |\n| `global\u002Flimit_ad_tracking = 1` | Disable advertising tracking ID |\n| `global\u002Famazon:interest_based_ads = 0` | Disable interest-based ad profiling |\n| `global\u002Famazon:sidewalk_enabled = 0` | Disable Amazon Sidewalk mesh network |\n| `secure\u002Fusage_stats = 0` | Disable usage statistics |\n| `global\u002Famazon:data_monitoring_consent = 0` | Revoke data monitoring consent |\n| `global\u002Famazon:acr_enabled = 0` | Disable ACR (Automatic Content Recognition) |\n\n### Services layer (20 packages)\n\nIncludes: `com.amazon.device.metrics`, `com.amazon.tv.acr`, `com.amazon.hybridadidservice`, `com.amazon.sneakpeek`, `com.amazon.whisperlink.core.android`, `com.amazon.ftvads.deeplinking`, and 14 others.\n\n---\n\n## Launcher Swap\n\nThe launcher workflow runs four verified steps:\n\n1. Install the replacement launcher APK (skipped if already installed)\n2. Set it as the default HOME activity via `cmd package set-home-activity`\n3. Verify the HOME activity resolved to the new launcher\n4. Disable the Amazon launcher so it cannot reassert itself\n\nOn devices with recent security patches (December 2025+), step 4 will encounter a SecurityException — the Amazon launcher is marked as a protected package. Steps 1–3 still succeed. The warning is shown in both TUI and CLI output.\n\nTo undo: `firestrip launcher restore --apply` (or the TUI Restore button) re-enables the Amazon launcher and removes the HOME preference.\n\n**Built-in launcher definitions:**\n\n| Launcher | Package | Type |\n|---|---|---|\n| Wolf Launcher | `eu.wolfgangstudios.launcher` | Polished, TMDB metadata, no ads |\n| FLauncher | `me.efesser.flauncher` | FOSS, minimal, remote-friendly |\n| Sideload Launcher | `com.riverrock.sideload` | Lightweight, shows sideloaded apps |\n\nAny launcher already installed on the device (detected via HOME-intent query) is also listed automatically, tagged `[on device]`.\n\n---\n\n## Backup & Restore\n\nBefore any destructive operation, firestrip can snapshot the full device state to a JSON file:\n\n```\n~\u002F.local\u002Fshare\u002Ffirestrip\u002Fbackups\u002F\u003Ctimestamp>_\u003Cmodel>.json\n```\n\nThe backup contains:\n- Full list of all installed packages at time of backup\n- All packages disabled during the session\n- Current values of all telemetry and settings-tweak keys\n- The default launcher package at time of backup\n\nRestore re-enables every package that was disabled and optionally restores the launcher. Supports dry-run preview before applying.\n\n---\n\n## Device Settings Tweaks\n\nThe Settings screen applies five quality-of-life overrides:\n\n| Setting | Value | Effect |\n|---|---|---|\n| `system\u002Fscreen_brightness_mode` | `0` | Manual brightness (disable auto) |\n| `global\u002Ftransition_animation_scale` | `0.5` | Halve UI transition speed |\n| `global\u002Fwindow_animation_scale` | `0.5` | Halve window animation speed |\n| `global\u002Fanimator_duration_scale` | `0.5` | Halve animator duration |\n| `global\u002Fstay_on_while_plugged_in` | `3` | Keep screen on while charging |\n\n---\n\n## Supported Devices\n\n| Device | Model | Status |\n|---|---|---|\n| **Fire TV Box (4K)** | `AFTBOXE1` | ✅ Primary reference device, fully tested |\n| Fire TV Stick (3rd Gen) | `AFTE` | ⚠️ Profile present, community tested |\n| Fire TV Stick 4K | `AFTMM` | ⚠️ Profile present, community tested |\n| Fire TV Stick 4K Max | `AFTKA` | ⚠️ Profile present, community tested |\n| Fire TV Stick Lite | `AFTS` | ⚠️ Profile present, community tested |\n| Fire TV Stick (2nd Gen) | `AFTT` | ⚠️ Profile present, community tested |\n| Fire TV Cube (1st Gen) | `AFTR` | ⚠️ Profile present, community tested |\n| Fire TV Cube (2nd Gen) | `AFTRS` | ⚠️ Profile present, community tested |\n\nThe `AFTBOXE1` (codename `juliana`, MStar M7632, Android 9, FireOS `PS7712.5370N`) is the primary development and test device. All package lists, telemetry constants, and test fixtures are sourced from real hardware. Unknown models fall back to the common package database with a warning.\n\n> **Fire TV Box (`AFTBOXE1`) users:** firestrip never touches the live TV tuner stack (`com.amazon.tv.channelscan`, `com.amazon.tv.livetv`, `com.amazon.tv.conditionalaccess`, `com.mediatek.tvinput`). These are hardcoded in `NEVER_TOUCH`.\n\n---\n\n## Safety Model\n\nfirestrip is designed so that normal use cannot brick your device:\n\n- **Dry-run by default** — no action is taken until you pass `--apply` or confirm in the TUI\n- **Confirmation gate** — the TUI shows a full list of planned changes in a modal before executing\n- **Disable, don't uninstall** — `pm disable-user --user 0` keeps the APK on disk; `pm enable --user 0` undoes it instantly\n- **`NEVER_TOUCH` enforcement** — system-critical packages are stripped from all tier lists at load time and cannot be selected under any circumstances\n- **Per-device profiles** — package lists are model-specific; there is no cross-model guessing\n- **Automatic backup** — the TUI backs up state before applying debloat operations\n- **Restore in one step** — any backup can be applied to re-enable everything firestrip disabled\n\n---\n\n## MX Linux \u002F Systemdless Notes\n\nfirestrip treats MX Linux and other non-systemd distributions as first-class:\n\n- Zero `systemd` dependencies anywhere in the codebase\n- ADB server lifecycle managed via subprocess (`adb start-server` \u002F `adb kill-server`)\n- Automatic reconnect when the Fire TV wakes from sleep\n- udev rule helper (`firestrip setup-udev`) writes `\u002Fetc\u002Fudev\u002Frules.d\u002F51-firestrip-android.rules` and reloads rules — no daemon needed after that\n\n---\n\n## Contributing\n\nContributions are welcome — especially:\n\n- **Package list updates** for new FireOS versions or devices\n- **New device profiles** (Fire TV Cube 3rd gen, Fire TV pendant)\n- **Launcher entries** in `firestrip\u002Fdata\u002Flaunchers\u002Flaunchers.toml`\n- **Testing on non-Box hardware** with real package lists\n\nSee [DESIGN.md](DESIGN.md) for the full architecture, data model, and developer reference.\n\n---\n\n## Disclaimer\n\nfirestrip uses only standard, documented Android ADB commands. It does not exploit vulnerabilities, does not require root, and does not modify system partitions. firestrip is not affiliated with Amazon.\n\n---\n\n## Liability Waiver\n\nTHIS SOFTWARE IS PROVIDED **\"AS IS\"**, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. BY DOWNLOADING, INSTALLING, OR USING FIRESTRIP, YOU ACKNOWLEDGE THAT YOU HAVE READ, UNDERSTOOD, AND AGREE TO BE BOUND BY THE FOLLOWING TERMS:\n\n1. **No warranty.** The developer makes no representations or warranties of any kind — express, implied, statutory, or otherwise — regarding the software's fitness for a particular purpose, reliability, accuracy, or freedom from defects.\n\n2. **Use at your own risk.** You assume sole and full responsibility for any consequences arising from your use of firestrip, including but not limited to: device malfunction, boot loops, factory resets, loss of functionality, data loss, or voided manufacturer warranties.\n\n3. **Device damage.** The developer is **not responsible** for any damage caused to your Amazon Fire TV or any other hardware as a result of using this software. This includes, without limitation, soft-bricked devices, loss of OTA update capability, or unintended disabling of system components.\n\n4. **No affiliation.** firestrip is an independent open-source project. It is not affiliated with, endorsed by, sponsored by, or in any way associated with Amazon, Amazon.com, Inc., or any of its subsidiaries or affiliates.\n\n5. **User responsibility.** You are solely responsible for understanding the commands being executed on your device. firestrip operates via standard ADB interfaces — the same commands that Android's own developer tooling exposes. You accept that modifying device software carries inherent risk.\n\n6. **Reversibility not guaranteed.** While firestrip is designed to be non-destructive and reversible (`pm disable-user` rather than uninstall), the developer does not guarantee that all operations can be undone in all circumstances, across all FireOS versions, or after Amazon pushes system updates.\n\n7. **Limitation of liability.** To the maximum extent permitted by applicable law, in no event shall the developer be liable for any direct, indirect, incidental, special, exemplary, or consequential damages whatsoever (including but not limited to: procurement of substitute goods or services; loss of use, data, or profits; or business interruption) arising in any way out of the use of or inability to use this software, even if advised of the possibility of such damage.\n\nIf you do not accept these terms, do not use firestrip.\n\n---\n\n## License\n\n[MIT](LICENSE)\n","firestrip 是一个基于 Linux 的 TUI\u002FCLI 工具，用于通过 ADB 清理 Amazon Fire TV 上的预装软件、关闭遥测功能并优化设备设置。该工具采用 Python 编写，支持从终端直接操作，无需 Windows 环境或 root 权限。其核心功能包括移除不必要的应用程序、阻止数据收集服务以及替换默认启动器等。适用于希望提升自己 Fire TV 设备使用体验，并且不希望被广告和隐私追踪所打扰的用户。此外，firestrip 还提供了一个友好的文本界面来帮助用户更直观地管理设备配置。",2,"2026-06-11 04:02:58","CREATED_QUERY"]