{"id":43111104,"url":"https://github.com/zacharee/samloaderkotlin","last_synced_at":"2026-03-10T05:09:03.117Z","repository":{"id":38018148,"uuid":"342079605","full_name":"zacharee/SamloaderKotlin","owner":"zacharee","description":null,"archived":false,"fork":false,"pushed_at":"2026-02-16T20:38:15.000Z","size":22703,"stargazers_count":1346,"open_issues_count":29,"forks_count":132,"subscribers_count":31,"default_branch":"master","last_synced_at":"2026-02-17T01:18:11.335Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zacharee.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","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":"2021-02-25T00:55:07.000Z","updated_at":"2026-02-16T20:38:19.000Z","dependencies_parsed_at":"2025-02-22T04:22:06.438Z","dependency_job_id":"049c8eed-99b8-4248-9c22-b4272ddbbba7","html_url":"https://github.com/zacharee/SamloaderKotlin","commit_stats":null,"previous_names":[],"tags_count":103,"template":false,"template_full_name":null,"purl":"pkg:github/zacharee/SamloaderKotlin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zacharee%2FSamloaderKotlin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zacharee%2FSamloaderKotlin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zacharee%2FSamloaderKotlin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zacharee%2FSamloaderKotlin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zacharee","download_url":"https://codeload.github.com/zacharee/SamloaderKotlin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zacharee%2FSamloaderKotlin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29639809,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T22:32:43.237Z","status":"online","status_checked_at":"2026-02-20T02:00:07.535Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":"2026-01-31T18:23:31.009Z","updated_at":"2026-02-20T03:03:17.631Z","avatar_url":"https://github.com/zacharee.png","language":"Kotlin","funding_links":["https://www.paypal.com/donate/?hosted_button_id=EWAPDSENZ7U44"],"categories":[],"sub_categories":[],"readme":"# Notices\n## Old Firmware\nSamsung may not serve the firmware you request. Early in 2023, Samsung made it so it's only possible to download the latest firmware in most cases, no matter which you request.\n\nIf you know a workaround, please follow up on [this issue](https://github.com/zacharee/SamloaderKotlin/issues/10).\n\n## IMEI/Serial Number Requirement\nSamsung now requires a matching IMEI or serial number be sent with firmware requests. If you're downloading firmware for a device on-hand, enter the IMEI or serial from that device.\n\nOtherwise, you can likely find an IMEI by searching \"[MODEL] IMEI\" in Google. The CSC doesn't seem to matter, only the model and variant.\n\nThe U/U1 variants (US/US Unlocked) are interchangeable. An IMEI for the SM-S918U will work to download firmware for the SM-S918U1, for example.\n\nIf you know a model and TAC you want added to the database, please [open an issue](https://github.com/zacharee/SamloaderKotlin/issues/new?assignees=\u0026labels=\u0026projects=\u0026template=imei-database-request.md\u0026title=).\n\nThank you [VanVuong41429](https://github.com/VanVuong41429) for contributing so many TACs!\n\n# Bifrost - Samsung Firmware Downloader\nThis is yet another firmware downloader for Samsung devices, but it has some special features.\n\nFor one, it's cross-platform. Bifrost runs on Windows, Linux, macOS, and even Android! \n\nBifrost is also a graphical program, with a shared UI across all supported platforms.\n\nMost of the functionality in Bifrost is based on [Samloader](https://github.com/nlscc/samloader). The Python code has been converted to Kotlin and tweaked to take advantage of some of Kotlin's features.\n\nBifrost uses Jetpack Compose, JetBrains Compose for Desktop, and Kotlin Multiplatform to create a shared codebase for all supported platforms.\n\n# Support\n\nEnjoying the app? [Donate here](https://www.paypal.com/donate/?hosted_button_id=EWAPDSENZ7U44).\n\n# Download\nFor Windows, macOS, and Linux, you can download from https://bifrost.zwander.dev.\n\nCheck the [Releases page](https://github.com/zacharee/SamloaderKotlin/releases) for binaries.\n\nIf you want to run this on iOS or use the iOS version on macOS, you can sign up for the TestFlight version [here](https://testflight.apple.com/join/PVmWZNZn).\n\n## Platform Compatibility\n\n|               | x86 | x86_64 | ARMv7 | ARM64 |\n|---------------|-----|--------|-------|-------|\n| Windows       | ❌   | ✅      | ❌     | ✅     |\n| macOS         | ❌   | ✅      | ❌     | ✅     |\n| Android       | ✅   | ✅      | ✅     | ✅     |\n| Debian-Based  | ❌   | ✅      | ❌     | ✅     |\n| Generic Linux | ❌   | ✅      | ❌     | ✅     |\n| iOS           | ❌   | ❌      | ❌     | ✅     |\n\n## Note for Linux\nMake sure you have at least one of the following font families from each category installed.\n\n### Sans Serif\n- Noto Sans\n- DejaVu Sans\n\n### Serif\n- Noto Serif\n- DejaVu Serif\n- Times New Roman\n\n### Monospace\n- Noto Sans Mono\n- DejaVu Sans Mono\n\n### Cursive\n- Comic Sans MS\n\n# Changelog\nRelease notes are available in [CHANGELOG.md](CHANGELOG.md).\n\n# FAQ \u0026 Troubleshooting\n\n## Bifrost isn't downloading watch firmware.\nUnfortunately, Samsung doesn't serve the full firmware files for watches, so Bifrost can't download them.\n\n## Bifrost is returning error 400/401 when downloading\nThese errors are on Samsung's end. If you can, try using a different region/CSC.\n\n## Bifrost is returning error 403 when checking for updates\nThese errors are on Samsung's end. Samsung may no longer be serving firmware for your device or may not have started serving firmware yet. Try a different region/CSC if possible and check to make sure your model number is correct.\n\n## Bifrost opens to a blank screen on Windows\nOn certain GPUs, Jetpack Compose/Skia has trouble rendering. Try running the program as an administrator.\n\nIf you have switchable graphics, try using a different GPU.\n\n## Download speeds are slow\nSamsung's servers sometimes throttle downloads to about 3MiB/s. For older devices, you may see even slower speeds. Different regions/CSCs may have faster downloads.\n\n## How do I know which CSC to use?\nOn your device, do the following:\n1. Open the Settings app.\n2. Scroll down to \"About phone\" or \"About tablet\" and tap it.\n3. Tap \"Software information\".\n4. Scroll down to \"Service provider software version\".\n5. You'll see something like \"XAA/XAA,XAA/XAU/TMB\" or \"XAR/XAR/\" on the second line.\n\nThe first three letters there are your current CSC. The last three letters are the original/firmware CSC of your device.  \nUsing the above examples, the first has a current CSC of XAA and a firmware CSC of TMB. The second has a current CSC of XAR and a firmware CSC of XAR.\n\n## How do I choose an alternative CSC if mine isn't working?\nUse the CSC picker dialog (the button that looks like a list inside the \"Region\" text field).  \nYou can search for your country or region in there and see the different CSCs used. If there are specific carriers associated with a CSC, they'll also be shown.\n\n## Why is my antivirus flagging the app?\nCertain antivirus programs may flag Bifrost as malware. This is (hopefully obviously) a false positive.\n\nThere's a trojan horse malware family named Bifrost, which is part of the greater Bifrose family.  \nAntivirus programs flagging Bifrost (this app) seem to be doing it solely based on this app having the same name as the malware.\n\nBifrost (the malware) only affects Windows systems and has limited functionality after Windows XP. For more information, see [this Wikipedia article](https://en.wikipedia.org/wiki/Bifrost_(Trojan_horse)).\n\nBifrost (this app) does not contain malware. You can verify this by browsing through the source code or by compiling it yourself using the instructions below.\n\n# Building\nBuilding this project should be fairly easy.\n\n## Prep:\n1. Make sure you have the latest [Android Studio Canary](https://developer.android.com/studio/preview) installed.\n2. Clone this project into Android Studio and let it import.\n\n## Desktop\n\n### Conveyor\nBifrost makes use of [Conveyor](https://www.hydraulic.dev/) to create binaries for different desktop platforms.\n\nConveyor can build for Windows and Linux from any host OS, but macOS is required to build for macOS.\n\n1. To build, first download and install Conveyor from the link above.\n2. Next, open a terminal to the project's root directory.\n3. Run `./gradlew :desktop:build` (`.\\gradlew.bat :desktop:build` on Windows).\n4. Run the following command based on your target system.  \n   4.1. Intel/AMD (x86) Windows: `conveyor -Kapp.machines=windows.amd64 make windows-zip`.  \n   4.2. ARM64 Windows: `conveyor -Kapp.machines=windows.arm64 make windows-zip`.  \n   4.3. x86 Debian: `conveyor -Kapp.machines=linux.amd64 make debian-package`.  \n   4.4. ARM64 Debian: `conveyor -Kapp.machines=linux.arm64 make debian-package`.  \n   4.5. x86 Linux: `conveyor -Kapp.machines=linux.amd64 make linux-tarball`.  \n   4.6. ARM64 Linux: `conveyor -Kapp.machines=linux.arm64 make linux-tarball`.  \n   4.7. Intel Macs: `conveyor -Kapp.machines=mac.amd64 make unnotarized-mac-zip`.  \n   4.8. Apple Silicon Macs: `conveyor -Kapp.machines=mac.arm64 make unnotarized-mac-zip`.\n5. Check the `output` folder in the root of the project for the binary.\n\n### Gradle\nAlternatively, you can run a debug binary by executing the `:desktop:run` task.\n\n`./gradlew :desktop:run` (`.\\gradlew :desktop:run` on Windows).\n\n## Android:\n\n### Command Line:\n1. Open the Terminal view in Android Studio (bottom-left).\n2. Enter `gradlew :android:build` on Windows or `./gradlew :android:build` on macOS and Linux.\n3. Once it finishes building, go to `android/build/outputs/apk/debug` and install `android-debug.apk`.\n\n### GUI:\n1. Open the Gradle view in Android Studio (top-right).\n2. Expand the project, then expand \"android\".\n3. Expand \"Tasks,\" then \"build,\" and double-click \"build\".\n4. Once it finishes building, go to `android/build/outputs/apk/debug` and install `android-debug.apk`.\n\n# Running\n\n## Android\nDownload `bifrost_android_\u003cVERSION\u003e.apk` and install it.\n\n## Windows\n- On Intel or AMD devices, download the .zip ending in `windows-amd64`.\n- On ARM64 devices, download the .zip ending in `windows-aarch64`.\n\n## macOS\n- On Intel Macs, download the .zip ending in `mac-amd64`.\n- On Apple Silicon Macs, download the .zip ending in `mac-aarch64`.\n\n## Linux\n- On Debian-based systems, download the `.deb` file.\n- On other Linux distros, download the `.tar.gz` file.\n\nFor Intel or AMD devices, download the `amd64` variant. For ARM64 devices, choose `aarch64` or `arm64`.\n\n# Translating\n\nBifrost uses Weblate for translations.\n\nHelp translate Bifrost to your language on the [project page](https://hosted.weblate.org/engage/bifrost/)!\n\n\u003ca href=\"https://hosted.weblate.org/engage/bifrost/\"\u003e\n\u003cimg src=\"https://hosted.weblate.org/widget/bifrost/strings/multi-auto.svg\" alt=\"Translation status\" /\u003e\n\u003c/a\u003e\n\n# Screenshots\n\n## Desktop:\n\n\u003cimg src=\"/screenshots/DesktopDownload.png\" alt=\"Desktop Downloader\" width=\"400\"\u003e\u003c/img\u003e\n\u003cimg src=\"/screenshots/DesktopDecrypt.png\" alt=\"Desktop Decrypter\" width=\"400\"\u003e\u003c/img\u003e\n\u003cimg src=\"/screenshots/DesktopHistory.png\" alt=\"Desktop History\" width=\"400\"\u003e\u003c/img\u003e\n\u003cimg src=\"/screenshots/DesktopSettings.png\" alt=\"Desktop Settings\" width=\"400\"\u003e\u003c/img\u003e\n\n## Mobile:\n\u003cimg src=\"/screenshots/AndroidDownload.png\" alt=\"Android Downloader\" width=\"400\"\u003e\u003c/img\u003e\n\u003cimg src=\"/screenshots/AndroidDecrypt.png\" alt=\"Android Decrypter\" width=\"400\"\u003e\u003c/img\u003e\n\u003cimg src=\"/screenshots/AndroidHistory.png\" alt=\"Android History\" width=\"400\"\u003e\u003c/img\u003e\n\u003cimg src=\"/screenshots/AndroidSettings.png\" alt=\"Android Settings\" width=\"400\"\u003e\u003c/img\u003e\n\n# Error Reporting\nBifrost uses Bugsnag for error reporting.\n\n\u003ca href=\"https://www.bugsnag.com\"\u003e\u003cimg src=\"https://assets-global.website-files.com/607f4f6df411bd01527dc7d5/63bc40cd9d502eda8ea74ce7_Bugsnag%20Full%20Color.svg\" width=\"200\"\u003e\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzacharee%2Fsamloaderkotlin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzacharee%2Fsamloaderkotlin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzacharee%2Fsamloaderkotlin/lists"}