Remote GUI for Transmission torrent daemon
TrguiNG
is a rewrite of transgui
project using tauri.
Frontend is written in typescript with react.js and
mantine library. Backend for the app is written in
rust.
You can use this program in 2 ways: as a native Windows/Linux/Mac app and as a web gui
served by transmission itself by setting $TRANSMISSION_WEB_HOME
environment variable
to point to TrguiNG web assets.
There are screenshots of the app available on the project wiki.
Some differentiating features:
Planned:
Transmission v2.40 or later is required.
Prerequisites:
src-tauri
wget -nv -O src-tauri/dbip.mmdb "https://github.com/openscopeproject/TrguiNG/releases/latest/download/dbip.mmdb"
You can get latest db from db-ip.com.
To compile simply run
$ npm install
$ npm run build
This will generate optimized bundle in dist
and a release binary in src-tauri/target/release
folder.
Also installer package will be available in src-tauri/target/release/bundle/...
.
The binary is statically linked and embeds all necessary assets except for the geoip database. It is completely self sufficient and can be used as a portable executable but for geoip lookup to work you need to install the app with provided installer.
For development run in parallel
$ npm run webpack-serve
$ npm run tauri-dev
Webpack will automatically watch changes in src/
and refresh the app view, tauri will watch changes
in src-tauri/
and rebuild/restart the app as needed.
Transmission supports custom web interfaces, all you have to do is run the daemon with
$TRANSMISSION_WEB_HOME
variable pointing to the web assets that transmissinon will serve
over it's .../transmission/web/
endpoint.
Example steps for debian:
trguing-web-xxxx.zip
zip from releases
page.debian-transmission
)
has read permissions./etc/systemd/system/multi-user.target.wants/transmission-daemon.service
and add following to [Service]
section:
Environment=TRANSMISSION_WEB_HOME=/path/to/extracted/trguing/zip
sudo systemctl daemon-reload
and restart the service sudo systemctl restart transmission-daemon
Project is distributed under GNU Affero General Public License v3, see LICENSE.txt
for details.