A custom server implementing the Transmission RPC protocol. https://code.ivysaur.me/trpcd
This repository has been archived on 2020-05-03. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
2017-01-29 00:00:00 +00:00
dist-archive commit all archived files 2017-01-29 00:00:00 +00:00
doc commit all archived files 2017-01-29 00:00:00 +00:00
.legacy-codesite.toml initial meta commit 2017-01-29 00:00:00 +00:00
README.md commit all archived files 2017-01-29 00:00:00 +00:00

trpcd

A custom server implementing the Transmission RPC protocol.

Trpcd is a server implementation of the Transmission RPC protocol, allowing you to implement custom services that are compatible with Transmission's web, desktop, and third-party clients.

This project lays groundwork that may be useful for other projects. Some ideas are

  • Transmission service multiplexing
  • Torrent isolation on a single transmission service process
  • Using transmission's web/desktop interface for non-Transmission products e.g. aria2c or youtube-dl
  • Adding web and youtube-dl support to Transmission's web and desktop clients
  • Supporting arbitrary line I/O via an obscure system

Implementations must provide trpcd with a virtual torrent system via a range of implementation functions. The project then produces an http.ServeMux that can either be passed to http.ListenAndServe directly, or muxed further with other services in your final binary.

Tags: torrent

License

This project includes a copy of Transmission's own web interface, which is licensed under the GPL (see the webroot/LICENSE file for more details). Any binaries built with this functionality included must be licensed under the GPL license.

It is possible to remove the web functionality without losing compatibility with Transmission's desktop clients. In this case, the remaining files that were written by the trpcd project are licensed more permissively.

Changelog

2017-01-29 0.14