Transmissionic is a free multi-platform remote for Transmission Daemon built with Ionic and Vue.js.
It can be used as Web Interface, Android/iOS app and Windows/Linux/macOS program.
Available languages:
You can help with the translation by joining the project on POEditor. If your language is not availaible, feel free to add it.
Thanks to all contributors.
Browser | Chrome | Firefox | Safari | Edge | IE | Chrome for Android | Safari on iOS |
---|---|---|---|---|---|---|---|
Version | ≥23 ✔ | ≥21 ✔ | ≥6 ✔ | ≥79 ✔ | ❌ | ≥90 ✔ | ≥6 ✔ |
OS | Windows | Linux | macOS | Android | iOS |
---|---|---|---|---|---|
Version | ≥10 ✔ | ✔ | ≥10.11 ✔ | ≥5.0 ✔ | ≥12 ✔ |
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 and unzip it.
Set an environment variable named TRANSMISSION_WEB_HOME
with the path of the extracted folder as value.
Example:
export TRANSMISSION_WEB_HOME=/path/to/transmissionic/folder
Note: On older versions of Transmission, the
public_html
folder is namedweb
Copy the content of the extracted folder to the public_html
folder of Transmission, whose location varies depending on your operating system:
Windows
C:\Program Files\Transmission\public_html
Linux
/usr/share/transmission/public_html
macOS
/Applications/Transmission.app/Contents/Resources/public_html
Don't forget to save your current public_html
folder if you want to switch back.
Download the AppImage from the latest release page.
It's recommended to use AppImageLauncher to take advantage of the torrent file assosiation and magnet link handling.
Download the DMG from the latest release page.
When you try to install it, you will get an error. After getting the error, go to System Preferences > Security & Privacy
and click on Open Anyway
.
Download the IPA from the latest release page.
Use a tool like AltStore to sideload the app on your device.
Simply download the installer for the desired platform from the latest release page and install it.
You don't need to specify the server details as they will be automatically detected from the URL of the Web UI.
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 | Default |
---|---|---|---|
colorScheme | string |
Possible values: light or dark |
System default |
language | string |
An ISO 639-1 language code, example: en-US |
System default |
orderBy | string |
Possible values: name , addedDate , sizeWhenDone , uploadRatio , uploadedEver , rateUpload , activityDate , queuePosition |
addedDate |
reverse | boolean |
Reversed ordering | true |
useBits | boolean |
Display speed in bit/s | true |
expandMenu | boolean |
Expand side menu on large screen | true |
searchByName | boolean |
Search torrents by name | true |
searchByDirectory | boolean |
Search torrents by download directory | true |
ipFlags | boolean |
Display peer flag | false |
openMagnetLinks | boolean |
Open magnet links with Transmissionic | false |
rememberSelectedPreset | boolean |
Remember selected preset when adding torrents | false |
compactMode | boolean |
Compact torrent list | false |
showTrackerList | boolean |
Always show the list of trackers in the side menu | false |
refreshInterval | number |
Refresh interval in seconds | 5 |
timeout | number |
Connection timeout in seconds | 10 |
servers | array |
Default servers | [] |
Server object:
Key | Type | Description |
---|---|---|
name | string |
Name to display |
host | string |
Hostname or IP address of Transmission RPC |
path | string |
Path of Transmission RPC |
port | number |
Port of Transmission RPC |
https | boolean |
Use HTTPS |
Configuration file example:
{
"colorScheme":"dark",
"language":"en",
"orderBy":"name",
"reverse":false,
"ipFlags":true,
"refreshInterval":10,
"timeout":20,
"servers":[
{
"name":"My server",
"host":"transmission.myserver.com",
"path":"/my/transmission/rpc",
"https":true
}
]
}
You can handle magnet links directly with the Web UI, but this feature is only available in secure contexts (HTTPS) or from localhost.
To use the Web UI in HTTPS, you must set up a reverse proxy: [GUIDE] Transmission web in SSL (https) - using nginx as a reverse proxy
List of supported browsers: Browser compatibility
When using the Web UI, you can import magnet and torrent links using a bookmarklet. To set up the bookmarklet, open the Web UI settings and simply drag and drop the corresponding button into your bookmarks bar.
You can use the text selection to highlight a magnet link or a hash before cliking on the bookmarklet, otherwise the script will look for a clickable magnet or torrent link in the page.
For mobile users:
To handle magnet links in Windows, you need to set Transmissionic as the default program.
To do so, go to "Choose default apps by protocol" in the Windows settings, scroll down to "MAGNET" then select Transmissionic.
You can configure path mapping on computer, this allow you to match remote paths with local paths to open the file explorer. This parameter works exactly the same way 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
.
Keys | Action |
---|---|
Alt T |
Open torrent |
Alt M |
Open magnet |
Alt U |
Open URL |
Alt S |
Settings |
Alt N |
New server |
Alt I |
Server information |
Alt C |
Server configuration |
Alt A |
About |
Alt 1 -9 |
Select filter |
Cmd/Ctrl Alt S |
Search |
Cmd/Ctrl Alt T |
Toggle side menu |
Cmd/Ctrl RightArrow |
Next tab |
Cmd/Ctrl LeftArrow |
Previous tab |
Shift Click |
Select torrent |
Ctrl A |
Select all |
Esc |
Cancel selection |
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
If you want to build the APK, you must install Android Studio or JDK.
If you want to build the IPA, you must install Xcode.
Simply run the following command:
npm run build:webui
This will build the Web UI inside the dist
folder.
First, synchronize Electron content by running this in the root folder of the project:
npm run sync:electron
Then place your terminal in the electron
folder and run this:
npm install
npm run electron:build-windows
npm run electron:build-linux
npm run electron:build-mac
The installer will be located in the electron/dist
folder.
Start by running this in the root folder of the project:
npm run sync:android
Open Android Studio by running:
npx cap open android
Once Android Studio has loaded the project, build the app from Build > Make Project
Place your terminal in the android
folder and run this:
./gradlew build
The APK will be located in the android/app/build/outputs/apk
folder.
Start by running this in the root folder of the project:
npm run sync:ios
Then open Xcode by running:
npx cap open ios
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 this in the root folder of the project:
npm run serve
If you want to contribute and pull your changes to this project, please work on the dev
branch as it contains all the latest changes.