Skip to content

Commit 078d722

Browse files
committed
4.5.4
1 parent e0253ed commit 078d722

File tree

9 files changed

+318
-58
lines changed

9 files changed

+318
-58
lines changed

CHANGELOG

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,14 @@
1-
# Requirements Updated
2-
- "retrying==1.4.2",
3-
4-
5-
# New Features
6-
- **Web UI**: Implement dynamic schedule management via web UI/API
7-
- **Share Limits**: Add limit upload speed when share limits are reached (New config option: `upload_speed_on_limit_reached`) (Fixes #731, #737, #703)
8-
- **Share Limits**: Add min/max torrent size filters (New config option: `min_torrent_size` / `max_torrent_size`) (Fixes #472)
9-
- **Remove Unregistered**: Add grace period for unregistered torrent removal (New config option: `rem_unregistered_grace_minutes`) (Fixes #898)
10-
- **Scheduler (Web API)**: Implement dynamic schedule management via web API
11-
121
# Improvements
13-
- **Mover Script**: Allow granular control with pause, resume and move args
14-
- **web UI**: When saving, don’t delete config comments and empty lines (Fixes #890)
2+
- Support cross-platform binary builds (Linux/Windows/MacOS)
3+
- Adds desktop app installers (Linux/Windows/MacOS)
4+
- Container images for latest now pointed to newest version automatically (Fixes #897)
5+
- Enable automatic open of webUI in local installs
6+
- Add persistence toggling for webUI scheduler
157

168
# Bug Fixes
17-
- Fix Error acquiring lock: cannot assign to field '_last_run_start' (Fixes #895)
18-
- Fix remove_orphaned not working correctly with `remote_dir` and reporting 0 files removed
19-
- fix(web-ui): prevent XSS vulnerabilities and prototype pollution
20-
- Potential fix for code scanning alert no. 13: Client-side cross-site scripting (#896)
21-
22-
9+
- Fix schedule.yml not loaded upon restarting Docker container (Fixes #906)
10+
- Fix bug where torrents were not being paused after share limits reached (Fixes #901)
11+
- Fix(api): prevent path traversal vulnerability in backup restore endpoint (Fixes CWE-22 Security Vulnerability)
12+
- Fix scheduler to run interval jobs immediately on startup
2313

24-
**Full Changelog**: https://github.com/StuffAnThings/qbit_manage/compare/v4.5.2...v4.5.3
14+
**Full Changelog**: https://github.com/StuffAnThings/qbit_manage/compare/v4.5.3...v4.5.4

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4.5.4-develop52
1+
4.5.4

docs/Commands.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
| `-r` or`--run` | QBT_RUN | N/A | Run without the scheduler. Script will exit after completion. | False |
99
| `-sch` or `--schedule` | QBT_SCHEDULE | N/A | Schedule to run every x minutes or choose customize schedule via [cron](https://crontab.guru/examples.html). (Default set to 1440 (1 day)) | 1440 |
1010
| `-sd` or `--startup-delay` | QBT_STARTUP_DELAY | N/A | Set delay in seconds on the first run of a schedule (Default set to 0) | 0 |
11-
| `-c CONFIG` or `--config-file CONFIG` | QBT_CONFIG | N/A | This is used if you want to use a different name for your config.yml. `Example: tv.yml`. Supports wildcards to use multiple configs. `Example: config-*.yml` | config.yml |
11+
| `-c CONFIG` or `--config-file CONFIG` | QBT_CONFIG | N/A | Override the default config file location. By default, qbit_manage looks for `config.yml` in platform-specific directories (see [Config-Setup](Config-Setup.md) for details). Use this to specify a custom path or filename. `Example: tv.yml`. Supports wildcards to use multiple configs. `Example: config-*.yml` | Platform-specific |
1212
| `-lf LOGFILE,` or `--log-file LOGFILE,` | QBT_LOGFILE | N/A | This is used if you want to use a different name for your log file. `Example: tv.log` | activity.log |
1313
| `-re` or `--recheck` | QBT_RECHECK | recheck | Recheck paused torrents sorted by lowest size. Resume if Completed. | False |
1414
| `-cu` or `--cat-update` | QBT_CAT_UPDATE | cat_update | Use this if you would like to update your categories or move from one category to another. | False |

docs/Config-Setup.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,19 @@
33

44
The script utilizes a YAML config file to load information to connect to the various APIs you can connect with. Alternatively, you can configure qBit Manage using the [Web UI](Web-UI.md), which requires the [Web API](Web-API.md) to be enabled.
55

6-
By default, the script looks at `/config/config.yml` when running locally or `/app/config.yml` in docker for the Configuration File unless otherwise specified.
6+
## Default Configuration File Locations
7+
8+
The script looks for the configuration file in different locations depending on your platform:
9+
10+
### Local Installation (Platform-specific)
11+
- **Windows**: `%APPDATA%\qbit-manage\config.yml` (typically `C:\Users\<username>\AppData\Roaming\qbit-manage\config.yml`)
12+
- **macOS**: `~/Library/Application Support/qbit-manage/config.yml`
13+
- **Linux/Unix**: `~/.config/qbit-manage/config.yml` (or `$XDG_CONFIG_HOME/qbit-manage/config.yml` if XDG_CONFIG_HOME is set)
14+
15+
### Docker Installation
16+
- `/app/config.yml` (inside the container)
17+
18+
You can override the default location by using the `--config-file` or `-c` command line option to specify a custom path.
719

820
A template Configuration File can be found in the repo [config/config.yml.sample](https://github.com/StuffAnThings/qbit_manage/blob/master/config/config.yml.sample).
921

docs/Home.md

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,21 @@ This wiki should tell you everything you need to know about the script to get it
44

55
## Getting Started
66

7-
1. Install qbit_manage either by installing Python3.9.0+ on the localhost and following the [Local Installation](https://github.com/StuffAnThings/qbit_manage/wiki/Local-Installations) Guide or by installing Docker and following the [Docker Installation](https://github.com/StuffAnThings/qbit_manage/wiki/Docker-Installation) Guide or the [unRAID Installation](https://github.com/StuffAnThings/qbit_manage/wiki/Unraid-Installation) Guide.<br>
8-
1. Once installed, you have to [set up your Configuration](https://github.com/StuffAnThings/qbit_manage/wiki/Config-Setup) by create a [Configuration File](https://github.com/StuffAnThings/qbit_manage/blob/master/config/config.yml.sample) filled with all your values to connect to your qBittorrent instance.
9-
1. Please refer to the list of [Commands](https://github.com/StuffAnThings/qbit_manage/wiki/Commands) that can be used with this tool.
7+
1. **Choose your installation method:**
8+
- **Desktop App** (Recommended): Download and install the GUI application for [Windows, macOS, or Linux](Installation.md#desktop-app-installation)
9+
- **Standalone Binary**: Download the command-line executable for [Windows, macOS, or Linux](Installation.md#standalone-binary-installation)
10+
- **Docker**: Follow the [Docker Installation](Docker-Installation) guide for containerized environments
11+
- **Python/Source**: Install from [PyPI or source code](Local-Installations) for development
12+
- **unRAID**: Follow the [unRAID Installation](Unraid-Installation) guide for unRAID systems
13+
14+
2. **Configure qbit_manage:**
15+
- Desktop app users: Configuration is handled through the GUI
16+
- Command-line users: [Set up your Configuration](Config-Setup) by creating a [Configuration File](https://github.com/StuffAnThings/qbit_manage/blob/master/config/config.yml.sample) with your qBittorrent connection details
17+
18+
3. **Start using qbit_manage:**
19+
- Review the [Commands](Commands) documentation to understand available features
20+
- Try the [Web UI](Web-UI) for an intuitive configuration experience
21+
- Use the [Web API](Web-API) for automation and integration
1022

1123
## Support
1224

docs/Installation.md

Lines changed: 119 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,120 @@
1-
# Installation Table of Contents
1+
# Installation Options
22

3-
- [Installation](https://github.com/StuffAnThings/qbit_manage/wiki/Installation)
4-
- [unRAID Installation](https://github.com/StuffAnThings/qbit_manage/wiki/Unraid-Installation)
5-
- [Local Installation](https://github.com/StuffAnThings/qbit_manage/wiki/Local-Installations)
6-
- [NIX Installation](https://github.com/StuffAnThings/qbit_manage/wiki/Nix-Installation)
7-
- [Docker Installation](https://github.com/StuffAnThings/qbit_manage/wiki/Docker-Installation)
3+
qbit_manage offers multiple installation methods to suit different use cases:
4+
5+
## Installation Methods
6+
7+
### 1. Desktop App (Recommended for most users)
8+
- **Windows**: Download and run the `.exe` installer
9+
- **macOS**: Download and install the `.dmg` package
10+
- **Linux**: Download and install the `.deb` package
11+
12+
The desktop app provides a graphical interface and automatically handles configuration file setup.
13+
14+
### 2. Standalone Binary (Command-line)
15+
- **Windows**: `qbit-manage-windows-amd64.exe`
16+
- **macOS**: `qbit-manage-macos-arm64` (Apple Silicon) or `qbit-manage-macos-x86_64` (Intel)
17+
- **Linux**: `qbit-manage-linux-amd64`
18+
19+
Perfect for server environments, automation, or users who prefer command-line tools.
20+
21+
### 3. Docker Container
22+
- Multi-architecture support (amd64, arm64, arm/v7)
23+
- Ideal for containerized environments and NAS systems
24+
25+
### 4. Python Installation
26+
- Install from source or PyPI
27+
- For developers or users who want to modify the code
28+
29+
## Detailed Installation Guides
30+
31+
- [Desktop App Installation](#desktop-app-installation)
32+
- [Standalone Binary Installation](#standalone-binary-installation)
33+
- [Docker Installation](Docker-Installation)
34+
- [Python/Source Installation](Local-Installations)
35+
- [unRAID Installation](Unraid-Installation)
36+
- [NIX Installation](Nix-Installation)
37+
38+
## Desktop App Installation
39+
40+
### Windows
41+
1. Download `qbit-manage-*-desktop-installer-setup.exe` from the [releases page](https://github.com/StuffAnThings/qbit_manage/releases)
42+
2. Run the installer and follow the setup wizard
43+
3. Launch qbit_manage from the Start Menu or desktop shortcut
44+
4. The app will automatically create the configuration directory and files
45+
46+
### macOS
47+
1. Download `qbit-manage-*-desktop-installer.dmg` from the [releases page](https://github.com/StuffAnThings/qbit_manage/releases)
48+
2. Open the DMG file and drag qbit_manage to your Applications folder
49+
3. Launch qbit_manage from Applications (you may need to allow it in System Preferences > Security & Privacy)
50+
4. The app will automatically create the configuration directory and files
51+
52+
### Linux
53+
1. Download `qbit-manage-*-desktop-installer.deb` from the [releases page](https://github.com/StuffAnThings/qbit_manage/releases)
54+
2. Install using your package manager:
55+
```bash
56+
sudo dpkg -i qbit-manage-*-desktop-installer.deb
57+
sudo apt-get install -f # Fix any dependency issues
58+
```
59+
3. Launch qbit_manage from your applications menu or run `qbit-manage` in terminal
60+
4. The app will automatically create the configuration directory and files
61+
62+
## Standalone Binary Installation
63+
64+
### Windows
65+
1. Download `qbit-manage-windows-amd64.exe` from the [releases page](https://github.com/StuffAnThings/qbit_manage/releases)
66+
2. Place the executable in a directory of your choice (e.g., `C:\Program Files\qbit-manage\`)
67+
3. Add the directory to your PATH environment variable (optional)
68+
4. Run from Command Prompt or PowerShell:
69+
```cmd
70+
qbit-manage-windows-amd64.exe --help
71+
```
72+
73+
### macOS
74+
1. Download the appropriate binary from the [releases page](https://github.com/StuffAnThings/qbit_manage/releases):
75+
- `qbit-manage-macos-arm64` for Apple Silicon Macs (M1, M2, M3, etc.)
76+
- `qbit-manage-macos-x86_64` for Intel Macs
77+
2. Make the binary executable:
78+
```bash
79+
chmod +x qbit-manage-macos-*
80+
```
81+
3. Move to a directory in your PATH (optional):
82+
```bash
83+
sudo mv qbit-manage-macos-* /usr/local/bin/qbit-manage
84+
```
85+
4. Run the binary:
86+
```bash
87+
./qbit-manage-macos-* --help
88+
```
89+
90+
### Linux
91+
1. Download `qbit-manage-linux-amd64` from the [releases page](https://github.com/StuffAnThings/qbit_manage/releases)
92+
2. Make the binary executable:
93+
```bash
94+
chmod +x qbit-manage-linux-amd64
95+
```
96+
3. Move to a directory in your PATH (optional):
97+
```bash
98+
sudo mv qbit-manage-linux-amd64 /usr/local/bin/qbit-manage
99+
```
100+
4. Run the binary:
101+
```bash
102+
./qbit-manage-linux-amd64 --help
103+
```
104+
105+
## Quick Reference: Default Configuration File Locations
106+
107+
### Desktop App & Standalone Binary
108+
- **Windows**: `%APPDATA%\qbit-manage\config.yml`
109+
- **macOS**: `~/Library/Application Support/qbit-manage/config.yml`
110+
- **Linux**: `~/.config/qbit-manage/config.yml`
111+
112+
### Docker Installation
113+
- **Container Path**: `/app/config.yml`
114+
- **Host Mount**: Typically mounted from `/path/to/your/config:/config`
115+
116+
### Custom Location
117+
You can override the default location using the `--config-file` or `-c` command line option:
118+
```bash
119+
qbit-manage --config-file /path/to/your/config.yml
120+
```

0 commit comments

Comments
 (0)