Levi
b88144c864
Merge PR #1517 into 2.0.0-beta.2
...
# Conflicts:
# go.mod
2026-09-15 22:51:56 +08:00
Levi
07356033f9
Merge PR #1515 into 2.0.0-beta.2
2026-09-15 22:51:41 +08:00
Levi
4fd1939732
fix(ffmpeg): reserve capacity before creating media inputs
2026-09-15 10:08:29 +08:00
Levi
d642ae5018
Remove extension WebView data during uninstall
2026-09-14 10:11:53 +08:00
sun
4f74101b3a
feat(hls): add native HLS (m3u8) download protocol
...
New hls protocol in internal/protocol/hls (registered ahead of http):
- master playlist variant picking (highest bandwidth), RFC3986 segment
URL resolution, fMP4 init segments, EXT-X-BYTERANGE, EXT-X-GAP skip
- AES-128 decryption with mid-playlist key rotation and sequence-derived
IVs; explicit errors for live streams, SAMPLE-AES and multi-period fMP4
- concurrent segment downloads with retry, journal-based resume across
pause/app restarts, automatic in-order merge into a single .ts/.mp4
- best-effort Content-Length probing for determinate progress
- anti-hotlink Referer/Cookie/UA via task extra headers (Go transport
does not filter them)
Core: fix SchemeFilter extension match for URLs with query strings
(also benefits .torrent links); Flutter: Protocol.hls enum, hls protocol
config model (prevents config round-trip wipe) and HLS settings block
with localized labels in all 22 locales.
Tests: parser/crypto unit tests, httptest e2e (Referer-enforced CDN,
encrypted streams, byterange, pause/resume, store/restore) and an
opt-in live-site acceptance gate (HLS_LIVE_URL).
2026-09-14 09:55:31 +08:00
Levi
a0e84a75b1
Isolate extension WebView profiles and follow host proxy settings
2026-09-14 00:30:52 +08:00
Levi
5d83e91ce5
fix(stream): bound FFmpeg memory buffers and propagate Blob backpressure
2026-09-13 18:24:32 +08:00
Levi
637004c8a8
fix(ffmpeg): use app-writable temporary directory for stream buffers
2026-09-13 18:00:10 +08:00
Levi
9124976b5c
feat(extension): add streaming FFmpeg WASM merge runtime
2026-09-13 15:23:29 +08:00
Levi
177c225f16
feat: new ui ( #1455 )
2026-09-05 19:53:41 +08:00
Levi
9b704f6f14
fix(http): keep Resolve response until Range takeover succeeds ( #1465 )
2026-09-02 23:49:37 +08:00
Levi
59f3aa7028
test: enforce async extension API contract ( #1452 )
2026-08-27 12:51:37 +08:00
Levi
cfdf87c3b8
feat: HTTP add TLS fingerprint fallback ( #1444 )
2026-08-20 20:21:02 +08:00
Levi
fdfc6902a7
feat: enhance extension API ( #1413 )
2026-07-14 20:52:21 +08:00
Levi
9fb3758203
feat: replace gblob with blob http transport ( #1407 )
2026-07-14 20:05:33 +08:00
Levi
def54f8998
feat: add WebView support for extension ( #1359 )
2026-04-24 22:16:33 +08:00
Levi
a205c0b8d7
feat: add gblob scheme support for extension ( #1358 )
2026-04-19 19:15:48 +08:00
Wang YiJia
3d20e818e5
fix: add IsCreated flag to reliably track task creation state ( #1314 )
2026-03-18 18:35:39 +08:00
Levi
09f7c88ed3
feat: ed2k protocol support ( #1316 )
2026-03-17 19:42:16 +08:00
Copilot
1b1631b41a
feat: support post-task script hooks ( #1265 )
2026-02-08 18:40:06 +08:00
Levi
3eb6df55df
feat: implement task patching functionality ( #1267 )
2026-02-06 23:42:57 +08:00
Copilot
4c90b38247
fix: gbk filename encoding in ZIP extraction ( #1260 )
2026-01-29 22:37:12 +08:00
Copilot
7b840b4261
feat: add config for auto-torrent ( #1219 )
2026-01-22 22:18:34 +08:00
Locon213
8d33e1a5b3
feat: add automatic cleanup options for completed torrents and missing files ( #1243 )
2026-01-22 09:32:14 +08:00
Copilot
bad7f1d06c
fix: filesystem error when creating long filename ( #1240 )
2026-01-21 23:12:38 +08:00
Levi
af1c8b2719
feat: enhance deep link handling for install extensions ( #1249 )
2026-01-21 20:23:04 +08:00
Levi
c9626cb389
perf: slow down DHT announcing on errors ( #1186 )
2026-01-14 20:04:21 +08:00
Levi
a9eee26be7
refactor: fethcer interface & download flow ( #1229 )
2026-01-08 21:50:47 +08:00
Matteo Pietro Dazzi
24db9bb58b
feat: queue extractions ( #1227 )
2026-01-05 15:53:19 +08:00
Matteo Pietro Dazzi
de0afb1481
feat: multipart-archives ( #1222 )
2026-01-01 19:09:22 +08:00
Matteo Pietro Dazzi
b0e133b554
feat: show extraction progress ( #1217 )
2025-12-31 09:25:21 +08:00
Matteo Pietro Dazzi
0d5c4e8e7f
feat: auto extract archives ( #1212 )
2025-12-29 17:27:49 +08:00
Copilot
49b4d99b5e
feat: add download directory placeholders, category support ( #1188 )
2025-11-27 18:39:08 +08:00
Copilot
9d9f1caaaa
feat: support webhook ( #1187 )
2025-11-25 23:34:45 +08:00
Levi
90f70d1bf6
feat: isolate TLS fingerprint for each extension lifecycle ( #1135 )
2025-10-09 20:37:21 +08:00
Levi
d33546a4b5
fix: update deleteAll method to accept force parameter ( #1127 )
2025-09-29 19:41:48 +08:00
Levi
7ce0d876b0
feat: add environment variables configuration support ( #1088 )
2025-08-28 08:21:02 +08:00
Levi
2927d1ef2b
feat(extension): TLS fingerprinting support in xhr ( #1054 )
2025-07-15 23:54:51 +08:00
Levi
d289708f9e
feat: use batch download api for create multitasks ( #978 )
2025-04-05 22:57:17 +08:00
Levi
50bc9ab129
feat: improve http download strategy to prevent speed drops near completion ( #969 )
2025-04-05 22:20:35 +08:00
Levi
f4b839fd11
fix: http download size exceeds file size ( #959 )
2025-03-14 20:07:34 +08:00
Levi
edd189a8a8
fix: failed to delete a running task ( #852 )
2024-12-24 22:23:20 +08:00
Levi
8b61343aef
fix: extension task missing fields ( #850 )
2024-12-23 01:58:29 +08:00
Levi
2cb93a03e2
perf: extension onStart hook will block task create ( #844 )
2024-12-21 09:58:33 +08:00
Levi
427921ccab
perf: write to disk only when progress updated ( #839 )
2024-12-09 20:29:50 +08:00
Levi
f4876c8a0e
fix: HTTP fetch crash when modified request extra via extension ( #832 )
2024-12-08 12:07:08 +08:00
Levi
203385d3f8
fix: use golang 1.23 standard library to collect crash logs ( #807 )
2024-11-14 00:54:34 +08:00
Levi
bdb8ed177f
feat: supports batch operation of tasks by filter ( #753 )
2024-09-21 10:19:52 +08:00
Levi
2dc7048cba
feat: support download directory white list ( #752 )
2024-09-20 21:32:21 +08:00
Levi
51244133e0
feat: support extension onDone event ( #728 )
2024-09-07 10:10:39 +08:00