Torrent RPC (guide)
Luminok edited this page 2026-08-22 19:42:32 +03:00

Hello there is guide for TorrentRPC. This protocol works on transmission-rpc with 3 methods torrent-add/torrent-get/torrent-remove/session-get(dummy method for transmission-rpc library of python) Torrent get have a some fields, see the boost::json::value JSONRPCHandler::GetFieldValue (std::string_view field, std::shared_ptr<Torrent> torrent) -> https://github.com/PurpleI2P/i2pd/blob/openssl/libi2pd_client/TorrentsRPC.cpp#L246

Methods:

  • std::string JSONRPCHandler::HandleSessionGet (boost::json::object&& jsonRequest)
  • std::string JSONRPCHandler::HandleTorrentAdd (boost::json::object&& jsonRequest)
  • std::string JSONRPCHandler::HandleTorrentRemove (boost::json::object&& jsonRequest)
  • std::string JSONRPCHandler::HandleTorrentGet (boost::json::object&& jsonRequest) -> https://github.com/PurpleI2P/i2pd/blob/openssl/libi2pd_client/TorrentsRPC.cpp

this works on JSON.

Examples of usage: https://github.com/wipedlifepotato/XenoneI2P/blob/main/TorrentWrapper.py#L7

https://github.com/MetanoicArmor/i2ptorrents-gui -> there is all vibe coded, but i see that him wrote on rust without library of transmission-rpc there you can see json

But you always can see this -> https://github.com/transmission/transmission/blob/main/docs/rpc-spec.md So for now, 22.08.2026 its support only torrent-add, torrent-remove, torrent-get, session-get but not fully yet