Vxrtrauter cc51f57e18 fix: Add locks, logging refactor, and bugfixes
Improve thread-safety, logging, and various bug fixes across the app.

Key changes:
- Add and use state.downloads_lock around accesses to state.active_downloads in multiple modules (UI, libtorrent, misc, direct downloads) to prevent race conditions.
- Prevent concurrent dl_status_loop runs using a non-blocking _loop_lock and ensure proper iteration over a snapshot of downloads.
- Add metadata timeout when waiting for torrent metadata and fix free-space check logic to remove or reject downloads appropriately.
- Refactor download log persistence: add _load_downloads and _save_downloads helpers and centralize JSON read/write logic in utils/logging/logs.py.
- Optimize DirectDownloadStatus speed window by switching to deque and using popleft to trim older samples.
- Trim console log widget to 500 lines to avoid unbounded growth.
- Add small state fields for custom image positioning (x/y and enabled flag).
- Fix Steamrip scraper caching behavior and make Uztracker return an empty list on fetch failures.
- Add defensive checks in run_download to handle missing links.

These changes focus on stability and correctness for concurrent download handling and durable logging.
2026-04-08 01:41:32 +02:00
2026-01-17 15:26:08 +01:00
2026-03-07 22:38:20 +01:00
2026-03-21 00:58:17 +01:00

SoftwareManager

SoftwareManager is a Python-based GUI tool that simplifies searching and downloading software from various sources, including Rutracker, Uztracker and the official M0nkrus Telegram channel.

Features

  • Searching & Downloading Software from various pages
  • Network Interface Binding
  • Simple UI, Speed Limiting etc.
  • No Logins required

Installation

  1. Download the binary file for your operating system from releases https://github.com/KeksPirates/SoftwareManager/releases
  2. Run the file

Manual Installation

  1. Ensure Python 3.x is installed on your system.
  2. Clone the Repository:
    git clone https://github.com/KeksPirates/SoftwareManager.git && cd SoftwareManager
    
  3. Install Dependencies:
    pip install -r requirements.txt
    
  4. Run main.py:
    python main.py
    

Additional Information

  • SoftwareManager is still in Development and most likely contains issues. Please report any bugs you find via the Issues tab. Contributions are also greatly appreciated.
  • MacOS Builds haven't been properly tested - We're thankful to receive feedback.
  • If you want to host your own server, clone our server repository, enter your cookie for rutracker.org and run server.py. Detailed Instructions on how to get your rutracker cookie are in the README of the server repo.

Python Dependencies

(also included in requirements.txt)

requests (2.32.2)
PySide6 (6.10.1)
beautifulsoup (44.13.5)
darkdetect (0.7.1)
pyinstaller (6.15.0)
PyQtDarkTheme-fork (2.3.4)
aiohttp (3.13.0)
plyer (2.1.0)
psutil (7.1.0)
libtorrent (2.0.11)
libtorrent-windows-dll (0.0.3)

Activity

Alt

Star History

Star History Chart

Disclaimer: SoftwareManager is intended for legal and ethical use only. Ensure compliance with applicable laws and regulations when using this tool.

S
Description
No description provided
Readme GPL-3.0 1.6 MiB
Languages
Python 98.5%
Inno Setup 0.8%
JavaScript 0.7%