Transmissionic is a free multi-platform remote for Transmission Daemon built with Ionic and Vue.js.
It can be used as Web Interface, Android app and Windows/Linux program. (More platform could be added such as Mac OS and iOS)
- Manage multiple servers
- Add torrent from local file or magnet link
- Drag & drop torrent file
- Start/stop/reannonce/verify/delete one or more torrents
- Modify torrent options
- Set the location of a torrent
- Select and rename torrent files
- Edit tracker list
- View peer list with flags
- Sort torrents by trackers
- Open files in explorer
- Provide a unified interface for all platforms
- Improve myself on Vue.js 3 and Ionic 5
- Get familiar with GitHub
Interface and features inspired by Transmission Remote and Transmission Remote GUI.
You must first enable remote access in Transmission settings.
Download Transmissionic-webui-[version].zip
from the latest release page.
Unzip it inside the web
folder of Transmission, whose location varies depending on your operating system :
Windows
C:\Program Files\Transmission\web
Linux
/usr/share/transmission/web
Mac OS
/Applications/Transmission.app/Contents/Resources/web
Then access the Web UI as described here.
Simply download the installer for the desired platform from the latest release page and install it.
The settings are stored on the client side, but you can overwrite the default settings by creating a file named default.json
in the root folder of the Web UI.
The file can contain the following key/value pairs :
Key | Type | Description |
---|---|---|
colorScheme | string |
Possible values: light or dark |
language | string |
An ISO 639-1 language code, example: en |
orderBy | string |
Examples: name , addedDate , uploadRatio , activityDate |
reverse | boolean |
Reversed ordering |
useBits | boolean |
Display speed in bit/s |
expandMenu | boolean |
Expand side menu on large screen |
ipFlags | boolean |
Display peer flag |
refreshInterval | number |
Refresh interval in seconds |
timeout | number |
Connection timeout in seconds |
Configuration file example:
{
"colorScheme":"dark",
"language":"en",
"orderBy":"name",
"reverse":false,
"ipFlags":true,
"refreshInterval":10,
"timeout":20
}
You can configure path mapping on computer, this allow you to match remote paths with local paths to open the file explorer. This setting works exacly the same as Transmission Remote GUI.
Example:
/mnt/ssd = \\192.168.1.1\ssd
/mnt/ssd
= Remote path on the server where Transmission daemon is running.
\\192.168.1.1\ssd
= Local path to access the shared folder.
In this case, the remote server IP is 192.168.1.1
, and the folder /mnt/ssd
must be shared on the network as ssd
.
You must have Node.js installed, then you can clone this repo and install dependencies by running this in the root folder of the project :
npm install
npm install -g @ionic/cli
npm install -g @capacitor/cli
If you want to build the APK, you need to install Android Studio.
Simply run the following commands :
npm run-script prebuild:webui
ionic build
npm run-script postbuild:webui
This will build the Web UI inside the dist
folder.
Only Windows and Linux are currently supported, but feel free to make some changes to support other platforms.
First, synchronize Electron content by running this in the root folder of the project :
ionic cap sync @capacitor-community/electron
npm run-script postbuild:electron
Then place your terminal in the electron
folder and run this :
# Install dependencies
npm install
# Build Windows installer
npm run-script electron:build-windows
# Build Linux installer
npm run-script electron:build-linux
The installer will be located in the electron/dist
folder.
Start by running this in the root folder of the project :
ionic cap sync android
Then open Android Studio by running :
ionic cap open android
Once Android Studio has loaded the project, build the app from Build > Make Project
You can start a local dev server using Ionic, but you need to disable same origin policy in your browser to connect to Transmission RPC from a different host. For example, run a new instance of chrome with these flags : --disable-web-security --disable-gpu --user-data-dir=~/chromeTemp
Then start the dev server by running :
ionic serve
This will open http://localhost:8100/ in a new tab.
You can help with the translation by joining the project on POEditor. If your language is not availaible, feel free to suggest it.
Available languages :
- English
- French
- Russian (Alek Depler)
- Spanish (Zenón Monge)
Thanks to all contributors.
- Add iOS/Mac OS support
- Add server configurations modal
- Add magnet url handling on Windows
- Use ion-virtual-scroll when availaible for Vue.js