Skip to content

Ale4224/ArrThrottle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

ArrThrottle

Windows system tray app that pauses qBittorrent torrents while a target game process is running and resumes them when it closes.

Requirements

  • Windows 10 or later
  • .NET 8 SDK or later (build/runtime)

App icon

  1. Save your .ico as ArrThrottle\app.ico (same folder as ArrThrottle.csproj).
  2. Rebuild. The project picks it up automatically when that file exists (exe icon + system tray via the embedded icon).
  3. The build copies app.ico next to ArrThrottle.exe. The tray and main window load that file first so the icon matches what you see (embedded exe icons alone are easy for Windows to show as a generic tile until the cache refreshes).

If Explorer or the taskbar still shows an old generic icon after rebuilding: close ArrThrottle, run dotnet clean then dotnet build -c Release, then pin the new exe again or clear the Windows icon cache (sign out/in is enough on many setups).

Build

From the repository root:

dotnet build ArrThrottle.sln -c Release

Output: ArrThrottle\bin\Release\net8.0-windows\ArrThrottle.exe

Run

dotnet run --project ArrThrottle\ArrThrottle.csproj -c Release

Or run ArrThrottle.exe from the build output folder.

Only one instance runs at a time.

Configuration

Settings file: %AppData%\ArrThrottle\settings.json

Logs: %AppData%\ArrThrottle\logs\

On first run a default settings.json is created. Use Settings in the tray menu or the main window to set:

Setting Description
qBittorrent URL Web UI root only, e.g. http://192.168.1.100:8080 — do not append /api/v2 (ArrThrottle strips it if present)
Username / Password Web UI credentials
Target Process Name Default League of Legends.exe. Match is case-insensitive; you can list several names separated by commas. See Process detection below.
Polling Interval 5–60 seconds
Run on startup Adds or removes a Run registry entry for the current user

qBittorrent Web UI

Enable the Web UI in qBittorrent and allow the client machine to reach it (same LAN/VPN/firewall rules). The app uses:

  • POST /api/v2/auth/login
  • POST /api/v2/torrents/stop and POST /api/v2/torrents/start with hashes=all (qBittorrent 5.0 WebUI API)
  • If those return 404, it falls back to pause / resume for older qBittorrent 4.x

Process detection

  • Matching uses the process name (as in Task Manager → Details → Name), not the window title. League of Legends.exe is usually shown as League of Legends (with a space).
  • League of Legends (the actual match client) often runs only while you are in a game or loading — not in the Riot lobby. In the lobby you may only see LeagueClient / Riot Client processes. To throttle while in the client too, add them, e.g. League of Legends.exe, LeagueClient.exe (comma-separated).
  • If detection still fails, open Task Manager → Details, find the row for the running game, and copy the Name column exactly (e.g. League of Legends.exe).

Behavior

  • Polls for the target process on the configured interval.
  • Sends pause when the game becomes active (including if it was already running when ArrThrottle starts).
  • Sends resume when the game stops, only if ArrThrottle had paused for that session.
  • Manual Pause All / Resume All calls the API directly and clears auto-pause tracking. If you manually pause while the game is running, ArrThrottle does not auto-resume when the game exits; use Resume All if needed.

UI

  • Tray: right-click for Open, Pause/Resume, Settings, Exit; double-click opens the main window.
  • Main window: status for app, game detection, and qBittorrent connection; manual pause/resume; Settings.

Closing the main window with X hides to the tray; use Exit from the tray to quit.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages