fix(downloader): real FB media for all URL shapes + public terabox proxy

Facebook:
- Broaden URL validation to accept ALL real FB shapes: /watch/?v=,
  /reel/:id, /videos/:id (user vids), /video.php, /story.php, fb.watch,
  and no-www facebook.com. Old regex rejected /reel, /videos, fb.watch.
- Add yt-dlp as the PRIMARY provider (authoritative, returns direct
  fbcdn progressive URLs with real title/format metadata, no junk).
  Only falls back to downr.org then Playwright. This kills the
  'link exists but 404s' bug where Playwright harvested broken
  bytestart byte-range chunks alongside the one good URL.
- Filter Playwright-harvested bytestart= chunk URLs + dedupe.

TeraBox:
- Add /proxy/terabox streaming endpoint that forwards the resolver's
  cookie-authenticated stream through the public API.
- Rewrite the returned download URL to the public proxy (raw dlink
  403s without cookies; TERABOX_PUBLIC_BASE_URL env override).
- Fix: server_port env is APP_SERVER_PORT (single underscore); the
  OLD stale 4091 bind in tests came from APP__SERVER_PORT not mapping.

flake: bump scraper-0.1.0 -> 0.1.1
This commit is contained in:
asepharyana
2026-09-07 13:20:11 +07:00
parent 029837d0f1
commit 8b9bdeb56a
4 changed files with 315 additions and 17 deletions
+1 -1
View File
@@ -15,7 +15,7 @@
};
scraper = pkgs.stdenv.mkDerivation {
name = "scraper-0.1.0";
name = "scraper-0.1.1";
src = ./.;
nativeBuildInputs = with pkgs; [