Skip to content

Commit a13b69f

Browse files
committed
feat(extension): popup UI 重构与任务面板实现
- Popup 顶部新增三栏 Tab(任务 / 资源 / 设置),支持任务列表轮询展示 - 背景脚本新增 periodic alarm 轮询机制,仅活跃任务时运行 - 原生消息处理扩展(nmhListTasks / nmhTaskOp / nmhOpenFile 等) - Options 页面移入拦截模式 / 最小文件大小 / 排除域名 / 今日统计重置 - Popup 布局调整(最大高度 640px,任务区内部滚动) - 国际化文案补全(中英双语任务/资源/设置标签与说明)
1 parent 4106cc6 commit a13b69f

21 files changed

Lines changed: 3822 additions & 1007 deletions

File tree

.github/workflows/release.yml

Lines changed: 77 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1262,6 +1262,77 @@ jobs:
12621262
name: server-bin-${{ matrix.platform }}
12631263
path: release-assets/*
12641264

1265+
# ── 并行 Job 5c': NAS/软路由包(OpenWrt ipk + QNAP qpkg,复用 linux musl 静态产物)──
1266+
# ipk 纯脚本手打(packaging/openwrt/build_ipk.sh,无需 OpenWrt SDK);
1267+
# qpkg 用官方 QDK qbuild(packaging/qnap/build_qpkg.sh)。
1268+
# 不跑 InstallToUbuntu.sh(其 apt 依赖列表含 ubuntu 24.04 已不存在的 `python` 包),手动装 QDK。
1269+
# 产物名带 server-bin- 前缀 → release-server 的 download pattern 自动收集附到 Server Release。
1270+
build-server-nas-packages:
1271+
name: Build Server (OpenWrt/QNAP packages)
1272+
needs: [changes, build-server-binaries]
1273+
if: needs.changes.outputs.server == 'true'
1274+
runs-on: ubuntu-latest
1275+
1276+
steps:
1277+
- name: Checkout repository
1278+
uses: actions/checkout@v4
1279+
1280+
- name: Get version from tag
1281+
id: version
1282+
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> "$GITHUB_OUTPUT"
1283+
1284+
- name: Download linux server tarballs
1285+
uses: actions/download-artifact@v4
1286+
with:
1287+
pattern: server-bin-linux-*
1288+
path: tarballs/
1289+
merge-multiple: true
1290+
1291+
- name: Extract binaries and webroot
1292+
run: |
1293+
VERSION=${{ steps.version.outputs.VERSION }}
1294+
mkdir -p extracted
1295+
tar -C extracted -xzf "tarballs/FluxDown-Server-${VERSION}-linux-x64.tar.gz"
1296+
tar -C extracted -xzf "tarballs/FluxDown-Server-${VERSION}-linux-arm64.tar.gz"
1297+
1298+
- name: Install QDK and imagemagick
1299+
run: |
1300+
sudo apt-get update && sudo apt-get install -y imagemagick build-essential rsync
1301+
git clone --depth 1 https://github.com/qnap-dev/QDK.git /tmp/QDK
1302+
make -C /tmp/QDK/src
1303+
sudo cp /tmp/QDK/src/bin/qpkg_encrypt /bin/
1304+
sudo cp -rf /tmp/QDK/shared /usr/share/QDK
1305+
sudo mkdir -p /etc/config
1306+
sed -e '2d' /tmp/QDK/shared/qdk.conf | sudo tee /etc/config/qdk.conf > /dev/null
1307+
sudo sed -i '2iQDK_PATH_P=/usr/share' /etc/config/qdk.conf
1308+
echo "/usr/share/QDK/bin" >> "$GITHUB_PATH"
1309+
1310+
- name: Build OpenWrt ipk
1311+
run: |
1312+
VERSION=${{ steps.version.outputs.VERSION }}
1313+
X64="extracted/fluxdown-server-${VERSION}-linux-x64"
1314+
A64="extracted/fluxdown-server-${VERSION}-linux-arm64"
1315+
./packaging/openwrt/build_ipk.sh server "$VERSION" "$X64/fluxdown-server" "$X64/web" x86_64 release-assets
1316+
./packaging/openwrt/build_ipk.sh server "$VERSION" "$A64/fluxdown-server" "$A64/web" \
1317+
aarch64_generic,aarch64_cortex-a53,aarch64_cortex-a72,aarch64_cortex-a76 release-assets
1318+
./packaging/openwrt/build_ipk.sh luci "$VERSION" release-assets
1319+
1320+
- name: Build QNAP qpkg
1321+
run: |
1322+
VERSION=${{ steps.version.outputs.VERSION }}
1323+
X64="extracted/fluxdown-server-${VERSION}-linux-x64"
1324+
A64="extracted/fluxdown-server-${VERSION}-linux-arm64"
1325+
./packaging/qnap/build_qpkg.sh "$VERSION" x86_64 "$X64/fluxdown-server" "$X64/web" \
1326+
"release-assets/FluxDown-Server-${VERSION}-qnap-x64.qpkg"
1327+
./packaging/qnap/build_qpkg.sh "$VERSION" arm_64 "$A64/fluxdown-server" "$A64/web" \
1328+
"release-assets/FluxDown-Server-${VERSION}-qnap-arm64.qpkg"
1329+
1330+
- name: Upload package artifacts
1331+
uses: actions/upload-artifact@v4
1332+
with:
1333+
name: server-bin-nas-packages
1334+
path: release-assets/*
1335+
12651336
# ── 并行 Job: 构建 CLI 二进制(fluxdown,6 平台)──
12661337
# 与 build-server-binaries 同套 runner/target 策略(全原生 runner 规避 C 依赖交叉编译):
12671338
# linux → musl 静态链接(零 glibc 依赖)
@@ -1654,7 +1725,7 @@ jobs:
16541725
release-server:
16551726
name: Release Server
16561727
runs-on: ubuntu-latest
1657-
needs: [build-server-docker, build-server-binaries]
1728+
needs: [build-server-docker, build-server-binaries, build-server-nas-packages]
16581729

16591730
steps:
16601731
- name: Checkout repository
@@ -1752,10 +1823,15 @@ jobs:
17521823
| Windows x64 / ARM64 | \`FluxDown-Server-${VERSION}-windows-{x64,arm64}.zip\` |
17531824
| macOS Intel / Apple Silicon | \`FluxDown-Server-${VERSION}-macos-{x64,arm64}.tar.gz\` |
17541825
| Linux x64 / ARM64(musl 静态链接,任意发行版可用) | \`FluxDown-Server-${VERSION}-linux-{x64,arm64}.tar.gz\` |
1826+
| OpenWrt 软路由(x86_64 / aarch64 各子架构) | \`fluxdown-server_${VERSION}_<arch>.ipk\` + \`luci-app-fluxdown_${VERSION}_all.ipk\` |
1827+
| QNAP NAS(QTS x86_64 / ARM64) | \`FluxDown-Server-${VERSION}-qnap-{x64,arm64}.qpkg\` |
17551828
17561829
解压后直接运行 \`fluxdown-server\`(Windows 为 \`fluxdown-server.exe\`),浏览器访问 \`http://127.0.0.1:17800\`。
17571830
首次启动会在终端打印管理 token,务必保存。文件校验见 \`SHA256SUMS.txt\`。
17581831
1832+
**OpenWrt**:\`opkg install fluxdown-server_*.ipk luci-app-fluxdown_*.ipk\`,LuCI「服务 → FluxDown」页管理,Web 界面在 \`http://路由器IP:17800\`。二进制含完整 Web UI(约 20MB+),需 overlay 空间充足的软路由设备。
1833+
**QNAP**:App Center → 手动安装 \`.qpkg\`(需在设置中允许安装未经验证的应用),装完点应用图标直达 Web 界面。
1834+
17591835
## 🐳 Docker(linux/amd64 · linux/arm64)
17601836
17611837
\`\`\`bash

0 commit comments

Comments
 (0)