Transmission torrent client ported to C++

This page summarizes the projects mentioned and recommended in the original post on

Our great sponsors
  • Sonar - Write Clean C++ Code. Always.
  • InfluxDB - Access the most powerful time series database as a service
  • SaaSHub - Software Alternatives and Reviews
  • Transmission

    Official Transmission BitTorrent client repository

  • MySQL

    MySQL Server, the world's most popular open source database, and MySQL Cluster, a real-time, open source transactional database.

    Not a C/C++ programmer either, but I got an example. InnoDB was first released in 2001, and was ported from C to C++ in 2011:

  • Sonar

    Write Clean C++ Code. Always.. Sonar helps you commit clean C++ code every time. With over 550 unique rules to find C++ bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.

  • c2rust

    Migrate C code to Rust

    I would go with a transpiler approach first (eg and then gradually transition pieces to use the Rust standard library and to safe code instead of the adhoc custom containers.

    Still, that all would be predicated on having good Rust experience or using it as a learning experience and that may not be the motivation of the authors.

  • abseil-cpp

    Abseil Common Libraries (C++)

    STL has a lot of weird pitfalls. There was std::vector. Here you can see some pitfalls of std::unordered_map: <>. The whole talk is interesting to watch. In the beginning you can also see the puzzling design of std::unordered_map (puzzling because of the number of indirections).

    I'd reach for abseil first: <>.

  • transgui

    🧲 A feature rich cross platform Transmission BitTorrent client. Faster and has more functionality than the built-in web GUI.

    There's also transmission-web and transmission-remote-gui. Both great if your torrent system is separate from your desktop.

  • pixie

    Full-featured 2d graphics library for Nim. (by treeform)

  • genny

    Generate a shared library and bindings for many languages. (by treeform)

  • InfluxDB

    Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.

  • rtorrent

    rTorrent BitTorrent client

    I've been using aria2c for some multithreaded HTTP downloading stuff recently. I surprisingly found it to get bottlenecked on a single core.

    For torrents, I tend to just use rtorrent, which has worked perfectly for me for probably 15 years now. Nice, fast, doesn't seem to use many resources to get the job done.

  • aria2

    aria2 is a lightweight multi-protocol & multi-source, cross platform download utility operated in command-line. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink.

    Exceptions can be avoided with the use of `noexcept` whenever we can do avoid them, especially in sensitive areas that we cannot risk exception throws.

    > but I don't think GP deserved the downvotes for the speculation.

    That's why I asked @squid_demon for a real example that possibly got bitten by it; else, it's simply an emotional reaction for favoring one tool over another.

    If aria2 [1] that is implemented in C++ is extremely fast, then I can almost guarantee that transmission's refactoring in C++ will get there too, sooner or later.


  • nbdkit

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts