Files
mediago-dev--mediago/scripts/deps-versions.json
caorushizi a9e3ed6a22 feat(core): switch direct downloader from gopeed to aria2
Gopeed's last release is aging and its SChannel-linked Windows build
chokes on modern CDN TLS handshakes (we hit SEC_I_MESSAGE_FRAGMENT on
twimg.com). Replace it with aria2 — same short flags (-x/-s/-k carry
over verbatim), stricter arg handling, and well-trodden cross-platform
builds.

Binaries are vendored in-tree at extra/aria2/<os>/<arch>/ rather than
pulled from a single GitHub release, because aria2 static builds for
Linux / macOS / Windows come from different upstream repos. To keep
the deps pipeline unified:

- `scripts/download-deps.ts` grows a "source": "local" branch that
  copies from `extra/<tool>/<os>/<arch>/` into `.deps/<os>-<arch>/`
  instead of fetching from GitHub. Resulting layout matches the rest
  of the tools, so binaryResolver.ts needs no changes.
- `scripts/deps-versions.json`: `gopeed` entry removed, `aria2`
  entry added with source:"local" + path:"extra/aria2".
- `apps/core/internal/core/types.go`: BinaryNames[TypeDirect]
  `"gopeed"` → `"aria2c"`.
- `apps/core/internal/core/schema/loader.go`: direct schema's Args
  map to aria2's flags (-d / -o, plus --console-log-level=notice /
  --summary-interval=1 / --allow-overwrite=true /
  --auto-file-renaming=false for parseable output and predictable
  rerun behaviour). ConsoleReg regexes updated to aria2's summary
  line format (e.g. "DL:512KiB" for speed, "(83%)" for percent).
  `--check-certificate=false` tacked on as a workaround for the
  SChannel handshake issue on the bundled 1.19.0 Windows build —
  proper fix is upgrading the vendored binary to a build that links
  against OpenSSL (e.g. 1.37.0), comment calls that out.
- `apps/core/.env`, `Dockerfile`, `apps/electron/scripts/build.ts`,
  `apps/core/README.md`: gopeed → aria2c / aria2 references.

No DB migration: existing `type: "direct"` rows keep working, the
underlying binary just swaps.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 17:09:35 +08:00

102 lines
2.9 KiB
JSON

{
"ffmpeg": {
"repo": "eugeneware/ffmpeg-static",
"version": "b6.0",
"assets": {
"darwin-x64": "ffmpeg-darwin-x64.gz",
"darwin-arm64": "ffmpeg-darwin-arm64.gz",
"linux-x64": "ffmpeg-linux-x64.gz",
"linux-arm64": "ffmpeg-linux-arm64.gz",
"win32-x64": "ffmpeg-win32-x64.gz"
},
"binaryName": {
"default": "ffmpeg",
"win32": "ffmpeg.exe"
}
},
"N_m3u8DL-RE": {
"repo": "nilaoda/N_m3u8DL-RE",
"version": "v0.3.0-beta",
"assets": {
"darwin-x64": "N_m3u8DL-RE_v0.3.0-beta_osx-x64_20241203.tar.gz",
"darwin-arm64": "N_m3u8DL-RE_v0.3.0-beta_osx-arm64_20241203.tar.gz",
"linux-x64": "N_m3u8DL-RE_v0.3.0-beta_linux-x64_20241203.tar.gz",
"linux-arm64": "N_m3u8DL-RE_v0.3.0-beta_linux-arm64_20241203.tar.gz",
"win32-x64": "N_m3u8DL-RE_v0.3.0-beta_win-x64_20241203.zip",
"win32-arm64": "N_m3u8DL-RE_v0.3.0-beta_win-arm64_20241203.zip"
},
"binaryName": {
"default": "N_m3u8DL-RE",
"win32": "N_m3u8DL-RE.exe"
},
"extractBinary": {
"default": "N_m3u8DL-RE",
"win32": "N_m3u8DL-RE.exe"
}
},
"BBDown": {
"repo": "nilaoda/BBDown",
"version": "1.6.3",
"assets": {
"darwin-x64": "BBDown_1.6.3_20240814_osx-x64.zip",
"darwin-arm64": "BBDown_1.6.3_20240814_osx-arm64.zip",
"linux-x64": "BBDown_1.6.3_20240814_linux-x64.zip",
"linux-arm64": "BBDown_1.6.3_20240814_linux-arm64.zip",
"win32-x64": "BBDown_1.6.3_20240814_win-x64.zip",
"win32-arm64": "BBDown_1.6.3_20240814_win-arm64.zip"
},
"binaryName": {
"default": "BBDown",
"win32": "BBDown.exe"
},
"extractBinary": {
"default": "BBDown",
"win32": "BBDown.exe"
}
},
"aria2": {
"source": "local",
"path": "extra/aria2",
"binaryName": {
"default": "aria2c",
"win32": "aria2c.exe"
}
},
"yt-dlp": {
"repo": "yt-dlp/yt-dlp",
"version": "2026.03.17",
"assets": {
"darwin-x64": "yt-dlp_macos",
"darwin-arm64": "yt-dlp_macos",
"linux-x64": "yt-dlp_linux",
"linux-arm64": "yt-dlp_linux_aarch64",
"win32-x64": "yt-dlp.exe",
"win32-arm64": "yt-dlp.exe"
},
"binaryName": {
"default": "yt-dlp",
"win32": "yt-dlp.exe"
}
},
"mediago": {
"repo": "caorushizi/mediago-core",
"version": "v0.2.1",
"assets": {
"darwin-x64": "mediago-v0.2.1-darwin-amd64.tar.gz",
"darwin-arm64": "mediago-v0.2.1-darwin-arm64.tar.gz",
"linux-x64": "mediago-v0.2.1-linux-amd64.tar.gz",
"linux-arm64": "mediago-v0.2.1-linux-arm64.tar.gz",
"win32-x64": "mediago-v0.2.1-windows-amd64.zip",
"win32-arm64": "mediago-v0.2.1-windows-arm64.zip"
},
"binaryName": {
"default": "mediago",
"win32": "mediago.exe"
},
"extractBinary": {
"default": "mediago",
"win32": "mediago.exe"
}
}
}