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