High-performance BitTorrent management interface built with Vue 3 + TypeScript
Transmission Web is a modern Transmission BitTorrent client web interface, redesigned and developed using the latest frontend technology stack. It provides a clean and beautiful user interface, rich feature set, and excellent user experience.
- π― User Experience Focused - BitTorrent management interface designed for modern web environments
- π Technologically Advanced - Built with Vue 3 + TypeScript latest technology stack
- π± Cross-Platform Support - Perfectly adapted for desktop, tablet, and mobile devices
- β‘ High Performance - Virtual scrolling technology to easily handle tens of thousands of torrents
- π§ Highly Customizable - Support for theme switching, layout adjustments, column configuration, etc.
- π Internationalization - Multi-language interface, user-friendly for global users
- π¨ Modern Interface - Based on Naive UI design system with light/dark theme support
- π± Responsive Design - Perfectly adapted for desktop and mobile devices
- β‘ High Performance - (Canvas) Virtual scrolling technology to easily handle large torrent lists
- π Smart Filtering - Multi-dimensional filtering by status, labels, sites, error states, etc.
- π Data Visualization - Rich progress bars, statistical charts, and status indicators
- π― Convenient Operations - Support for batch operations, drag-and-drop sorting, keyboard shortcuts, etc.
- π Internationalization - Multi-language support (Chinese, English)
- π§ Customizable - Flexible column configuration, layout adjustments, and other personalization options
- β Add torrent files or magnet links
- β Pause/resume/delete torrents
- β Modify torrent priority
- β Change download path
- β Edit torrent labels
- β Modify Tracker information
- β Draggable adjustable sidebar
- β Customizable table column display
- β Virtual scrolling for large data performance optimization
- β Right-click context menu
- β Mobile long-press operation support
- β Real-time download/upload speed
- β Torrent completion progress
- β Connected user count statistics
- β Error status indicators
- β Detailed torrent information
The project fully supports internationalization and currently supports the following languages:
- π¨π³ Simplified Chinese (zh-CN) - Available
- πΊπΈ English (en-US) - Default language
Users can easily switch interface languages through the settings page or language switcher, and the system will automatically remember user language preferences.
- Framework: Vue 3 (Composition API) - Latest version of progressive JavaScript framework
- Language: TypeScript 5.8+ - Complete type safety and development experience
- Build Tool: Vite 7.0+ - Lightning-fast frontend build tool
- UI Component Library: Naive UI 2.42+ - Complete Vue 3 component library
- Styling Solution: Tailwind CSS 4.0 + UnoCSS + Less - Modern CSS solution
- State Management: Pinia 3.0+ - Vue officially recommended state management library
- Routing: Vue Router 4.5+ - Vue.js official router manager
- HTTP Client: Axios - Promise-based HTTP client
- Virtual Scrolling: Vue Virtual Scroller - High-performance large data rendering solution
- Utility Libraries: VueUse, Day.js, Lodash - Practical utility function collections
- Mobile Support: AnyTouch - Professional touch event handling library
- Internationalization: Vue I18n - Vue.js internationalization plugin
The project provides Docker support and can be quickly deployed to any Docker-compatible environment.
docker build -t transmission-web .docker run -d -p 7632:7632 jianxcao/transmission-webservices:
tr-web:
image: jianxcao/transmission-web
container_name: tr-web
environment:
- BACKEND_URL=http://192.168.50.23:9091
ports:
- "7632:7632"
restart: unless-stopped- Download the transmission-web-*.zip package from the release page
- Extract the contents to a server directory (tr container needs access to this directory)
- Configure env TRANSMISSION_WEB_HOME to the extracted directory
- Node.js >= 20.0.0 (LTS version recommended)
- pnpm >= 10.0.0 (recommended package manager)
- Git (for cloning the project)
git clone https://github.com/jianxcao/transmission-web.git
cd transmission-web# Use pnpm (recommended)
pnpm install
# Or use npm
npm install
# Or use yarn
yarn installpnpm devVisit: http://localhost:5173
pnpm buildsrc/
βββ api/ # API interfaces
βββ assets/ # Static assets
βββ components/ # Reusable components
β βββ AppHeader/ # App header
β βββ CanvasList/ # Canvas list (main list component)
β βββ TorrentList/ # Torrent list
β βββ SiderbarView/ # Sidebar
β βββ dialog/ # Dialog components
βββ composables/ # Composables
βββ store/ # Pinia state management
βββ utils/ # Utility functions
βββ views/ # Page components
βββ types/ # TypeScript type definitions
We welcome contributions in various forms, including but not limited to:
- π Bug Reports - Help us find and fix issues
- π‘ Feature Suggestions - Share your ideas and needs
- π Documentation Improvements - Improve project documentation and examples
- π§ Code Contributions - Submit Pull Requests to improve code
- π Internationalization Support - Add support for more languages
- π¨ UI/UX Improvements - Optimize user interface and experience
- Use Vue 3 Composition API and TypeScript
- Follow Vue.js official style guide
- Use ESLint + Prettier for code formatting
- Commit messages follow Conventional Commits specification
- Ensure code passes all tests and checks
- Fork this repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is open source under the MIT license, which means you can freely use, modify, and distribute this project.
- π― User Experience Focused - Designed for modern web environments
- π Technologically Advanced - Adopts latest frontend technology stack
- π± Cross-Platform Support - Perfectly adapted for various devices
- β‘ High Performance - Virtual scrolling technology for big data processing
- π§ Highly Customizable - Rich personalization options
- π Internationalization Support - Multi-language interface support
- Transmission - Excellent BitTorrent client
- Vue.js - Progressive JavaScript framework
- Naive UI - Complete Vue 3 component library
- All Contributors - Thanks to every contributor
- Project Homepage: https://github.com/jianxcao/transmission-web
- Issue Reports: https://github.com/jianxcao/transmission-web/issues
- Feature Suggestions: https://github.com/jianxcao/transmission-web/discussions




