import { writeFileSync, existsSync } from 'fs'; import { join, basename } from 'path'; import { fsCreateSession, fsDestroySession, fsGet } from '../flaresolverr.js'; import { upsertMediaFile } from '../db.js'; const TURBO_HOST_RE = /^https?:\/\/(?:www\.)?turbo\.\w+\//i; const TURBO_BASE = 'https://turbo.cr'; const DEFAULT_UA = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'; export function isTurboUrl(url) { return TURBO_HOST_RE.test(url); } function unescapeHtml(s) { return s.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"'); } function extractMp4FromHtml(html) { // Plyr renders the resolved URL into