A modern, responsive web UI for Transmission BitTorrent daemon. Built with Astro 5.16+ and Tailwind CSS v4, Astromission provides a sleek alternative to the default Transmission Web UI with improved UX and modern design.
- Modern Interface: Clean, dark-themed design with responsive layout
- Real-time Updates: Live torrent status monitoring and progress tracking
- Mobile-Friendly: Fully responsive sidebar navigation with mobile drawer
- Comprehensive Controls: Add, pause, resume, and remove torrents with detailed configuration options
- Session Management: Configure download/upload speeds, port settings, and global preferences
- Filter Views: Quick access to downloading, seeding, paused, and completed torrents
- Framework: Astro 5.16+ (static site generation)
- Styling: Tailwind CSS v4 (Vite plugin)
- UI Components: TailwindPlus Elements
- API Client: @ctrl/transmission (TypeScript wrapper for Transmission RPC)
- Build Tool: Vite
- Node.js 18+ and npm
- Transmission daemon (4.1.0+ recommended) running with RPC enabled
- Clone the repository:
git clone https://github.com/f3bruary/Astromission.git
cd Astromission- Install dependencies:
npm install- Copy
.env.exampleto.envand configure your local Transmission daemon:
cp .env.example .envEdit .env with your Transmission settings:
TRANSMISSION_HOST=localhost
TRANSMISSION_SSL=false
TRANSMISSION_PORT=9091
TRANSMISSION_PATH=/transmission/rpc
TRANSMISSION_USERNAME=
TRANSMISSION_PASSWORD=- Start the development server:
npm run devThe app will be available at http://localhost:4321
| Command | Action |
|---|---|
npm run dev |
Start development server at localhost:4321 |
npm run build |
Build production site to ./dist/ |
npm run preview |
Preview production build locally |
Astromission is designed to be deployed as a static web interface that connects directly to your Transmission daemon's RPC endpoint.
- Go to the Releases page
- Download the latest
astromission-vX.X.X.zipfile - Extract the archive
You have two deployment options:
-
Locate your Transmission web directory (varies by platform):
- Linux:
/usr/share/transmission/web/or/usr/share/transmission/public_html/ - macOS:
/Applications/Transmission.app/Contents/Resources/web/ - Windows:
C:\Program Files\Transmission\web\
- Linux:
-
Backup the original web UI:
sudo mv /usr/share/transmission/web /usr/share/transmission/web.backup
-
Extract the Astromission files to the web directory:
sudo unzip astromission-vX.X.X.zip -d /usr/share/transmission/web
-
Restart Transmission daemon (if needed)
-
Access the UI at
http://localhost:9091(or your configured Transmission web port)
- Extract the files to any directory
- Serve the
dist/folder with your preferred web server (nginx, Apache, etc.) - Configure CORS on your Transmission daemon to allow requests from your domain
- The UI will automatically connect to the same origin, or you can configure it to point to a different Transmission instance
The production build connects to the same origin as the served files by default. For custom deployments:
-
Set environment variables before building:
export TRANSMISSION_HOST=your-host export TRANSMISSION_PORT=9091 npm run build
-
Or configure your reverse proxy to forward
/transmission/rpcrequests to your Transmission daemon
Astromission uses a static build deployment model:
- All files are static HTML, CSS, and JavaScript
- API communication happens client-side from the browser to Transmission's RPC endpoint
- No server-side components or Node.js runtime required in production
- Works seamlessly when deployed to Transmission's built-in web server
This project uses the Transmission RPC API (JSON-RPC 2.0 protocol). Full API documentation is available in src/docs/rpc-specs.md.
Contributions are welcome! Please feel free to submit issues or pull requests.
MIT License - see LICENSE file for details
- Built with Astro
- Styled with Tailwind CSS
- API wrapper by @ctrl/transmission
- Icons from Heroicons




