Skip to content

Bittorrent Client implementing BTP/1.0 and select extensions (BEPs 0015, 0020, 0023, 0027). Features full GUI with real-time data using Qt5. Supports Windows 10.

Notifications You must be signed in to change notification settings

ambarishsatheesh/Bittorrent-Client

Repository files navigation

Bittorrent Client

Bittorrent Client implementing BTP/1.0 plus select extensions (BEPs 0015, 0020, 0023, 0027)

Features

  • qBittorrent-inspired GUI written using Qt5
  • Supports multiple simultaneous torrent downloads/uploads
  • Supported extensions: UDP Tracker Protocol, Peer ID Conventions, Compact Peer Lists, and Private Torrents
  • Bencode parser (implemented using iterator-based parsing)
  • Asynchronous I/O (TCP and UDP networking) support using Boost Asio, with event handling aided by Boost Signals2
  • HTTP tracker support using Boost Beast
  • Multithreading support allows handling of multiple torrents, connections to peers, downloads/uploads, and GUI interaction to maximise network and file I/O performance
  • Simple network scheduling using a token bucket to control bandwidth
  • Real-time data updates including torrent, tracker, download progress, and network transfer information
  • Real-time network transfer speed graph implemented using QCustomPlot plotting library
  • Torrent filtering based on trackers and sorting using any of the columns
  • User-configurable network settings (TCP/UDP ports, max/min peers, max download/upload speed)
  • Logging to console implemented using Emil Ernerfeldt's Loguru library
  • Torrent piece and info_hash SHA1 hashing implemented using Stephan Brumme's Hashing library
  • Supports Windows 10.

Screenshots

General GUI and real-time transfer speed tab:

Torrent creator:

Torrent file adder:

Real-time tracker info:

User-modifiable configuration settings:

Logging to console output:

About

Bittorrent Client implementing BTP/1.0 and select extensions (BEPs 0015, 0020, 0023, 0027). Features full GUI with real-time data using Qt5. Supports Windows 10.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published