Skip to content

Commit f8bb749

Browse files
authored
Merge branch 'zerx-lab:main' into feat/server-lang-and-version
2 parents beaf566 + a13b69f commit f8bb749

42 files changed

Lines changed: 4676 additions & 1037 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/release.yml

Lines changed: 77 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)