655 Commits
Author SHA1 Message Date
Sucukdeluxe d9276479e5 Release v1.7.2 v1.7.2 2026-03-07 03:58:27 +01:00
Sucukdeluxe 3c37cdba85 Add account column reset button v1.7.1 2026-03-07 03:56:54 +01:00
Sucukdeluxe 7737a4b0da Release v1.7.1 2026-03-07 03:52:41 +01:00
Sucukdeluxe 576be53b83 Release v1.7.0 v1.7.0 2026-03-07 02:36:41 +01:00
SucukdeluxeandClaude Opus 4.6 72936b7c6b Compact provider labels in package account column
Multiple accounts from the same provider are now merged:
"Debrid-Link (#3), Debrid-Link (#4)" becomes "Debrid-Link (#3 + #4)"

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 02:35:23 +01:00
Sucukdeluxe 541860db0a Release v1.6.99 v1.6.99 2026-03-07 02:31:09 +01:00
SucukdeluxeandClaude Opus 4.6 dd4264a936 Fix remaining broken umlauts in main.ts and debrid.ts
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 02:30:26 +01:00
SucukdeluxeandClaude Opus 4.6 e212ccc86f Add daily traffic limits, auto-sort packages, Debrid-Link multi-key improvements
Daily traffic limits:
- Per-provider daily download limit (configurable in GB per provider)
- Per Debrid-Link API key daily limit (individual limits per key)
- Usage tracking with automatic daily reset at midnight
- Provider is skipped when daily limit reached, falls back to next provider
- Reset button per provider and per Debrid-Link key in account settings
- Hoster routing skips daily-limited providers gracefully

Debrid-Link multi-key improvements:
- Keys now display with labels (#1, #2...) and masked tokens in account list
- Option to show detailed per-key view with individual usage stats
- Keys that hit their daily limit are automatically skipped
- providerAccountId/providerAccountLabel stored per download item

Auto-sort packages by progress:
- Active packages automatically sorted to top during downloads
- Sorted by completion ratio, then downloaded bytes
- Toggle in settings (autoSortPackagesByProgress)

UI polish:
- Package column headers: flatter, more transparent design
- LinkSnappy mode label: "Login" renamed to "Web"
- Account list: new toggle for detailed Debrid-Link key display
- Account usage stats section with warning styling

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 02:29:48 +01:00
SucukdeluxeandClaude Opus 4.6 71b3612e82 Fix LinkSnappy mode label from "Login" to "Web"
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 02:26:54 +01:00
SucukdeluxeandClaude Opus 4.6 8e1a117cbb Fix broken German umlauts in UI (142 occurrences)
All ? placeholders in App.tsx replaced with correct UTF-8 umlauts
(ä, ö, ü, ß). File is now properly encoded as UTF-8.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 02:23:50 +01:00
Sucukdeluxe 01b6ef7bdd Release v1.6.98 v1.6.98 2026-03-07 00:59:59 +01:00
Sucukdeluxe 68a05f2a21 Fix account settings save normalization 2026-03-07 00:55:39 +01:00
Sucukdeluxe fba05d2add Release v1.6.97 v1.6.97 2026-03-07 00:39:03 +01:00
SucukdeluxeandClaude Sonnet 4.6 1cbda1350e Fix absolute archive paths, show provider account number in UI
- extractor: detect UnRAR "Cannot create...\..." error (archive with
  leading-backslash internal paths) and retry in flat mode (-e) which
  strips all paths and avoids the invalid double-separator on Windows
- types/download-manager: add providerLabel field to DownloadItem,
  store full label (e.g. "Debrid-Link #1") set at unrestrict time
- App: display providerLabel in Service column (falls back to generic
  provider name if label not yet set)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-07 00:38:34 +01:00
Sucukdeluxe 3e2d70485c Release v1.6.96 v1.6.96 2026-03-07 00:21:40 +01:00
SucukdeluxeandClaude Sonnet 4.6 3287504618 Fix invalid path when package name contains forward slash
sanitizeFilename() is now applied before constructing outputDir and
extractDir, so names like "TMSF/4SF" no longer produce broken Windows paths.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-07 00:21:14 +01:00
Sucukdeluxe 7141579289 Release v1.6.95 v1.6.95 2026-03-07 00:04:02 +01:00
SucukdeluxeandClaude Sonnet 4.6 dfc5d73105 Fix disk-fallback extraction triggering with incomplete archive parts
When a pending item has neither targetPath nor fileName (e.g. after a
reset before re-unrestrict), it is invisible to pendingItemStatus and
the disk-fallback could incorrectly start extraction with a partial file.
Add a guard that skips disk-fallback for any archive set if the package
contains such an untracked pending item.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-07 00:03:31 +01:00
Sucukdeluxe 33658503a8 Release v1.6.94 v1.6.94 2026-03-06 23:52:38 +01:00
SucukdeluxeandClaude Sonnet 4.6 9d374b97cf Fix provider order/routing respecting on restart, schedule timer on manual start
- Clear item.provider on stop/restart so provider order/routing changes
  are respected on next download attempt
- Reset item.provider for all non-completed items when providerOrder or
  hosterRouting changes in settings
- Cancel scheduled-start timer when queue is started manually
- Track disk-fallback hybrid-extract archives per session to prevent
  infinite post-processing loop

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-06 23:52:09 +01:00
Sucukdeluxe 9dd5d4eef8 Release v1.6.93 v1.6.93 2026-03-06 23:06:35 +01:00
Sucukdeluxe 905b55e7d8 fix: provider fallback on cooldown, hoster routing dirty flag, provider order in DM 2026-03-06 23:06:05 +01:00
Sucukdeluxe 0c9bbb0153 fix: release script idempotent recovery when tag already exists 2026-03-06 22:56:30 +01:00
Sucukdeluxe 9bbeffb2df Release v1.6.92 v1.6.92 2026-03-06 22:53:50 +01:00
Sucukdeluxe 2e6074337a feat: re-download from history, reset-all-failed, scheduled start, fix provider order dirty flag 2026-03-06 22:53:20 +01:00
Sucukdeluxe 6d6453dc4b Release v1.6.91 v1.6.91 2026-03-06 22:18:19 +01:00
SucukdeluxeandClaude Opus 4.6 716b516900 feat: dynamic provider order, hoster routing, MKV sample fix
- Replace fixed primary/secondary/tertiary slots with unlimited ordered
  providerOrder: DebridProvider[] list; supports as many accounts as needed
- Provider list reorderable via up/down buttons in Accounts settings tab
- Migration: derives order from legacy primary/secondary/tertiary if empty
- Mega-Debrid split into megadebrid-api and megadebrid-web as separate providers
- Add per-hoster routing (hosterRouting) to assign specific debrid provider per hoster
- Fix duplicate MKV files in library: filter out sample files from Sample subfolders
- Remove legacy provider-selection dropdowns from hidden settings section
- Add CSS for provider-order-list/row/num/label/actions classes
- Update debrid tests: add providerOrder: [] to use legacy fallback path

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 22:17:44 +01:00
Sucukdeluxe 0003d786d8 Release v1.6.90 v1.6.90 2026-03-06 20:43:15 +01:00
Sucukdeluxe 0eb3403e40 Release v1.6.89 v1.6.89 2026-03-06 20:19:17 +01:00
Sucukdeluxe 272b43d59e Release v1.6.88 v1.6.88 2026-03-06 20:05:53 +01:00
Sucukdeluxe 74d9047f4c Release v1.6.87 v1.6.87 2026-03-06 19:33:59 +01:00
SucukdeluxeandClaude Opus 4.6 06e649ba5b fix: skip sample MKVs during library collection
MKV library collection now filters out sample files before moving.
Files in "sample"/"samples" directories and files with "sample" in
their name are excluded. This prevents duplicate "(2)" entries in
the library folder caused by samples having the same base name as
the real episodes (just different casing from the archive).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 19:33:15 +01:00
Sucukdeluxe 977a5c4175 Release v1.6.86 v1.6.86 2026-03-06 19:14:52 +01:00
SucukdeluxeandClaude Opus 4.6 c811649b9d feat: add per-hoster provider routing (Hoster-Zuordnung)
- New settings field hosterRouting maps file hosters to specific debrid providers
- 27 known hosters predefined (Rapidgator, Uploaded, Turbobit, Nitroflare, etc.)
- Custom hoster support via prompt dialog
- Routing takes priority over default provider chain
- Falls back to normal chain on error when autoProviderFallback is enabled
- Logs routing decisions: "Hoster-Zuordnung: rapidgator → Debrid-Link"
- Full UI section in settings with add/remove/change provider per hoster
- Storage validation and normalization for hosterRouting

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 19:14:16 +01:00
Sucukdeluxe 9f94404435 Release v1.6.85 v1.6.85 2026-03-06 19:00:50 +01:00
SucukdeluxeandClaude Opus 4.6 22ed37d67c feat: add LinkSnappy provider, account deactivation, UI polish
- Add LinkSnappy provider with cookie-based session auth and /api/linkgen
- Upgrade LinkSnappy download URLs from http to https (fix 425 errors)
- Add account deactivation toggle (disabledProviders in settings)
- Show account type (API/Web/Login) in provider dropdowns
- Show API key count for Debrid-Link in status label
- Fix all missing German umlauts throughout the UI
- Wider modal for textarea, compact action buttons in one row
- Debrid-Link: log which API key (#1/#2) is used for unrestrict

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 19:00:19 +01:00
Sucukdeluxe a41c99e294 Release v1.6.84 v1.6.84 2026-03-06 18:24:05 +01:00
SucukdeluxeandClaude Opus 4.6 af188d96c4 feat: add Debrid-Link provider with multi-account key rotation
- New DebridLinkClient with automatic API key rotation on quota errors
  (maxLink, maxLinkHost, maxData, maxDataHost, maxAttempts, maxTransfer)
- Multi-account support: comma or newline-separated API keys
- Full UI integration: account settings, provider dropdowns, summary display
- Safe fallback for undefined debridLinkApiKeys on settings upgrade

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 18:23:36 +01:00
Sucukdeluxe fac17497f0 Release v1.6.83 v1.6.83 2026-03-06 17:43:26 +01:00
Sucukdeluxe e92cf59d86 Release v1.6.82 v1.6.82 2026-03-06 16:43:49 +01:00
Sucukdeluxe 3cf1bc825e Release v1.6.81 v1.6.81 2026-03-06 12:09:39 +01:00
Sucukdeluxe 359fb93be3 Release v1.6.80 v1.6.80 2026-03-06 12:04:56 +01:00
Sucukdeluxe 67854feeb4 Release v1.6.79 v1.6.79 2026-03-06 11:45:02 +01:00
SucukdeluxeandClaude Opus 4.6 153318274d ♻️ refactor(bestdebrid): switch from browser login to cookie file import
Replace BrowserWindow-based login flow with Netscape cookie file import
for BestDebrid authentication. Cloudflare Turnstile captcha cannot be
solved in Electron's embedded browser, so users export cookies from
their real browser and import them here.

- Rewrite bestdebrid-web.ts: remove BrowserWindow/CDP code, add
  parseNetscapeCookieFile() and importCookiesFromFile()
- Add file picker dialog for .txt cookie files in main IPC handler
- Update IPC channel from OPEN_BESTDEBRID_LOGIN to IMPORT_BESTDEBRID_COOKIES
- Update preload bridge and renderer UI with cookie import button
- Fix pLabel scope in downloadToFile (pass as parameter from processItem)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 11:44:23 +01:00
Sucukdeluxe d776ad589d Release v1.6.78 v1.6.78 2026-03-06 11:36:08 +01:00
SucukdeluxeandClaude Opus 4.6 d6ba5aeae6 🐛 fix(bestdebrid): keep CDP debugger attached until window close
Detaching the debugger before loadURL removed the registered
anti-fingerprint scripts, causing blank pages. Now keep the
debugger attached through page load and detach on window close.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 11:35:45 +01:00
Sucukdeluxe c2bb276c3d Release v1.6.77 v1.6.77 2026-03-06 11:32:51 +01:00
SucukdeluxeandClaude Opus 4.6 df02a04cfd 🐛 fix(bestdebrid): inject CDP anti-fingerprint patches for Cloudflare Turnstile
Use Chrome DevTools Protocol to inject scripts before page load that:
- Set navigator.webdriver to false
- Add fake navigator.plugins
- Set navigator.languages to realistic values
- Add window.chrome runtime stub

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 11:32:28 +01:00
Sucukdeluxe 77240ae18d Release v1.6.76 v1.6.76 2026-03-06 11:29:44 +01:00
SucukdeluxeandClaude Opus 4.6 90c73c4091 🐛 fix(bestdebrid): set user agent on session and webContents level
Cloudflare Turnstile blocks Electron's default user agent. Set a
Chrome user agent on both the session and webContents level so the
login captcha passes correctly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 11:29:15 +01:00