Manage your torrents from your Android device with Transdroid.

Related tags

App transdroid
Overview

Transdroid

www.transdroid.org Twitter - [email protected]

Manage torrents from your Android device.

Get it on transdroid.org Get it on F-Droid Get it on Google Play

Screen shot of the main torrents listing screen

Manage your torrents from your Android device with Transdroid. All popular clients are supported: µTorrent, Transmission, rTorrent, Vuze, Deluge, BitTorrent 6, qBittorrent, and many more. You can view and manage running torrents and individual files. Adding is easy via the integrated search or RSS feeds (full version required). Monitor progress using the home screen widget or background alarm service.

Contributions

Code and design contributions are very welcome. You might want to contact me via social networks (Twitter) or e-mail first. Please note that all code will be licensed in GNU GPLv3.

Please respect the coding standards for easier merging. master contains the current release version of Transdroid while dev contains the active development version. However, larger and new features will be developed in their own branch.

Code structure

Starting with version 2.3.0, Transdroid is developed in Android Studio, fully integrating with the Gradle build system. It is (since version 2.5.18) compiled against Android 10 (API level 29) and (since version 2.2.0) supporting Android ICS (API level 15) and up only. To support lite (Transdrone, specially for the Play Store) and full (Transdroid) versions of the app, build flavours are defined in gradle, which contain version-specific resources. Dependencies are managed via JCentral et al. in the app's build.gradle file.

Developed By

Designed and developed by Eric Kok of 2312 development. Contributions by various others (see commit log).

License

Copyright 2010-2020 Eric Kok et al.

Transdroid is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

Transdroid is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Transdroid.  If not, see .

Some code/libraries/resources are used in the project:

Comments
  • Crash when loading main page

    Crash when loading main page

    As soon as I set up my Dediseedbox and return to the main page, it starts loading then crashes. This isnt the full logcat, more of a filtered version since Im not sure if there is any personal info in there.

    logcat_filtered.txt

    Edit: I forgot to add that restarting the app also results in an instantaneous crash.

    bug wontfix 
    opened by pblumel 36
  • Unable to add torrent to Deluge

    Unable to add torrent to Deluge

    Starting from the latest update, I'm unable to add the torrent (file) to Deluge server.

    Android 7.0 deluged: 1.3.13

    Debug log on the daemon side: [ERROR ] 10:31:07 rpcserver:306 Exception calling RPC request: add_torrent_file() takes exactly 4 arguments (2 given) Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/deluge/core/rpcserver.py", line 301, in dispatch ret = self.factory.methods[method](*args, **kwargs) TypeError: add_torrent_file() takes exactly 4 arguments (2 given)

    From the client:

    Transdrone 2.5.10 (230) Deluge settings: http://[email protected]:8112

    Connection and error log: 7081 -- Fri Feb 23 10:17:19 GMT+01:00 2018 -- 3 -- Error: org.apache.http.conn.ConnectTimeoutException: Connect to /192.168.0.254:8112 timed out 7082 -- Fri Feb 23 10:17:19 GMT+01:00 2018 -- 3 -- Error: org.apache.http.conn.ConnectTimeoutException: Connect to /192.168.0.254:8112 timed out 7083 -- Fri Feb 23 10:17:19 GMT+01:00 2018 -- 3 -- ConnectionError exception: org.apache.http.conn.ConnectTimeoutException: Connect to /192.168.0.254:8112 timed out 7084 -- Fri Feb 23 10:17:19 GMT+01:00 2018 -- 3 -- ConnectionError exception: org.apache.http.conn.ConnectTimeoutException: Connect to /192.168.0.254:8112 timed out 7085 -- Fri Feb 23 10:17:32 GMT+01:00 2018 -- 3 -- Success: {"id": 2, "result": {"stats": {"upload_protocol_rate": 2819, "max_upload": 270.0, "download_protocol_rate": 1854, "download_rate": 0, "has_incoming_connections": true, "num_connections": 7, "max_download": 2750.0, "upload_rate": 17176, "dht_nodes": 0, "free_space": 8033673216, "max_num_connections":... (80104 chars) 7086 -- Fri Feb 23 10:17:33 GMT+01:00 2018 -- 3 -- Success: {"id": 2, "result": {"stats": {"upload_protocol_rate": 2878, "max_upload": 270.0, "download_protocol_rate": 1906, "download_rate": 0, "has_incoming_connections": true, "num_connections": 2, "max_download": 2750.0, "upload_rate": 13740, "dht_nodes": 0, "free_space": 8033673216, "max_num_connections":... (80104 chars) 7087 -- Fri Feb 23 10:17:45 GMT+01:00 2018 -- 3 -- Uploading a file to the Deluge daemon: http://192.168.0.254:8112/upload 7088 -- Fri Feb 23 10:17:48 GMT+01:00 2018 -- 3 -- Success: {"id": 2, "result": {"stats": {"upload_protocol_rate": 2073, "max_upload": 270.0, "download_protocol_rate": 1358, "download_rate": 0, "has_incoming_connections": true, "num_connections": 4, "max_download": 2750.0, "upload_rate": 482, "dht_nodes": 0, "free_space": 8033673216, "max_num_connections": 2... (80099 chars) 7089 -- Fri Feb 23 10:17:55 GMT+01:00 2018 -- 3 -- Error: java.net.SocketTimeoutException: Read timed out 7090 -- Fri Feb 23 10:17:55 GMT+01:00 2018 -- 3 -- ConnectionError exception: java.net.SocketTimeoutException: Read timed out 7091 -- Fri Feb 23 10:18:06 GMT+01:00 2018 -- 3 -- Uploading a file to the Deluge daemon: http://192.168.0.254:8112/upload 7092 -- Fri Feb 23 10:18:13 GMT+01:00 2018 -- 3 -- Success: {"id": 2, "result": {"stats": {"upload_protocol_rate": 2158, "max_upload": 270.0, "download_protocol_rate": 1178, "download_rate": 0, "has_incoming_connections": true, "num_connections": 5, "max_download": 2750.0, "upload_rate": 0, "dht_nodes": 0, "free_space": 8033673216, "max_num_connections": 200... (80086 chars) 7093 -- Fri Feb 23 10:18:20 GMT+01:00 2018 -- 3 -- Error: java.net.SocketTimeoutException: Read timed out 7094 -- Fri Feb 23 10:18:20 GMT+01:00 2018 -- 3 -- ConnectionError exception: java.net.SocketTimeoutException: Read timed out 7095 -- Fri Feb 23 10:24:07 GMT+01:00 2018 -- 3 -- ConnectionError exception: Unexpected end of ZLIB input stream 7096 -- Fri Feb 23 10:24:10 GMT+01:00 2018 -- 3 -- ConnectionError exception: Unexpected end of ZLIB input stream 7097 -- Fri Feb 23 10:25:09 GMT+01:00 2018 -- 3 -- ConnectionError exception: Unexpected end of ZLIB input stream 7098 -- Fri Feb 23 10:30:08 GMT+01:00 2018 -- 3 -- ConnectionError exception: Unexpected end of ZLIB input stream 7099 -- Fri Feb 23 10:30:10 GMT+01:00 2018 -- 3 -- ConnectionError exception: Unexpected end of ZLIB input stream 7100 -- Fri Feb 23 10:30:20 GMT+01:00 2018 -- 3 -- ConnectionError exception: Unexpected end of ZLIB input stream 7101 -- Fri Feb 23 10:30:34 GMT+01:00 2018 -- 3 -- ConnectionError exception: Unexpected end of ZLIB input stream 7102 -- Fri Feb 23 10:30:35 GMT+01:00 2018 -- 3 -- ConnectionError exception: Unexpected end of ZLIB input stream 7103 -- Fri Feb 23 10:30:38 GMT+01:00 2018 -- 3 -- Success: {"id": 2, "result": {"stats": {"upload_protocol_rate": 7543, "max_upload": 270.0, "download_protocol_rate": 6597, "download_rate": 0, "has_incoming_connections": true, "num_connections": 129, "max_download": 2750.0, "upload_rate": 0, "dht_nodes": 0, "free_space": 8033673216, "max_num_connections": 2... (80313 chars) 7104 -- Fri Feb 23 10:30:39 GMT+01:00 2018 -- 3 -- Success: {"id": 2, "result": {"stats": {"upload_protocol_rate": 7567, "max_upload": 270.0, "download_protocol_rate": 6424, "download_rate": 0, "has_incoming_connections": true, "num_connections": 134, "max_download": 2750.0, "upload_rate": 0, "dht_nodes": 0, "free_space": 8033673216, "max_num_connections": 2... (80313 chars) 7105 -- Fri Feb 23 10:31:08 GMT+01:00 2018 -- 3 -- Uploading a file to the Deluge daemon: http://192.168.0.254:8112/upload 7106 -- Fri Feb 23 10:31:16 GMT+01:00 2018 -- 3 -- Error: java.net.SocketTimeoutException: Read timed out 7107 -- Fri Feb 23 10:31:16 GMT+01:00 2018 -- 3 -- ConnectionError exception: java.net.SocketTimeoutException: Read timed out

    opened by dcabro 35
  • Connection to qBittorrent 4.2.0 not possible

    Connection to qBittorrent 4.2.0 not possible

    With version 4.2.0 qBittorrent is using PBKDF2 to store the WebUI password. Therefore it is not possible to connect to qBittorrent 4.2.0 with Transdroid.

    bug 
    opened by Fischy667 28
  • Doesn't add torrent

    Doesn't add torrent

    I can access my torrent list with transdroid, but when I try to add a torrent, I have a message from transdroid saying that the torrent have been added, be the torrent isn't added ...

    Transdroid 2.1.4 from Fdroid on N7100 Server Transmission on a Freebox (box from a French internet provider)

    opened by ghost 23
  • Access denied on qBittorrent

    Access denied on qBittorrent

    Hello 😊

    Getting denied acces to my qBittorrent server. ¿Seems latest qbittorrent builds are breaking app compatibility? App was working great some time ago 🤷🏻‍♂️

    Thanks in advance 😊

    Screenshot_20210526-173644.png

    opened by hardwareadictos 22
  • Deluge RPC Adapter

    Deluge RPC Adapter

    Adds a new Deluge Adapter that uses the native RPC API rather than the Web API. Issue #404

    This new Adapter does not replace the existing one, it just offers another choice.

    The Native RPC API is based on a Secure Socket. Since Transdroid does not maintain an open connection for Adapters, the new Adapter opens a new Socket and logs in (if needed) for each DaemonTask is it executes.

    The new adapter depends on a Java Rencode GitHub project aegnor/rencode-java. I could not find a way to add a Gradle dependency so I added the files directly.

    The new Adapter shares many constants an a few methods with the old Adapter so a these were refactored into a common class.

    opened by alonalbert 21
  • Latest Deluge broke transdrone

    Latest Deluge broke transdrone

    As stated by the title, lastest update to Deluge (1.3.14) had some added security that broke transdrone.

    Here is a link to Deluge forum that discusses this: http://forum.deluge-torrent.org/viewtopic.php?f=7&t=54428

    opened by yeyeoke 21
  • Transdroid won't authenticate to Caddy.

    Transdroid won't authenticate to Caddy.

    Transdroid doesn't want to authenticate when using Caddy as a server. I traced the problem and I'm getting an exception:

    class org.apache.http.client.ClientProtocolException org.apache.http.auth.MalformedChallengeException: Authentication challenge is empty

    This is in DelugeAdapter.java on line 485 of current master. Unfortunately I don't know how to solve this, short of removing authentication on Caddy.

    bug enhancement 
    opened by skorokithakis 21
  • Dark Theme

    Dark Theme

    First off suggesting an actual dark theme, not an amoled black theme which it already has. Also something truly consistent throughout the app. I'd honesty just suggest allowing the user to select whatever colors they want (Similar to how Simple Mobile Tools apps allow theirs)

    ~~Secondly, "active" I'd expect to show stuff that is actually being connected too and uploading or downloading. Not all the torrents that are "unpaused". This is kinda annoying, I'd appreciate a change here.~~

    edit: this was achieved by enabling 'Treat dormant torrents as inactive'. leaving this up for dark theme request though.

    enhancement 
    opened by seniorm0ment 20
  • internal error building request

    internal error building request

    on Transdrone, since updating to 2.5.10 it cannot connect to my Transmission server anymore. error is "internal error building request". Never had this issue before, it worked flawlessly until now.

    opened by ermethic 19
  • Can't access Deluge

    Can't access Deluge

    What steps will reproduce the problem? Start deluged on server Start degluge-web on serer Start transdroid on phone Try access stored deluge server on LAN: it says there's a network error Access deluge-web from PC Enter deluge password and see download list Start trandroid on phone Try access stored deluge server on LAN: access OK

    What version of the product are you using? 2.0.1

    What torrent client are you using? Deluge 1.3.6 on Debian 6

    opened by pdario 19
  • `getLongVersionCode` requires API 28 but current min is 15

    `getLongVersionCode` requires API 28 but current min is 15

    Looks like getLongVersionCode (used in the app update checker) requires API 28 https://developer.android.com/reference/android/content/pm/PackageInfo#getLongVersionCode()

    but the current min API is 15 https://github.com/erickok/transdroid/blob/b3532a4b7fa15989b72e6912ec3611b3472516ab/app/build.gradle#L7

    Introduced in https://github.com/erickok/transdroid/pull/559

    opened by bwitt 0
  • bitcomet enter the error password will cause the app to crash

    bitcomet enter the error password will cause the app to crash

    bitcomet enter the error password will cause the app to crash 1

    https://user-images.githubusercontent.com/6442439/209314319-c3be6ff7-2aa9-4008-82eb-af4c4b5be5a9.mp4

    opened by 1265578519 0
  • Update gradle dependencies

    Update gradle dependencies

    Update gradle deps Increase minSdkVersion to 21 to avoid Error:Cannot fit requested classes in a single dex file Increase compileSdkVersion and targetSdkVersion to 33 to work with new dep versions Add

    implementation "androidx.lifecycle:lifecycle-viewmodel:2.5.1"
    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1"
    

    to avoid Duplicate class androidx.lifecycle.ViewModelLazy found in modules jetified-lifecycle-viewmodel-ktx-2.3.1-runtime (androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1) and lifecycle-viewmodel-2.5.1-runtime (androidx.lifecycle:lifecycle-viewmodel:2.5.1)

    opened by bwitt 2
  • gradle dependencies are out of date

    gradle dependencies are out of date

    I notice the dependencies listed in app/build.gradle are out of date:

    https://github.com/erickok/transdroid/blob/aadddd0d3ac926bb376e956e2d2451f7d91ff638/app/build.gradle#L80-L104

    Perhaps we can configure automation like dependabot to help keep these updated?

    opened by bwitt 0
Releases(v2.5.22)
Owner
Eric Kok
Senior Android developer, PhD graduate, beer lover
Eric Kok
HyperUPnP is Android Application that lets you to Stream Media from PC, NAS or any other device running UPnP/DLNA compliant media server to your Android Device.

Hyper UPnP Android UPnP/DLNA client Stream Media from PC, NAS or any other device running UPnP/DLNA compliant media server to your Android Device. Int

Var Bhat 8 Jul 17, 2022
Taskify - An app to manage your daily tasks and boost your productivity. Taskify is built using kotlin and follows all modern android Development practices and hence is a good learning resource for beginners

Taskify Taskify is an app to manage your daily tasks and boost your productivity Video Introduction ?? This is a small introduction video about Taskif

Vaibhav Jaiswal 101 Jan 4, 2023
A third party app for android to manage your kindle.

Kindot - A third party app for android to manage your kindle.

null 5 Nov 23, 2021
Techbee e.U. 62 Jan 31, 2023
Tournant is a Gourmand/Gourmet recipe parser which serves your dishes on your Android device

Tournant Gourmand/Gourmet recipe parser Website: tournant.zimbelstern.eu Tournant serves your favorite dishes on your Android device! With Tournant, y

null 5 Dec 23, 2022
An android application where you can manage and install all versions of the spotify app.

An android application where you can manage and install all versions of the spotify app.

xManager (Spotify) 3.7k Dec 30, 2022
Android app with a simple NFC payment system to manage visitor consumption at short-duration events and festivals. (Research project)

Clevent Também disponível em Português Clevent is an Android application developed for a Undergraduate Research that uses NFC technology to create a p

Newton Scavazzini 9 Oct 19, 2022
An application to manage SSH and GPG keys on GitHub written in Kotlin.

KeyManager An application to manage SSH and GPG keys on GitHub written in Kotlin. Thanks to FreePik for the app icon. Screenshots Building You will ne

Yash Garg 28 Dec 21, 2022
AccountMe - An app for college student to manage transcations

AccountMe The app “AccountMe” which we have made was made by keeping in mind the

Dhruv Mehta 1 Aug 6, 2022
Demo app demonstrating how to create and manage notifications locally using a combination of Jetpacks Worker Manager and Broadcast Receiver.

Worker Notification Demo app demonstrating how to create and manage notifications locally using a combination of Jetpacks Worker Manager and Broadcast

Ayia 1 Sep 19, 2022
Bitcoin Wallet - a standalone Bitcoin payment app for your Android device

Bitcoin Wallet app for your Android device. Standalone Bitcoin node, no centralized backend required Google Colab

DE MINING 0 Feb 25, 2022
Monero PocketNode - A Monero node for your Android Device

Monero PocketNode - A Monero node for your Android Device

CRYPTO GRAMPY™ 24 Dec 23, 2022
Helps to find your surrounding's light value (for android only) using device light sensor

react-native-ambient-light-sensor Helps to find your surrounding's light value (in lux unit) (for android only) using device light sensor Installation

Shayan Chatterjee 4 Aug 26, 2022
An Android mobile app for viewing device screen in your web browser

Screen Stream over HTTP An Android mobile app for viewing device screen in your web browser. Developed by Dmitriy Krivoruchko · If there are any issue

Dmitriy Krivoruchko 1.1k Dec 31, 2022
An app to view libraries used in apps in your device.

An app to view libraries used in apps in your device.

Absinthe 9 Dec 24, 2022
Wiped is a wiping app that helps you to delete a file permanently from your device

Wiped Wiped is a wiping app that helps you to delete a file permanently from your device. How Is It Done? Did you know that when you delete a file in

null 1 May 16, 2022
A simple app to test your device input sample rate.

Android touch sample rate test tool This tool can help you check the touch sample rate of the Android device. Supported input method: Touch Mouse Styl

samnyan 4 Sep 28, 2022
Using Android device to uninstall iPhone apps

Using Android device to uninstall iPhone apps

chi 23 Nov 6, 2022
Android library for finding connected devices on same WiFi network. It can provide IP Address, device name, MAC Address and vendor names.

Android WiFi Tools Android library for finding connected devices on the same WiFi network. It can provide IP Addresses, device names, MAC Address and

Tej Magar 5 Nov 16, 2022