From a6a093398d9ae34bc95abe2a3a9577fb9b36443a Mon Sep 17 00:00:00 2001 From: ExLei <128250493+ExLei@users.noreply.github.com> Date: Sun, 5 Jul 2026 21:41:07 +0800 Subject: [PATCH 1/4] fluxdown: Add version 0.1.55 - Free, blazing-fast multi-protocol download manager (IDM alternative) - Powered by Rust engine, supports HTTP/HTTPS/FTP/BitTorrent/HLS - x64 + arm64 portable install with Start Menu shortcut - Persist: flux_down.db, bt_session, settings.json, logs - Autoupdate with SHA256SUMS hash extraction - AGPL-3.0-only Closes #17922 --- bucket/fluxdown.json | 78 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 bucket/fluxdown.json diff --git a/bucket/fluxdown.json b/bucket/fluxdown.json new file mode 100644 index 00000000000000..ffc611ac950159 --- /dev/null +++ b/bucket/fluxdown.json @@ -0,0 +1,78 @@ +{ + "version": "0.1.55", + "description": "Free, blazing-fast multi-protocol download manager (IDM alternative) powered by a Rust engine. Supports HTTP/HTTPS/FTP/BitTorrent/HLS with intelligent segmentation.", + "homepage": "https://fluxdown.zerx.dev", + "license": { + "identifier": "AGPL-3.0-only", + "url": "https://github.com/zerx-lab/FluxDown/blob/main/LICENSE" + }, + "notes": [ + "FluxDown portable data persistence:", + " - Built-in portable mode: runtime data stored in the app directory", + " - Download history and config persisted via flux_down.db (SQLite)", + " - BT session state (fast-resume) persisted via bt_session/", + " - UI settings (window state, theme, locale) persisted via settings.json", + " - Application logs persisted via logs/", + " - All data is preserved across updates", + "", + "Browser extensions (required for download interception):", + " Chrome: https://chromewebstore.google.com/detail/fluxdown/meleenglfggcmcajknpeeeiobnpfmahc", + " Firefox: https://addons.mozilla.org/firefox/addon/fluxdown", + " Edge: https://microsoftedge.microsoft.com/addons/detail/fluxdown/nglkkjbogjghekbhhcnccnpfedjbdhhd" + ], + "architecture": { + "64bit": { + "url": "https://github.com/zerx-lab/FluxDown/releases/download/v0.1.55/FluxDown-0.1.55-windows-x64-portable.zip", + "hash": "4dfd497a4e9901dda9179a19e1857f5b6c97bcb8651f3b2041c7ec8fd7f17798" + }, + "arm64": { + "url": "https://github.com/zerx-lab/FluxDown/releases/download/v0.1.55/FluxDown-0.1.55-windows-arm64-portable.zip", + "hash": "3fd9d54ca258df1ccb217d3fa5f14d55e61dd7408a5cb4447af1d342c8b1d047" + } + }, + "pre_install": "if (!(Test-Path \"$dir\\flux_down.db\")) { New-Item -ItemType File \"$dir\\flux_down.db\" -Force | Out-Null }", + "post_install": "if (!(Test-Path \"$dir\\settings.json\")) { New-Item -ItemType File \"$dir\\settings.json\" -Force | Out-Null }", + "bin": "flux_down.exe", + "shortcuts": [ + [ + "flux_down.exe", + "FluxDown" + ] + ], + "persist": [ + "flux_down.db", + "bt_session", + "settings.json", + "logs" + ], + "uninstaller": { + "script": [ + "Stop-Process -Name flux_down -Force -ErrorAction SilentlyContinue", + "Start-Sleep -Milliseconds 1500", + "$appDir = Split-Path $dir -Parent", + "$shell = New-Object -ComObject WScript.Shell", + "@(\"$env:APPDATA\", \"$env:ProgramData\") | ForEach-Object {", + " $lnk = \"$_\\Microsoft\\Windows\\Start Menu\\Programs\\FluxDown.lnk\"", + " if ((Test-Path $lnk) -and ($shell.CreateShortcut($lnk).TargetPath -like \"$appDir\\*\")) {", + " Remove-Item $lnk -Force -ErrorAction SilentlyContinue", + " }", + "}" + ] + }, + "checkver": { + "github": "https://github.com/zerx-lab/FluxDown" + }, + "autoupdate": { + "architecture": { + "64bit": { + "url": "https://github.com/zerx-lab/FluxDown/releases/download/v$version/FluxDown-$version-windows-x64-portable.zip" + }, + "arm64": { + "url": "https://github.com/zerx-lab/FluxDown/releases/download/v$version/FluxDown-$version-windows-arm64-portable.zip" + } + }, + "hash": { + "url": "https://github.com/zerx-lab/FluxDown/releases/download/v$version/SHA256SUMS.txt" + } + } +} From f58c61071c3e78cf0f0dcf7e76f58d4889e3f973 Mon Sep 17 00:00:00 2001 From: ExLei <128250493+ExLei@users.noreply.github.com> Date: Wed, 15 Jul 2026 21:31:55 +0800 Subject: [PATCH 2/4] fluxdown: Apply review feedback and simplify persist - Shorten description per z-Fng's suggestion - Remove bin (flux_down.exe is GUI-only) - Remove uninstaller (shortcuts managed by Scoop; no Stop-Process) - Use $baseurl in autoupdate hash URL per z-Fng's suggestion - Keep original pre_install/persist from author's working bucket - Add CLI download note with $version --- bucket/fluxdown.json | 30 ++++++++++-------------------- 1 file changed, 10 insertions(+), 20 deletions(-) diff --git a/bucket/fluxdown.json b/bucket/fluxdown.json index ffc611ac950159..856b34f5824a15 100644 --- a/bucket/fluxdown.json +++ b/bucket/fluxdown.json @@ -1,6 +1,6 @@ { "version": "0.1.55", - "description": "Free, blazing-fast multi-protocol download manager (IDM alternative) powered by a Rust engine. Supports HTTP/HTTPS/FTP/BitTorrent/HLS with intelligent segmentation.", + "description": "A Rust-powered download manager with HTTP, FTP, BitTorrent and HLS/DASH streaming support.", "homepage": "https://fluxdown.zerx.dev", "license": { "identifier": "AGPL-3.0-only", @@ -18,7 +18,10 @@ "Browser extensions (required for download interception):", " Chrome: https://chromewebstore.google.com/detail/fluxdown/meleenglfggcmcajknpeeeiobnpfmahc", " Firefox: https://addons.mozilla.org/firefox/addon/fluxdown", - " Edge: https://microsoftedge.microsoft.com/addons/detail/fluxdown/nglkkjbogjghekbhhcnccnpfedjbdhhd" + " Edge: https://microsoftedge.microsoft.com/addons/detail/fluxdown/nglkkjbogjghekbhhcnccnpfedjbdhhd", + "", + "Command-line client:", + " https://github.com/zerx-lab/FluxDown/releases/tag/cli-v$version" ], "architecture": { "64bit": { @@ -30,9 +33,10 @@ "hash": "3fd9d54ca258df1ccb217d3fa5f14d55e61dd7408a5cb4447af1d342c8b1d047" } }, - "pre_install": "if (!(Test-Path \"$dir\\flux_down.db\")) { New-Item -ItemType File \"$dir\\flux_down.db\" -Force | Out-Null }", - "post_install": "if (!(Test-Path \"$dir\\settings.json\")) { New-Item -ItemType File \"$dir\\settings.json\" -Force | Out-Null }", - "bin": "flux_down.exe", + "pre_install": [ + "if (!(Test-Path \"$dir\\flux_down.db\")) { New-Item -ItemType File \"$dir\\flux_down.db\" -Force | Out-Null }", + "if (!(Test-Path \"$dir\\settings.json\")) { Set-Content \"$dir\\settings.json\" '{}' -Encoding UTF8 }" + ], "shortcuts": [ [ "flux_down.exe", @@ -45,20 +49,6 @@ "settings.json", "logs" ], - "uninstaller": { - "script": [ - "Stop-Process -Name flux_down -Force -ErrorAction SilentlyContinue", - "Start-Sleep -Milliseconds 1500", - "$appDir = Split-Path $dir -Parent", - "$shell = New-Object -ComObject WScript.Shell", - "@(\"$env:APPDATA\", \"$env:ProgramData\") | ForEach-Object {", - " $lnk = \"$_\\Microsoft\\Windows\\Start Menu\\Programs\\FluxDown.lnk\"", - " if ((Test-Path $lnk) -and ($shell.CreateShortcut($lnk).TargetPath -like \"$appDir\\*\")) {", - " Remove-Item $lnk -Force -ErrorAction SilentlyContinue", - " }", - "}" - ] - }, "checkver": { "github": "https://github.com/zerx-lab/FluxDown" }, @@ -72,7 +62,7 @@ } }, "hash": { - "url": "https://github.com/zerx-lab/FluxDown/releases/download/v$version/SHA256SUMS.txt" + "url": "$baseurl/SHA256SUMS.txt" } } } From 9e9b2b2ad3b1fbf4cbbb3151a27aa65ab7f651e2 Mon Sep 17 00:00:00 2001 From: ExLei <128250493+ExLei@users.noreply.github.com> Date: Wed, 15 Jul 2026 21:38:47 +0800 Subject: [PATCH 3/4] fluxdown: Update to version 0.2.1 --- bucket/fluxdown.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/bucket/fluxdown.json b/bucket/fluxdown.json index 856b34f5824a15..4be0d6b42d7b32 100644 --- a/bucket/fluxdown.json +++ b/bucket/fluxdown.json @@ -1,5 +1,5 @@ { - "version": "0.1.55", + "version": "0.2.1", "description": "A Rust-powered download manager with HTTP, FTP, BitTorrent and HLS/DASH streaming support.", "homepage": "https://fluxdown.zerx.dev", "license": { @@ -25,12 +25,12 @@ ], "architecture": { "64bit": { - "url": "https://github.com/zerx-lab/FluxDown/releases/download/v0.1.55/FluxDown-0.1.55-windows-x64-portable.zip", - "hash": "4dfd497a4e9901dda9179a19e1857f5b6c97bcb8651f3b2041c7ec8fd7f17798" + "url": "https://github.com/zerx-lab/FluxDown/releases/download/v0.2.1/FluxDown-0.2.1-windows-x64-portable.zip", + "hash": "4ed7a96a64d84b2dff298a826b4c3754b57680c2309eef616cecd90030ee3508" }, "arm64": { - "url": "https://github.com/zerx-lab/FluxDown/releases/download/v0.1.55/FluxDown-0.1.55-windows-arm64-portable.zip", - "hash": "3fd9d54ca258df1ccb217d3fa5f14d55e61dd7408a5cb4447af1d342c8b1d047" + "url": "https://github.com/zerx-lab/FluxDown/releases/download/v0.2.1/FluxDown-0.2.1-windows-arm64-portable.zip", + "hash": "f4befd9db25a83d743b717cafd979c64c084b8a8074e26e3aee6cec569ddef75" } }, "pre_install": [ From 0985f9f106a6850aabdfa95616b7aa4d3b7872e9 Mon Sep 17 00:00:00 2001 From: ExLei <128250493+ExLei@users.noreply.github.com> Date: Thu, 16 Jul 2026 02:20:47 +0800 Subject: [PATCH 4/4] fluxdown: prepare persist for portable_data migration (refs #91) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit FluxDown v0.3+ moves portable runtime data from exe root into portable_data/ subdirectory (zerx-lab/FluxDown#91). - persist: add portable_data/ so Scoop hardlinks the new data directory - pre_install: create portable_data/ dir first so persist step handles it as a directory junction - notes: update all data path references to portable_data/ prefix Old root-level persist items (flux_down.db, bt_session, settings.json, logs) are kept for seamless 0.2.x→0.3.0 upgrades: the app's built-in migration code rename()s existing hardlinks from root into portable_data/ on first launch. They can be removed in a follow-up once users have upgraded. --- bucket/fluxdown.json | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/bucket/fluxdown.json b/bucket/fluxdown.json index 4be0d6b42d7b32..f64533deeae8e7 100644 --- a/bucket/fluxdown.json +++ b/bucket/fluxdown.json @@ -8,11 +8,11 @@ }, "notes": [ "FluxDown portable data persistence:", - " - Built-in portable mode: runtime data stored in the app directory", - " - Download history and config persisted via flux_down.db (SQLite)", - " - BT session state (fast-resume) persisted via bt_session/", - " - UI settings (window state, theme, locale) persisted via settings.json", - " - Application logs persisted via logs/", + " - Built-in portable mode: runtime data stored in portable_data/ subdirectory", + " - Download history and config persisted via portable_data/flux_down.db (SQLite)", + " - BT session state (fast-resume) persisted via portable_data/bt_session/", + " - UI settings (window state, theme, locale) persisted via portable_data/settings.json", + " - Application logs persisted via portable_data/logs/", " - All data is preserved across updates", "", "Browser extensions (required for download interception):", @@ -34,6 +34,7 @@ } }, "pre_install": [ + "if (!(Test-Path \"$dir\\portable_data\")) { New-Item -ItemType Directory \"$dir\\portable_data\" -Force | Out-Null }", "if (!(Test-Path \"$dir\\flux_down.db\")) { New-Item -ItemType File \"$dir\\flux_down.db\" -Force | Out-Null }", "if (!(Test-Path \"$dir\\settings.json\")) { Set-Content \"$dir\\settings.json\" '{}' -Encoding UTF8 }" ], @@ -47,7 +48,8 @@ "flux_down.db", "bt_session", "settings.json", - "logs" + "logs", + "portable_data" ], "checkver": { "github": "https://github.com/zerx-lab/FluxDown"