Subtitle scrapers in Zig with a shared provider API, a CLI, and a Vaxis TUI.
- 12 provider integrations behind one unified app layer (
providers_app). - One binary:
scrapers(CLI mode by default, TUI mode via--tuiortui).
- Library API exported from
src/lib.zig. - Runtime networking through Zig
std.http.Client(nocurldependency in runtime flows).
| Provider id | Site |
|---|---|
subdl_com |
subdl.com |
opensubtitles_com |
opensubtitles.com |
opensubtitles_org |
opensubtitles.org |
moviesubtitles_org |
moviesubtitles.org |
moviesubtitlesrt_com |
moviesubtitlesrt.com |
podnapisi_net |
podnapisi.net |
yifysubtitles_ch |
yifysubtitles.ch |
subtitlecat_com |
subtitlecat.com |
isubtitles_org |
isubtitles.org |
my_subs_co |
my-subs.co |
subsource_net |
subsource.net |
tvsubtitles_net |
tvsubtitles.net |
zig build
zig build testList providers:
zig build run -- --list-providersRun CLI:
zig build run -- --provider subsource_net --query "The Matrix"
zig build run -- --provider subsource_net --query "The Matrix" --extractRun TUI:
zig build run-tuiInstall binaries:
zig build installBuild cross-target binaries into zig-out/bin:
zig build build-all-targets
zig build build-all-targets -Doptimize=ReleaseFast -Dstrip=trueTargets produced by build-all-targets:
scrapers-x86_64-linux-gnuscrapers-aarch64-linux-gnuscrapers-x86_64-macos-nonescrapers-aarch64-macos-nonescrapers-x86_64-windows-gnu.exe
Tunable build flags:
-Doptimize=Debug|ReleaseSafe|ReleaseFast|ReleaseSmall-Dstrip=true|false-Dsingle-threaded=auto|on|off-Domit-frame-pointer=auto|on|off-Derror-tracing=auto|on|off-Dpic=auto|on|off
build-all-targets uses sane defaults when flags are omitted:
-Doptimizedefaults toReleaseFastfor that step-Dstripdefaults totruefor that step