BTG

Table of Contents

What is BTG?

Bittorrent client implemented in C++ and using the Rasterbar Libtorrent library.

Provides a Ncurses, SDL, Gtkmm and WWW GUI, which communicate with a common backend running the actual bittorrent operation.

License

BTG is released under the GNU GPL license.

Features

  • Daemonized backend.
  • Number of different clients.
  • Ability to change client without stopping downloads.
  • Common interface (transport layer) used to access the daemon shared by the clients.
  • Portability.
  • Session saving.
  • Per user event callback (execute script when torrent status changes).
  • IPv4 filter (level1.txt and Emule lists).
  • Port forwarding using UPnP (Using Cyberlink or Libtorrent).
  • Periodic session saving.
  • DHT and encryption (since Rasterbar libtorrent supports both).
  • Allocation mode selection (sparse vs full).

Clients

  • wwwBTG (web based client written in PHP).
  • btgncli (Ncurses client, menu driven).
  • btgcli (Ncurses client, command line).
  • btgui (Gtkmm GUI).
  • btgvs (SDL viewer GUI using AGAR).

Third Party Clients

  • BTGFox - a Firefox extension written by Nelson Silva.

Platforms

BTG is being used or was tested on:

  • OSX (PowerPC-32).
  • FreeBSD (PowerPC-32, amd64).
  • GNU Linux - Debian (PowerPC-32, amd64, i686) / Gentoo (PowerPC-64, i686) / Slackware (i586) / OpenWrt (XScale-IXP42x).

Screenshots

Builds and Releases

Two different branches exist at this point. The "stable-branch" and the "devel-branch".

Development is done on the "devel-branch" and the changes are merged into the "stable-branch" as soon as they are well tested and all classes are documented.

Planned Releases

The following table lists the future planned releases. The changes will be done when I have time and feel like it, unless people send me patches, which will be incorporated as soon as possible.

Codename When Contents
Papa Legba Soon. Fix session saving in both stable and 2.x branch.
Erzulie Freda 2-3 months from now. First 2.0 release. Arch changes. Remove support for LT<0.14.x.
Simbi Not defined. Not defined.
Kouzin Zaka Not defined. Not defined.
The Marasa Not defined. Not defined.

Packages

See the list of BTG packages.

Documentation

Authors

Getting Help

Do not use the forums, as they are not monitored.

Instead use the mailing list.