GSoC 2009/Projects/BitTorrent plugin for Canola

Line 3: Line 3:
*'''Student''': Lauri Võsandi  
*'''Student''': Lauri Võsandi  
*'''Mentor''': Luis Felipe Strano Moraes  
*'''Mentor''': Luis Felipe Strano Moraes  
-
*'''Repository''': http://gitorious.org/canola-bittorrent-plugin (Not updated yet)
+
*'''Repository''': http://gitorious.org/canola-bittorrent-plugin
-
*'''Source tarball''': http://v6sa.itcollege.ee/shared/canola/canola2-torrent-plugin-src.tar.bz2
+
 +
== INTRO ==
 +
The purpose of this project is to develop a BitTorrent plugin for Canola2.
-
===Project summary===
+
== Features ==
-
The purpose of this project is to develop a BitTorrent plugin for Canola. RSS feeds allow quick access to fresh torrents on several websites. The backend will be based on Transmission. Most used BitTorrent client for Maemo is Transmission, it exposes JSON based RPC interface which is easy to use from plugin. After completion of this feature I will also add libtransmission support so running Transmission separately is not required.
+
* Browse RSS feeds of several (legal) torrent sites. Includes detailed view of feed entry
 +
* Download torrents using built-in BitTorrent 3. Includes detailed view of download
 +
* Download torrents using locally running Transmission via JSON RPC interface
 +
* Manage torrent downloads on remote Transmission instance
 +
* Allows accessing password protected remote instances of Transmission via standard URL format: http://user:pass@host:9091
 +
* Respects your Canola settings of download folder
 +
* Allows adding, modifying, deleting and renaming RSS feeds
 +
* Allows adding, modifying, deleting and renaming Transmission hosts
-
==Alpha version==
+
== To-do ==
 +
* Add download destination choice for feed entry view
 +
* Add upload bitrate limit option
 +
* Add connection limit option
 +
* Make possible to choose between built-in BitTorrent engine and running Transmission for local downloads
 +
* Clean up download view and feed entry view
 +
* Clean up menus
 +
* Debug
 +
 
 +
==Beta version==
To install on your Nokia internet tablet, point your web browser to:
To install on your Nokia internet tablet, point your web browser to:
-
http://v6sa.itcollege.ee/shared/canola/canola2-torrent-plugin.deb
+
http://v6sa.itcollege.ee/shared/canola/canola2-torrent-plugin-0.1-maemo4.deb
Follow your application manager dialogs and you're done!
Follow your application manager dialogs and you're done!
-
NB! You are expected to have Transmission and Canola2 installed on your device!
+
NB! You are expected to have Canola2 installed on your device!
-
License: BSD licence
+
License: Mixed Free Software licenses
Screenshots:
Screenshots:

Revision as of 12:57, 9 July 2009

Contents

BitTorrent plugin for Canola - GSoC 2009 Project

INTRO

The purpose of this project is to develop a BitTorrent plugin for Canola2.

Features

  • Browse RSS feeds of several (legal) torrent sites. Includes detailed view of feed entry
  • Download torrents using built-in BitTorrent 3. Includes detailed view of download
  • Download torrents using locally running Transmission via JSON RPC interface
  • Manage torrent downloads on remote Transmission instance
  • Allows accessing password protected remote instances of Transmission via standard URL format: http://user:pass@host:9091
  • Respects your Canola settings of download folder
  • Allows adding, modifying, deleting and renaming RSS feeds
  • Allows adding, modifying, deleting and renaming Transmission hosts

To-do

  • Add download destination choice for feed entry view
  • Add upload bitrate limit option
  • Add connection limit option
  • Make possible to choose between built-in BitTorrent engine and running Transmission for local downloads
  • Clean up download view and feed entry view
  • Clean up menus
  • Debug

Beta version

To install on your Nokia internet tablet, point your web browser to:

http://v6sa.itcollege.ee/shared/canola/canola2-torrent-plugin-0.1-maemo4.deb

Follow your application manager dialogs and you're done!

NB! You are expected to have Canola2 installed on your device!

License: Mixed Free Software licenses

Screenshots: [1] [2] [3] [4]

Done

This is multi-purpose torrent plugin, so far I have completed

  • Management of Transmission instances on several hosts:
    • Pause, resume, remove torrents.
    • Show done/total sizes and up/download speeds.
    • Options panel includes Pause all and Resume all.
    • Hosts and their login information is stored in Canola's SQL database.
    • This allows user to manage their downloads on desktop, laptop, router etc.
  • Painless management of local Transmission instance on the tablet
    • Starts Transmission minimized and paused if required.
    • Reads Transmission settings automatically or resets them.
    • Using separate process allows user to exit Canola while keeping their downloads running.
  • Read RSS feeds of several (legal) torrent websites.
    • Add linked torrents to running Transmission instances (currently adds to local Transmission only).
    • Respects your download folder location set in Canola settings panel
    • This allows user easily to browse new media availible and start downloading with single click.
  • Manipulation of host list.
  • Manipulation of feed list
  • I have successfully forked pure-python BitTorrent 3, cleaned up the code and integrated it to my plugin. Basic functions seem to be working. Will update Debian package ASAP.
  • Fullscreen view of feed entry:
    • Title
    • Updated
    • Description
  • Fullscreen view of download details:
    • Big progress bar
    • Pieces downloaded/verified
    • Total size
    • Peers
    • Seeders
    • Upload rate
    • Download rate


To-Do

  • Fullscreen view of feed item:
    • In Options panel choice for download destination (which Transmission instance)
  • Allow browsing Torrent contents and playback of retrieved media.
  • Add feature to search in RSS feeds


Reports

First report, a bit late tough :P