@@ -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