mirror of
https://github.com/kikootwo/ReadMeABook.git
synced 2026-06-02 20:30:10 +00:00
Add remote path mapping for qBittorrent integration
Implements remote-to-local path mapping for qBittorrent downloads, allowing the app to handle differing filesystem paths between qBittorrent and the local environment (e.g., remote seedboxes, Docker). Adds UI controls in admin settings and setup wizard, validates mapping configuration, and applies path transformation in download and import processors. Updates documentation, API routes, and data models to support the new feature. Also improves library scan logic to remove stale records and reset orphaned audiobooks and requests. Increases minimum torrent score threshold from 30 to 50 in search and ranking logic, and exposes torrent source URLs in the admin UI.
This commit is contained in:
@@ -24,11 +24,12 @@ Indexer aggregator for searching multiple torrent/usenet indexers simultaneously
|
||||
**Extended Search:** Enabled (`extended=1`) - searches title, tags, labels, and metadata fields
|
||||
|
||||
**Result Filtering:**
|
||||
- Minimum score threshold: 30/100
|
||||
- Minimum score threshold: 50/100
|
||||
- Filters applied after ranking to remove poor matches
|
||||
- Ensures at least basic title/author match quality
|
||||
- maxResults: 100 (increased from 50 for broader search)
|
||||
|
||||
**Example:** "Season of Storms" → finds all "Season of Storms" torrents → ranks by author match → filters score < 30
|
||||
**Example:** "Season of Storms" → finds all "Season of Storms" torrents → ranks by author match → filters score < 50
|
||||
|
||||
```typescript
|
||||
interface TorrentResult {
|
||||
@@ -66,15 +67,17 @@ interface TorrentResult {
|
||||
**Manual Search** (`POST /api/requests/{id}/manual-search`)
|
||||
- Triggers automatic search job for requests with status: pending, failed, awaiting_search
|
||||
- Searches only enabled indexers (title only, maxResults: 100)
|
||||
- Ranks all results, filters scores < 30
|
||||
- Ranks all results, filters scores < 50
|
||||
- Selects best torrent from filtered results
|
||||
- Updates request status to 'pending'
|
||||
|
||||
**Interactive Search** (`POST /api/requests/{id}/interactive-search`)
|
||||
- Returns ranked torrent results for user selection
|
||||
- Searches only enabled indexers (title only, maxResults: 100)
|
||||
- Ranks all results, filters scores < 30
|
||||
- Searches only enabled indexers (title only or custom, maxResults: 100)
|
||||
- Accepts optional custom search title in request body
|
||||
- Ranks all results, filters scores < 50
|
||||
- Shows table with: rank, title, size, quality score, seeders, indexer, publish date
|
||||
- Editable title field allows search refinement
|
||||
- Available for same statuses as manual search
|
||||
- User clicks "Download" button to select specific torrent
|
||||
|
||||
|
||||
Reference in New Issue
Block a user