utorrent-remote-gui
- Active · last change 8-26-2026
- ★ 1 on GitHub
README
uTorrent Remote GUI
Desktop remote GUI for uTorrent / BitTorrent WebUI, written in Free Pascal / Lazarus.
Inspired by Transmission Remote GUI (transgui).
Current version: 0.26.0
Also available in Russian: README.ru.md
Change history: CHANGELOG.md
Publishing releases: docs/PUBLISHING.md
Features
Connection
- Multiple profiles (host, port, user, password, HTTPS), autoconnect on startup
- TransGUI-style profile button on toolbar: dropdown list, active checkmark, new/manage connections, click to reconnect
- WebUI auth: HTTP Basic + CSRF token + GUID cookie
Torrents
- Live list: progress, speeds, ETA, seeds/peers, ratio, label
- Sidebar filters: all / downloading / completed / active / inactive / stopped / error / queued
- Start, force start, pause, stop, recheck, remove (+ optional delete data)
- Queue up / down / top / bottom
- Add
.torrentor magnet / URL - Details: general, files (priorities), trackers
- Open content / folder, copy magnet, configurable columns
- Rich context menu
Settings
- Tools → Application settings… — refresh intervals, tray, proxy, remote/local path map
- Tools → uTorrent settings… — remote WebUI preferences by category (tree + scrollable panel), human-readable labels (
lang/utsettings_*.lng) - Tools → Connections… — profile manager
- Resizable settings windows; Esc to close with optional save prompt
UI
- View menu: select all, columns, filter/details/toolbar/status bar toggles, large/small toolbar
- Menu icons on main menu and context menus
- System tray, download-finished balloon
- 18 languages via
lang\*.lng
Languages included: English, Russian, Ukrainian, Belarusian, Kazakh, Tatar, Esperanto, German, French, Spanish, Italian, Portuguese, Polish, Chinese, Japanese, Turkish, Dutch, Czech.
Screenshots

Requirements
To run
- Windows 7+ (x64)
- uTorrent or BitTorrent with WebUI enabled
To build
- Lazarus + Free Pascal 3.2+
- FCL only (
fphttpclient,fpjson) + LCL — no extra packages
Enable WebUI in uTorrent
- Options → Preferences → Advanced → Web UI
- Enable Web UI, set username/password and port (often
8080) - In the remote GUI: Tools → Connections… or the toolbar profile button
Quick start (binary)
- Use the
dist\folder (or a release archive) - Run
dist\utorrentgui.exe - Keep
lang\andimages\next to the executable - Connect via the toolbar profile button or Tools → Connections…
Settings are stored in utorrentgui.ini beside the exe (password in plain text — protect that file).
Build from source
build.cmdOr open utorrentgui.lpi in Lazarus and build.
build.cmd:
- Compiles with
lazbuild(release,-O3, smart linking) - Strips debug symbols
- Embeds Win32 manifest + icon (
embed-manifest.ps1) — after strip so Explorer keeps the icon - Copies
utorrentgui.exe,lang\,images\intodist\
Typical release size: ~3.6 MB.
Release package (ZIP, 7z, installer)
build-release.cmdCreates release\:
utorrentgui-<version>-win64.zip— portable folderutorrentgui-<version>-win64.7z— same, 7-Ziputorrentgui-<version>-setup.exe— Windows installer (Inno Setup)
Requires Inno Setup 6 and 7-Zip on the build machine.
Paths containing
#break Lazarus resource embedding; the post-link script is required.
Repository layout
????????? README.md Main documentation (English)
????????? README.ru.md Russian documentation
????????? CHANGELOG.md Version history
????????? VERSION Version string
????????? LICENSE MIT
????????? utorrentgui.lpi/.lpr Lazarus project
????????? build.cmd Build + package ??? dist\
????????? build-release.cmd dist + ZIP + 7z + Inno Setup installer ??? release\
????????? utorrentgui.iss Inno Setup script
????????? docs/screenshots/ README screenshots (en.png, ru.png)
????????? embed-manifest.ps1 Post-link icon/manifest embed
????????? src\ Pascal sources (see src/README.md)
????????? lang\ UI + uTorrent setting labels (*.lng)
├── images\ Toolbar / app icons
└── dist\ Ready-to-run build
├── utorrentgui.exe
├── lang\
├── images\
└── README.txtWebUI API (summary)
| Call | Purpose |
|---|---|
GET /gui/token.html |
CSRF token + GUID cookie |
GET …&list=1 |
Torrent list |
GET …&action=getprops&hash=… |
Properties |
GET …&action=getfiles&hash=… |
Files |
GET …&action=start|pause|stop|… |
Torrent actions |
GET …&action=getsettings / setsetting |
Remote preferences |
GET …&action=add-url&s=… |
Add magnet/URL |
POST …&action=add-file |
Upload .torrent |
Versioning
Until 1.0.0: 0.<build>.0.
Update src/appversion.pas, VERSION, and utorrentgui.lpi title together; record changes in CHANGELOG.md.
Contributing
Issues and PRs welcome: bug reports (OS, uTorrent build, WebUI port), new lang\xx.lng files, UI improvements in the TransGUI spirit.
License
MIT — see LICENSE.
Credits
- Inspired by Transmission Remote GUI
- Built with Lazarus / Free Pascal

