GSoC 2009/Projects/BitTorrent plugin for Canola


BitTorrent plugin for Canola - GSoC 2009 Project


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


  • 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


  • 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:

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]


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


  • 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


First report, a bit late tough :P