文件最后提交记录最后更新时间
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> 1 个月前
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> 1 个月前
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> 1 个月前
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> 1 个月前
README.md

aria2

Pre-compiled aria2c static binaries bundled with MediaGo.

Field Value
Version 1.19.0
Upstream https://github.com/aria2/aria2
License GPL-2.0-or-later (SPDX: GPL-2.0-or-later)
Source https://github.com/aria2/aria2/releases/tag/release-1.19.0
Role Backs DownloadType: "direct" (replaces gopeed from v3.5.0-beta.2 onward)

Layout

extra/aria2/
├── darwin/arm64/aria2c
├── darwin/x64/aria2c
├── linux/arm64/aria2c
├── linux/x64/aria2c
├── win32/arm64/aria2c.exe
└── win32/x64/aria2c.exe

The wrapping deps pipeline (scripts/download-deps.ts) copies the correct per-platform binary into .deps/<os>-<arch>/aria2c[.exe] on pnpm deps:download, so the Go Core's BinaryNames[TypeDirect] = "aria2c" lookup finds it at the same location that third-party tools (ffmpeg, N_m3u8DL-RE, BBDown, yt-dlp) land.

License notice

aria2 is licensed under the GNU General Public License, version 2 or any later version (GPL-2.0-or-later). The MediaGo project itself is MIT-licensed; aria2 is redistributed here as an aggregation — MediaGo invokes aria2c as a separate subprocess, not as a linked library, which keeps the GPL boundary at the binary.

The full GPL text ships with each binary (run aria2c --version to see the copyright notice) and is available at: https://github.com/aria2/aria2/blob/master/COPYING

Written offer (GPL-2.0 §3(b))

For any version of aria2 bundled here, the corresponding machine-readable source code is publicly available at the upstream GitHub repository linked above, at no charge. No further steps required from users.

How to refresh these binaries

  1. Fetch the new version's static builds from a trusted static-build distributor (the originals bundled here are from the aria2 GitHub releases on Windows; other platforms use static builds).
  2. Replace each extra/aria2/<os>/<arch>/aria2c[.exe] file.
  3. Update the Version and Source rows above.
  4. Run pnpm deps:download locally to refresh .deps/ and smoke-test a direct download.