diff --git a/docs/customservices.md b/docs/customservices.md index c1f0812..8953370 100644 --- a/docs/customservices.md +++ b/docs/customservices.md @@ -52,6 +52,7 @@ within Homer: - [Tautulli](#tautulli) - [Tdarr](#tdarr) - [Traefik](#traefik) +- [Transmission](#transmission) - [TrueNas Scale](#truenas-scale) - [Uptime Kuma](#uptime-kuma) - [Vaultwarden](#vaultwarden) @@ -712,6 +713,32 @@ This service displays a version string instead of a subtitle. Example configurat url: http://traefik.example.com ``` +## Transmission + +This service displays the global upload and download rates, as well as the number of active torrents from your Transmission daemon. The service communicates with the Transmission RPC interface which needs to be accessible from the browser. Make sure to configure appropriate CORS headers if accessing from a different domain. + +```yaml +- name: "Transmission" + logo: "assets/tools/sample.png" + url: "http://192.168.1.2:9091" # Your Transmission web interface URL + type: "Transmission" + username: "your_username" # Optional: HTTP Basic Auth username + password: "your_password" # Optional: HTTP Basic Auth password + showWhenEmpty: true # Optional: Show data even when no torrents (default: true) + rateInterval: 5000 # Optional: Interval for updating download/upload rates (ms) + torrentInterval: 30000 # Optional: Interval for updating torrent count (ms) + target: "_blank" # Optional: HTML a tag target attribute +``` + +**Configuration Options:** + +- `username/password`: Optional HTTP Basic Authentication credentials +- `showWhenEmpty`: Controls whether to display rates and count when no torrents are active (default: true) +- `rateInterval`: How often to refresh transfer rates in milliseconds +- `torrentInterval`: How often to refresh torrent count in milliseconds + +The service automatically handles Transmission's session management and CSRF protection. + ## Truenas Scale This service displays a version string instead of a subtitle. Example configuration: diff --git a/src/components/services/Transmission.vue b/src/components/services/Transmission.vue new file mode 100644 index 0000000..6b5ca2b --- /dev/null +++ b/src/components/services/Transmission.vue @@ -0,0 +1,199 @@ + + + + +