Coder Social home page Coder Social logo

samloaderkotlin's Introduction

Notice

Manual firmware downloads and downloading from the firmware history feature have been disabled for now. Samsung changed something on the backend and always serves the latest available firmware, no matter which is requested.

If you know a workaround, please follow up on this issue.

Bifrost - Samsung Firmware Downloader

This is yet another firmware downloader for Samsung devices, but it has some special features.

For one, it's cross-platform. Bifrost runs on Windows, Linux, macOS, and even Android!

Bifrost is also a graphical program, with a shared UI across all supported platforms.

Most of the functionality in Bifrost is based on Samloader. The Python code has been converted to Kotlin and tweaked to take advantage of some of Kotlin's features.

Bifrost uses Jetpack Compose, JetBrains Compose for Desktop, and Kotlin Multiplatform to create a shared codebase for all supported platforms.

Download

Binaries are available for 64-bit versions Windows, Linux, macOS, and Android. JetBrains Compose can't currently build for 32-bit operating systems.

Check out the Releases page for the downloads.

Troubleshooting

Bifrost is returning error 400/401 when downloading

These errors are on Samsung's end. If you can, try using a different region/CSC.

Bifrost is returning error 403 when checking for updates

These 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.

Download speeds are slow

Samsung'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.

Building

Building this project should be fairly easy.

Prep:

  1. Make sure you have the latest Android Studio Canary installed.
  2. Clone this project into Android Studio and let it import.

Desktop:

Run the package Gradle task.

Command Line:

  1. Open the Terminal view in Android Studio (bottom-left).
  2. Enter gradlew createDistributable on Windows, ./gradlew createDistributable on Linux, or ./gradlew packageDmg on macOS.
  3. Once it finishes building, check the output log to see where the executable was saved.

GUI:

  1. Open the Gradle view in Android Studio (top-right).
  2. Expand the project, then expand "desktop".
  3. Expand "Tasks," then "build," and double-click "createDistributable" on Windows and Linux, or "packageDmg" on macOS.
  4. Once it finishes building, check the output log to see where the executable was saved.

Android:

Command Line:

  1. Open the Terminal view in Android Studio (bottom-left).
  2. Enter gradlew :android:build on Windows or ./gradlew :android:build on macOS and Linux.
  3. Once it finishes building, go to android/build/outputs/apk/debug and install android-debug.apk.

GUI:

  1. Open the Gradle view in Android Studio (top-right).
  2. Expand the project, then expand "android".
  3. Expand "Tasks," then "build," and double-click "build".
  4. Once it finishes building, go to android/build/outputs/apk/debug and install android-debug.apk.

Running

Windows

  1. Extract the release ZIP for Windows and go through the folders until you find "Bifrost.exe".
  2. Launch the EXE. If it fails, launch as Administrator.

Linux

  1. Extract the release ZIP for Linux and go through the folders until you find "Bifrost".
  2. Open a terminal in this location.
  3. Enter chmod +x Bifrost.
  4. Enter ./Bifrost.

macOS

  1. Extract the release ZIP and open the DMG.
  2. Move "Bifrost.app" to the Applications folder.
  3. Launch the app.

There may be a security error when launching the app. If there is, follow the steps outlined here.

Alternatively, if the above doesn't work, you can try running the following in a Terminal (requires root permissions):

sudo xattr -cr /Applications/Bifrost.app.

Once that command is executed, the app should run.

It's also possible that the DMG itself will refuse to open. If that happens, the same xattr command, but run on the DMG, should work:

sudo xattr -cr ~/Downloads/Bifrost-<VERSION>.dmg.

Android

  1. Download the release APK to your phone.
  2. Install and run it.

Screenshots

Desktop:

Blank Desktop Downloader Blank Desktop Decrypter Blank Desktop History Desktop Download Progress Desktop Decrypter Progress Desktop History Populated

Mobile:

Blank Android Downloader Blank Android Decrypter Blank Android History Android Download Progress Android Decrypter Progress Android History Populated

samloaderkotlin's People

Contributors

zacharee avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.