@@ -1265,6 +1265,77 @@ jobs:
12651265 name : server-bin-${{ matrix.platform }}
12661266 path : release-assets/*
12671267
1268+ # ── 并行 Job 5c': NAS/软路由包(OpenWrt ipk + QNAP qpkg,复用 linux musl 静态产物)──
1269+ # ipk 纯脚本手打(packaging/openwrt/build_ipk.sh,无需 OpenWrt SDK);
1270+ # qpkg 用官方 QDK qbuild(packaging/qnap/build_qpkg.sh)。
1271+ # 不跑 InstallToUbuntu.sh(其 apt 依赖列表含 ubuntu 24.04 已不存在的 `python` 包),手动装 QDK。
1272+ # 产物名带 server-bin- 前缀 → release-server 的 download pattern 自动收集附到 Server Release。
1273+ build-server-nas-packages :
1274+ name : Build Server (OpenWrt/QNAP packages)
1275+ needs : [changes, build-server-binaries]
1276+ if : needs.changes.outputs.server == 'true'
1277+ runs-on : ubuntu-latest
1278+
1279+ steps :
1280+ - name : Checkout repository
1281+ uses : actions/checkout@v4
1282+
1283+ - name : Get version from tag
1284+ id : version
1285+ run : echo "VERSION=${GITHUB_REF#refs/tags/v}" >> "$GITHUB_OUTPUT"
1286+
1287+ - name : Download linux server tarballs
1288+ uses : actions/download-artifact@v4
1289+ with :
1290+ pattern : server-bin-linux-*
1291+ path : tarballs/
1292+ merge-multiple : true
1293+
1294+ - name : Extract binaries and webroot
1295+ run : |
1296+ VERSION=${{ steps.version.outputs.VERSION }}
1297+ mkdir -p extracted
1298+ tar -C extracted -xzf "tarballs/FluxDown-Server-${VERSION}-linux-x64.tar.gz"
1299+ tar -C extracted -xzf "tarballs/FluxDown-Server-${VERSION}-linux-arm64.tar.gz"
1300+
1301+ - name : Install QDK and imagemagick
1302+ run : |
1303+ sudo apt-get update && sudo apt-get install -y imagemagick build-essential rsync
1304+ git clone --depth 1 https://github.com/qnap-dev/QDK.git /tmp/QDK
1305+ make -C /tmp/QDK/src
1306+ sudo cp /tmp/QDK/src/bin/qpkg_encrypt /bin/
1307+ sudo cp -rf /tmp/QDK/shared /usr/share/QDK
1308+ sudo mkdir -p /etc/config
1309+ sed -e '2d' /tmp/QDK/shared/qdk.conf | sudo tee /etc/config/qdk.conf > /dev/null
1310+ sudo sed -i '2iQDK_PATH_P=/usr/share' /etc/config/qdk.conf
1311+ echo "/usr/share/QDK/bin" >> "$GITHUB_PATH"
1312+
1313+ - name : Build OpenWrt ipk
1314+ run : |
1315+ VERSION=${{ steps.version.outputs.VERSION }}
1316+ X64="extracted/fluxdown-server-${VERSION}-linux-x64"
1317+ A64="extracted/fluxdown-server-${VERSION}-linux-arm64"
1318+ ./packaging/openwrt/build_ipk.sh server "$VERSION" "$X64/fluxdown-server" "$X64/web" x86_64 release-assets
1319+ ./packaging/openwrt/build_ipk.sh server "$VERSION" "$A64/fluxdown-server" "$A64/web" \
1320+ aarch64_generic,aarch64_cortex-a53,aarch64_cortex-a72,aarch64_cortex-a76 release-assets
1321+ ./packaging/openwrt/build_ipk.sh luci "$VERSION" release-assets
1322+
1323+ - name : Build QNAP qpkg
1324+ run : |
1325+ VERSION=${{ steps.version.outputs.VERSION }}
1326+ X64="extracted/fluxdown-server-${VERSION}-linux-x64"
1327+ A64="extracted/fluxdown-server-${VERSION}-linux-arm64"
1328+ ./packaging/qnap/build_qpkg.sh "$VERSION" x86_64 "$X64/fluxdown-server" "$X64/web" \
1329+ "release-assets/FluxDown-Server-${VERSION}-qnap-x64.qpkg"
1330+ ./packaging/qnap/build_qpkg.sh "$VERSION" arm_64 "$A64/fluxdown-server" "$A64/web" \
1331+ "release-assets/FluxDown-Server-${VERSION}-qnap-arm64.qpkg"
1332+
1333+ - name : Upload package artifacts
1334+ uses : actions/upload-artifact@v4
1335+ with :
1336+ name : server-bin-nas-packages
1337+ path : release-assets/*
1338+
12681339 # ── 并行 Job: 构建 CLI 二进制(fluxdown,6 平台)──
12691340 # 与 build-server-binaries 同套 runner/target 策略(全原生 runner 规避 C 依赖交叉编译):
12701341 # linux → musl 静态链接(零 glibc 依赖)
@@ -1659,7 +1730,7 @@ jobs:
16591730 release-server :
16601731 name : Release Server
16611732 runs-on : ubuntu-latest
1662- needs : [build-server-docker, build-server-binaries]
1733+ needs : [build-server-docker, build-server-binaries, build-server-nas-packages ]
16631734
16641735 steps :
16651736 - name : Checkout repository
@@ -1757,10 +1828,15 @@ jobs:
17571828 | Windows x64 / ARM64 | \`FluxDown-Server-${VERSION}-windows-{x64,arm64}.zip\` |
17581829 | macOS Intel / Apple Silicon | \`FluxDown-Server-${VERSION}-macos-{x64,arm64}.tar.gz\` |
17591830 | Linux x64 / ARM64(musl 静态链接,任意发行版可用) | \`FluxDown-Server-${VERSION}-linux-{x64,arm64}.tar.gz\` |
1831+ | OpenWrt 软路由(x86_64 / aarch64 各子架构) | \`fluxdown-server_${VERSION}_<arch>.ipk\` + \`luci-app-fluxdown_${VERSION}_all.ipk\` |
1832+ | QNAP NAS(QTS x86_64 / ARM64) | \`FluxDown-Server-${VERSION}-qnap-{x64,arm64}.qpkg\` |
17601833
17611834 解压后直接运行 \`fluxdown-server\`(Windows 为 \`fluxdown-server.exe\`),浏览器访问 \`http://127.0.0.1:17800\`。
17621835 首次启动会在终端打印管理 token,务必保存。文件校验见 \`SHA256SUMS.txt\`。
17631836
1837+ **OpenWrt**:\`opkg install fluxdown-server_*.ipk luci-app-fluxdown_*.ipk\`,LuCI「服务 → FluxDown」页管理,Web 界面在 \`http://路由器IP:17800\`。二进制含完整 Web UI(约 20MB+),需 overlay 空间充足的软路由设备。
1838+ **QNAP**:App Center → 手动安装 \`.qpkg\`(需在设置中允许安装未经验证的应用),装完点应用图标直达 Web 界面。
1839+
17641840 ## 🐳 Docker(linux/amd64 · linux/arm64)
17651841
17661842 \`\`\`bash
0 commit comments