This is an Android app ported from my Python project 'Korrent1337x'. It allows searching for torrents on the 1337x website directly from your Android device.
- Search for torrents on 1337x.
- Filter search results by category (Movies, TV, Games, Music, Apps, Anime, Docs, Other, XXX).
- Sort search results by time, size, seeders, or leechers (ascending/descending).
- View torrent details (name, category, type, language, size, seeders, leechers, upload date, etc.).
- Copy magnet links to the clipboard.
- Initiate torrent downloads by opening magnet links in a compatible torrent client app installed on the device (e.g., BitTorrent, uTorrent, Flud).
- Handles Cloudflare challenges using an interactive WebView dialog.
- Language: Kotlin
- UI: Jetpack Compose
- Networking: Ktor (with OkHttp engine)
- HTML Parsing: Jsoup
- Asynchronous Operations: Kotlin Coroutines
- Architecture: MVVM (ViewModel, Repository, Service)
- Cloudflare Bypass: Custom implementation using Accompanist WebView
This project is a direct port of the Python application 'Korrent1337x'. The core logic for interacting with 1337x (URL building, HTML parsing) was adapted from the Python implementation, which originally used the py1337x library.
- Clone this repository.
- Open the
KorrentAndroidproject in Android Studio (latest stable version recommended). - Let Gradle sync the dependencies.
- Build the project using Build -> Make Project or run it directly on an emulator or device using Run -> Run 'app'.
To generate a debug APK for testing:
- Go to Build -> Build Bundle(s) / APK(s) -> Build APK(s).
- The APK will be located in
KorrentAndroid/app/build/outputs/apk/debug/app-debug.apk.
The core logic for interacting with 1337x was heavily inspired by the excellent py1337x Python library by Hemanta Pokharel.
- This application interacts directly with the 1337x website. Website structure changes may break functionality.
- The Cloudflare bypass mechanism relies on the user solving the challenge in an embedded WebView. This might not always be successful or convenient.
- The Accompanist WebView library used for the bypass is deprecated. It currently works but might require replacement in the future.
