Jose Henrique 9a964dfd73
All checks were successful
Build and Deploy (internal) / Build Transmission Manager Image (push) Successful in 1m25s
Build and Deploy (internal) / Deploy Transmission Manager (internal) (push) Successful in 11s
fixing image name
2026-07-08 20:38:30 -03:00
2026-07-08 20:38:30 -03:00
2026-07-08 20:01:02 -03:00
2026-07-08 20:34:38 -03:00
2026-07-08 20:34:38 -03:00
2026-07-08 20:34:38 -03:00
2026-07-08 20:34:38 -03:00

Transmission Manager

A lightweight, modern, single-binary web application for viewing and managing torrents from a Transmission RPC daemon.

Transmission Manager serves a fast, clean, dark-mode Single Page Application (SPA) and proxies Transmission RPC calls through a minimal Go backend—all contained within a single executable.


Features

  • Single Static Binary: All frontend assets (index.html, app.js, styles.css) are embedded directly into the Go binary using embed. Zero runtime asset dependencies.
  • Modern Dark-Mode UI: Built with vanilla HTML5, CSS3 (using CSS variables), and JavaScript. Responsive, compact layout designed for both desktop and mobile screens.
  • Live Polling & In-Place Updates: Keyed DOM reconciliation updates existing torrent cards in place without screen flickering or scroll jumping. Selectable refresh interval (1s, 3s, 5s, 10s).
  • Rich Sorting & Filtering:
    • Filter torrents instantly by name.
    • Sort by Status, Name, Progress, Ratio, Size, Speed, or Availability.
  • Interactive Controls: Pause or resume individual torrents directly from the web interface.
  • Robust Transmission RPC Support:
    • Automatically handles Transmission 409 Conflict session ID (X-Transmission-Session-Id) handshakes.
    • Supports optional HTTP Basic Authentication.

Configuration

Transmission Manager is configured entirely via environment variables:

Variable Required Description
TRANSMISSION_URL Yes Absolute HTTP or HTTPS RPC endpoint URL of your Transmission instance.
TRANSMISSION_RPC_USERNAME No Basic Authentication username for Transmission RPC.
TRANSMISSION_RPC_PASSWORD No Basic Authentication password for Transmission RPC.

Quick Start

Using Docker

Run the container directly:

docker run -d \
  --name transmission-manager \
  -p 8080:8080 \
  -e TRANSMISSION_URL=http://192.168.1.100:9091/transmission/rpc \
  -e TRANSMISSION_RPC_USERNAME=admin \
  -e TRANSMISSION_RPC_PASSWORD=secret \
  transmission-manager:latest

Using Docker Compose

Create a docker-compose.yml:

services:
  transmission-manager:
    build: .
    container_name: transmission-manager
    ports:
      - "8080:8080"
    environment:
      TRANSMISSION_URL: http://192.168.1.100:9091/transmission/rpc
      TRANSMISSION_RPC_USERNAME: admin
      TRANSMISSION_RPC_PASSWORD: secret
    restart: unless-stopped

Then start the application:

docker compose up -d

Open your browser and navigate to http://localhost:8080.


Building from Source

Prerequisites

  • Go 1.24 or later

Build

Compile the single binary with embedded frontend assets:

git clone https://github.com/your-repo/transmission-manager.git
cd transmission-manager
go build -ldflags="-s -w" -o transmission-manager .

Run

export TRANSMISSION_URL="http://localhost:9091/transmission/rpc"
./transmission-manager

By default, the server listens on port 8080.

Description
No description provided
Readme 792 KiB
Languages
JavaScript 37.4%
CSS 28.6%
Go 25.7%
HTML 7.7%
Dockerfile 0.6%