[!IMPORTANT]
Unofficial Fork / 非官方分支声明
English: This is a modified fork of the original TrguiNG project. The main focus is Internationalization (i18n) support and additional feature enhancements. Currently supports Simplified & Traditional Chinese and Russian. Support for additional languages can be added by creating translation files in
src/locales/.中文: 这是 TrguiNG 的一个非官方修改版。核心改动是增加了 国际化 (i18n) 框架支持以及部分功能增强。 目前支持简体中文、繁体中文和俄语。可在
src/locales/目录下创建翻译文件以支持更多语言。🤖 AI Attribution & Translation Details / AI 模型与翻译说明 (Click to expand)
English:
- Framework & Code: Modified by GPT-5.1.
- Translation & Replacement: Handled by Gemini 3 Pro.
- Quality:
- Simplified Chinese: AI-generated + Manually refined referencing jayzcoder/TrguiNG.
- Traditional Chinese: AI-converted from Simplified Chinese.
- Russian: Thanks to @abubaca4.
中文:
- 框架与代码: 由 GPT-5.1 完成。
- 翻译与替换: 由 Gemini 3 Pro 完成。
- 翻译质量:
- 简体中文: AI 初译 + 参考项目 jayzcoder/TrguiNG 进行手动润色。
- 繁体中文: 由 AI 参考简体中文自动转换。
- 俄语: 感谢 @abubaca4 协助完成。
✨ Additional Features / 额外功能支持 (Click to expand)
English:
- Ported from jayzcoder/TrguiNG:
- Group Size Display
- Double-click group header to select all
- Dedicated Error grouping
- Added a new layout mode
- WebUI supports font size adjustment
中文:
- 移植自 jayzcoder/TrguiNG:
- 分组体积展示
- 双击分组标题全选
- 错误状态单独分组
- 新增一种布局模式
- 网页端支持调整字体大小
Disclaimer: This repository is intended as a "proof of concept" created via AI rapid prototyping (Vibe Coding). The code quality may differ from official standards.
免责声明: 本仓库代码主要为 AI 辅助快速生成的“概念验证”版本,代码质量可能与官方标准存在差异。
TrguiNG
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:
- Multi tabbed interface for concurrent server connections (native app only)
- Torrent creation with fast multi threaded hashing (native app only)
- Powerful torrent filtering options
- Latest transmission features support: labels, bandwidth groups, sequential download
- Dark and white theme
Planned:
- Better bandwidth groups support when API is ready (https://github.com/transmission/transmission/issues/5455)
Transmission v2.40 or later is required.
Downloads
You can get the latest release from the releases page.
Weekly builds of current development version are available from github build workflows. Pick the latest successful run and scroll down to the artifacts section.
Compiling
Prerequisites:
- Node.js 16 or later
- rust 1.77 or later
- Geoip lookup database in mmdb format, put it in
src-tauri
You can get latest db from db-ip.com.wget -nv -O src-tauri/dbip.mmdb "https://github.com/openscopeproject/TrguiNG/releases/latest/download/dbip.mmdb"
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.
How to use TrguiNG as a web interface
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:
- Download latest
trguing-web-xxxx.zipzip from releases page. - Unpack it anywhere, make sure that the user transmission runs under (by default
debian-transmission) has read permissions. - Edit transmission daemon systemd unit file
/etc/systemd/system/multi-user.target.wants/transmission-daemon.serviceand add following to[Service]section:Environment=TRANSMISSION_WEB_HOME=/path/to/extracted/trguing/zip - Reload the unit file with
sudo systemctl daemon-reloadand restart the servicesudo systemctl restart transmission-daemon
License
Project is distributed under GNU Affero General Public License v3, see LICENSE.txt for details.