{"id":35140899,"url":"https://github.com/theblazehen/sd_flasher","last_synced_at":"2026-01-13T22:59:12.267Z","repository":{"id":330756321,"uuid":"1123850169","full_name":"theblazehen/sd_flasher","owner":"theblazehen","description":"Flash disk images to SD cards directly from your Android device","archived":false,"fork":false,"pushed_at":"2025-12-28T17:10:36.000Z","size":302,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-29T18:31:24.442Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/theblazehen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-27T19:01:27.000Z","updated_at":"2025-12-28T17:10:40.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/theblazehen/sd_flasher","commit_stats":null,"previous_names":["theblazehen/sd_flasher"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/theblazehen/sd_flasher","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theblazehen%2Fsd_flasher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theblazehen%2Fsd_flasher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theblazehen%2Fsd_flasher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theblazehen%2Fsd_flasher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/theblazehen","download_url":"https://codeload.github.com/theblazehen/sd_flasher/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theblazehen%2Fsd_flasher/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28400666,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-13T14:36:09.778Z","status":"ssl_error","status_checked_at":"2026-01-13T14:35:19.697Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-12-28T11:15:45.980Z","updated_at":"2026-01-13T22:59:12.260Z","avatar_url":"https://github.com/theblazehen.png","language":"Kotlin","readme":"# SD Flasher\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"fastlane/metadata/android/en-US/images/phoneScreenshots/1_home.png\" width=\"250\" alt=\"Home Screen\"\u003e\n  \u003cimg src=\"fastlane/metadata/android/en-US/images/phoneScreenshots/2_confirm.png\" width=\"250\" alt=\"Confirm Dialog\"\u003e\n  \u003cimg src=\"fastlane/metadata/android/en-US/images/phoneScreenshots/3_flashing.png\" width=\"250\" alt=\"Flashing Progress\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eFlash disk images to SD cards directly from your Android device\u003c/strong\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/theblazehen/sd_flasher/releases/latest\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/v/release/theblazehen/sd_flasher?style=for-the-badge\" alt=\"Latest Release\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/theblazehen/sd_flasher/releases\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/downloads/theblazehen/sd_flasher/total?style=for-the-badge\" alt=\"Downloads\"\u003e\n  \u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Android-7.0%2B-green?style=for-the-badge\u0026logo=android\" alt=\"Android 7.0+\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Root-Required-red?style=for-the-badge\" alt=\"Root Required\"\u003e\n\u003c/p\u003e\n\n---\n\n## Features\n\n- 🚀 **Direct block device writing** - Flash images directly to SD cards at maximum speed\n- 📦 **Compressed image support** - Handles `.img`, `.img.gz`, `.img.xz`, and `.zip` files\n- 📊 **Real-time progress** - Live speed, ETA, and progress tracking\n- ⚡ **Fast writes** - 4MB buffer for optimal performance\n- 🛡️ **Safety first** - Confirmation dialogs and partition warnings\n- 🎨 **Material You** - Modern UI with dynamic color support\n\n## Requirements\n\n- **Android 7.0+** (API 24)\n- **Root access** (Magisk, KernelSU, or similar)\n- SD card slot or USB card reader\n\n## Installation\n\n### Download\nDownload the latest APK from the [Releases](https://github.com/theblazehen/sd_flasher/releases/latest) page.\n\n### Build from source\n```bash\ngit clone https://github.com/theblazehen/sd_flasher.git\ncd sd_flasher\n./gradlew assembleDebug\n```\n\nThe APK will be at `app/build/outputs/apk/debug/app-debug.apk`\n\n## Usage\n\n1. **Grant root access** when prompted\n2. **Select an image file** using the file picker\n3. **Select the target SD card** from the device list\n4. **Tap \"Flash Image\"** and confirm the warning\n5. **Wait for completion** - do not remove the SD card!\n\n## Supported Image Formats\n\n| Format | Extension | Notes |\n|--------|-----------|-------|\n| Raw Image | `.img` | Direct write, fastest |\n| GZip Compressed | `.img.gz`, `.gz` | Common for RPi images |\n| XZ Compressed | `.img.xz`, `.xz` | High compression ratio |\n| ZIP Archive | `.zip` | First `.img` file extracted |\n\n## Safety\n\n\u003e ⚠️ **Warning**: This app writes directly to block devices. Double-check your target device before flashing!\n\nThe app includes several safety measures:\n- Only removable devices are shown (internal storage is excluded)\n- Partition warnings displayed for devices with existing data\n- Two-step confirmation before flashing\n- Device is unmounted before writing\n\n## Why Root?\n\nAndroid's security model prevents apps from writing to raw block devices. Root access is required to:\n- Access `/dev/block/*` devices\n- Unmount mounted partitions\n- Write directly to storage hardware\n\n## Tech Stack\n\n- **Kotlin** + **Jetpack Compose** - Modern Android UI\n- **libsu 6.0.0** - Root shell and RootService by topjohnwu\n- **Apache Commons Compress** - Decompression support\n- **Hilt** - Dependency injection\n- **Material 3** - Dynamic theming\n\n## Building\n\n### Prerequisites\n- Android Studio Hedgehog or newer\n- JDK 17\n- Android SDK 35\n\n### Debug build\n```bash\n./gradlew assembleDebug\n```\n\n### Release build\n```bash\n./gradlew assembleRelease\n```\n\n## Contributing\n\nContributions are welcome! Please:\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Submit a pull request\n\n## License\n\n```\nGNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007\n\nCopyright (C) 2025\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program.  If not, see \u003chttps://www.gnu.org/licenses/\u003e.\n```\n\n## Acknowledgments\n\n- [libsu](https://github.com/topjohnwu/libsu) by topjohnwu - Root shell library\n- [Apache Commons Compress](https://commons.apache.org/proper/commons-compress/) - Compression support\n\n---\n\n\u003cp align=\"center\"\u003e\n  Made with ❤️ for the Raspberry Pi and embedded Linux community\n\u003c/p\u003e\n","funding_links":[],"categories":["Utilities and System Tools"],"sub_categories":["Miscellaneous Utilities"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheblazehen%2Fsd_flasher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftheblazehen%2Fsd_flasher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheblazehen%2Fsd_flasher/lists"}