Languages: English | Русский
Beginner guide: English | Русский
Completion roadmap: English | Русский
TorrWind is a Windows 10/11 x64 desktop client for local and remote TorrServer instances.
Repository: https://github.com/trinity-aml/TorrWind
License: GPL-3.0-only
TorrWind keeps its settings, logs, downloaded TorrServer binaries, playlists, backups, and other runtime files in the application working directory under Data. It does not use %ProgramData% or %AppData% for normal portable operation.
- Local and remote TorrServer profile management.
- Local TorrServer download/update from GitHub releases with SHA256 verification when release metadata provides a digest.
- Local TorrServer process control and optional Windows Service mode through
TorrWind.Service.exe. - TorrWind update check/download from GitHub releases into
Data/updates. - Torrent and magnet add/remove/drop/wipe actions.
- Torrent file list, selected-file playback, continue playlist, and playlist-from-current-file actions.
- Built-in mpv player with M3U playlist navigation, audio/video/subtitle controls, and external-player launch.
- TorrServer Web UI fallback tab.
- Torznab-compatible indexer search, including Jackett/Prowlarr style endpoints.
- Runtime JSON editor for TorrServer settings.
- Field editor for advanced TorrServer runtime settings.
- Cache settings with memory or disk mode. New profiles default to 64 MB memory cache.
- Diagnostics report, GUI/service logs, settings import/export, and support bundle export.
- JSON localization files in
locales.
Runtime target:
- Windows 10/11 x64
- .NET 8 desktop runtime is bundled in self-contained release builds
Development on Windows:
- .NET 8 SDK
- PowerShell 7 or Windows PowerShell
- Inno Setup 6 for installer builds
Development on Linux:
- .NET 8 SDK
- PowerShell 7
- Wine + Inno Setup 6 in a Wine prefix for installer builds
Restore and build:
dotnet restore
dotnet build TorrWind.slnPublish self-contained Windows x64 files:
.\scripts\publish-win-x64.ps1 -Version 1.0.6The publish script downloads the latest shinchiro Windows x64 mpv runtime, verifies the GitHub release SHA256 digest when present, and installs it into artifacts/publish/TorrWind/Runtime/mpv. Install 7-Zip before release packaging. For offline builds, pass -MpvRuntimeArchivePath <mpv-x86_64-...7z>; to publish without bundled mpv, pass -SkipMpvRuntime.
Create a portable zip:
.\scripts\package-win-x64.ps1 -Version 1.0.6Build the Inno Setup installer:
.\scripts\build-installer.ps1 -Version 1.0.6Build all release artifacts and checksums:
.\scripts\release-win-x64.ps1 -Version 1.0.6Run unit tests:
dotnet test TorrWind.slnOutputs are written to:
artifacts/publish/TorrWindartifacts/portable/TorrWind-1.0.6-win-x64-portable.zipartifacts/installer/TorrWind-1.0.6-win-x64.exeartifacts/TorrWind-1.0.6-SHA256SUMS.txt
The publish directory and portable zip include README.md, README.ru.md, LICENSE, and the docs folder.
TorrWind is a Windows desktop app, but the repository can be built and packaged from Linux with Windows targeting enabled.
Build the solution:
DOTNET_CLI_HOME="$PWD/.dotnet" \
NUGET_PACKAGES="$PWD/.nuget/packages" \
DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 \
dotnet build TorrWind.sln -m:1 -p:UseSharedCompilation=false -p:NuGetAudit=falseCreate a portable Windows x64 zip:
pwsh ./scripts/package-win-x64.ps1 -Version 1.0.6The packaging scripts also bundle mpv through scripts/install-mpv-runtime.ps1. Install p7zip/7z in Linux build environments, or pass -MpvRuntimeArchivePath <mpv-x86_64-...7z> for offline builds.
Build the installer through Wine + Inno Setup:
pwsh ./scripts/build-installer.ps1 -Version 1.0.6The installer script searches ~/.wine-inno and ~/.wine by default. You can override detection:
pwsh ./scripts/build-installer.ps1 \
-Version 1.0.6 \
-WinePrefix "$HOME/.wine-inno" \
-InnoCompilerPath "$HOME/.wine-inno/drive_c/InnoSetup6/ISCC.exe"Build all release artifacts:
pwsh ./scripts/release-win-x64.ps1 -Version 1.0.6Run unit tests:
dotnet test TorrWind.slnIf the Linux machine has only a newer .NET runtime installed, use DOTNET_ROLL_FORWARD=Major dotnet test TorrWind.sln or install the .NET 8 runtime.
GitHub Actions workflow: .github/workflows/release.yml.
It runs automatically when a tag is pushed:
git tag v1.0.6
git push origin v1.0.6It can also be started manually from GitHub Actions with a version input. The workflow:
- installs .NET 8 and Inno Setup on
windows-latest; - runs
scripts/release-win-x64.ps1; - uploads the installer, portable zip, and SHA256SUMS as workflow artifacts;
- creates or updates a GitHub Release with the same files.
- Download the portable zip or installer from a release.
- Start
TorrWind.exe. - Open
Settings -> TorrServer. - Click
Check latest,Load releases, orDownload TorrServerto download the local TorrServer binary. - Use
Start localfor GUI-managed local TorrServer, or use theServicesettings to install/startTorrWindService. - Open
Libraryand add a.torrent, magnet link, or search result. - Select a torrent file and use
Open player,Continue, orPlaylist from selected.
Local TorrServer files are stored under:
Data/TorrServer
Data/TorrServer/versions
Data/TorrServer/cache
Data/updates
The GUI can:
- download/update TorrServer from
YouROK/TorrServerGitHub releases and verify SHA256 when available; - switch between downloaded local versions;
- start/stop TorrServer as a child process;
- install/uninstall/start/stop/query
TorrWindService; - apply TorrServer runtime settings from the native settings screen or Runtime JSON tab, including TMDB API and image URL settings.
Service installation and removal request elevation. The installed service runs as LocalService; start, stop, status queries, normal settings editing, and remote-server use do not request administrator rights.
Open Settings -> Servers and add a profile:
- name;
- base URL such as
http://192.168.1.2:8090; - optional username/password;
- optional
ignore certificate errors; - read-only mode when you do not want TorrWind to modify the server.
Remote servers can be used for library actions, playback URL generation, Web UI, diagnostics, and search through the selected TorrServer.
Open Settings -> Indexers and add Torznab-compatible providers.
Typical URLs:
http://127.0.0.1:9117/api/v2.0/indexers/all/results/torznab
http://192.168.1.2:9696/api/v1/indexer/all/results/torznab
http://192.168.1.2:5002
TorrWind normalizes common Jackett/Prowlarr/JacPro-style URLs, supports API keys, category filters, timeouts, and certificate-error override.
Playback can use the built-in mpv player or an external player:
- built-in mpv;
- system default player;
- VLC;
- MPC-HC;
- PotPlayer;
- custom executable path.
TorrWind generates TorrServer-compatible stream or M3U URLs and opens them in the selected player. Release builds bundle the Windows x64 mpv runtime under Runtime\mpv; TorrWind also looks for mpv.exe in the application folder, mpv, tools\mpv, and then PATH.
The built-in mpv player reads local M3U files and downloads HTTP(S) M3U/M3U8 playlists itself. Series playlists are shown as an episode list, with icon controls for previous/next episode and direct selection of any playlist item. The player also exposes audio track, video track, subtitle track, aspect ratio, audio delay, and subtitle delay controls.
New local profiles default to:
- memory cache mode;
- 64 MB cache size;
- 50% preload buffer;
- 95% read-ahead cache;
- 30 second torrent disconnect timeout;
- 25 torrent connections.
Cache can be switched to disk mode and pointed at a folder under Data/TorrServer/cache or another user-selected path.
Diagnostics can be copied, saved, or packed into a support bundle. Sensitive values such as passwords, API keys, tokens, and secrets are sanitized.
Logs are stored in:
Data/logs/gui.jsonl
Data/logs/service.jsonl
When TorrWind starts local TorrServer, stdout/stderr are captured into the same log system.
The installer can:
- create a desktop icon;
- start TorrWind with Windows;
- associate
.torrentfiles; - register
magnet:links; - choose GUI-managed local TorrServer mode or
TorrWindService; - install and optionally start
TorrWindServicewhen service mode is selected.
TorrWind.exe accepts:
.\TorrWind.exe --minimized
.\TorrWind.exe "C:\Downloads\movie.torrent"
.\TorrWind.exe "magnet:?xt=urn:btih:..."
.\TorrWind.exe "https://example.org/file.torrent"TorrWind runs as a single GUI instance. Later shell activations are forwarded to the existing instance.
GPL-3.0-only. See LICENSE.