ytgrab 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +142 -0
  3. package/bin/ytgrab.js +194 -0
  4. package/dist/downloader/common.d.ts +22 -0
  5. package/dist/downloader/common.d.ts.map +1 -0
  6. package/dist/downloader/common.js +125 -0
  7. package/dist/downloader/common.js.map +1 -0
  8. package/dist/downloader/hls.d.ts +11 -0
  9. package/dist/downloader/hls.d.ts.map +1 -0
  10. package/dist/downloader/hls.js +134 -0
  11. package/dist/downloader/hls.js.map +1 -0
  12. package/dist/downloader/http.d.ts +10 -0
  13. package/dist/downloader/http.d.ts.map +1 -0
  14. package/dist/downloader/http.js +132 -0
  15. package/dist/downloader/http.js.map +1 -0
  16. package/dist/downloader/index.d.ts +10 -0
  17. package/dist/downloader/index.d.ts.map +1 -0
  18. package/dist/downloader/index.js +24 -0
  19. package/dist/downloader/index.js.map +1 -0
  20. package/dist/extractor/common.d.ts +48 -0
  21. package/dist/extractor/common.d.ts.map +1 -0
  22. package/dist/extractor/common.js +324 -0
  23. package/dist/extractor/common.js.map +1 -0
  24. package/dist/extractor/nsig.d.ts +17 -0
  25. package/dist/extractor/nsig.d.ts.map +1 -0
  26. package/dist/extractor/nsig.js +200 -0
  27. package/dist/extractor/nsig.js.map +1 -0
  28. package/dist/extractor/youtube.d.ts +51 -0
  29. package/dist/extractor/youtube.d.ts.map +1 -0
  30. package/dist/extractor/youtube.js +1113 -0
  31. package/dist/extractor/youtube.js.map +1 -0
  32. package/dist/index.d.ts +36 -0
  33. package/dist/index.d.ts.map +1 -0
  34. package/dist/index.js +72 -0
  35. package/dist/index.js.map +1 -0
  36. package/dist/networking/index.d.ts +33 -0
  37. package/dist/networking/index.d.ts.map +1 -0
  38. package/dist/networking/index.js +171 -0
  39. package/dist/networking/index.js.map +1 -0
  40. package/dist/postprocessor/common.d.ts +21 -0
  41. package/dist/postprocessor/common.d.ts.map +1 -0
  42. package/dist/postprocessor/common.js +42 -0
  43. package/dist/postprocessor/common.js.map +1 -0
  44. package/dist/postprocessor/ffmpeg.d.ts +44 -0
  45. package/dist/postprocessor/ffmpeg.d.ts.map +1 -0
  46. package/dist/postprocessor/ffmpeg.js +286 -0
  47. package/dist/postprocessor/ffmpeg.js.map +1 -0
  48. package/dist/types.d.ts +157 -0
  49. package/dist/types.d.ts.map +1 -0
  50. package/dist/types.js +3 -0
  51. package/dist/types.js.map +1 -0
  52. package/dist/utils/index.d.ts +57 -0
  53. package/dist/utils/index.d.ts.map +1 -0
  54. package/dist/utils/index.js +403 -0
  55. package/dist/utils/index.js.map +1 -0
  56. package/dist/utils/traversal.d.ts +22 -0
  57. package/dist/utils/traversal.d.ts.map +1 -0
  58. package/dist/utils/traversal.js +112 -0
  59. package/dist/utils/traversal.js.map +1 -0
  60. package/dist/ytgrab.d.ts +48 -0
  61. package/dist/ytgrab.d.ts.map +1 -0
  62. package/dist/ytgrab.js +450 -0
  63. package/dist/ytgrab.js.map +1 -0
  64. package/package.json +45 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"youtube.js","sourceRoot":"","sources":["../../src/extractor/youtube.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * ytgrab - YouTube video downloader for Node.js
3
+ * Ported from yt-dlp (Python)
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * import { YtGrab } from 'ytgrab';
8
+ *
9
+ * const ytgrab = new YtGrab();
10
+ *
11
+ * // Get video info
12
+ * const info = await ytgrab.getInfo('https://youtube.com/watch?v=dQw4w9WgXcQ');
13
+ * console.log(info.title, info.formats);
14
+ *
15
+ * // Download video
16
+ * await ytgrab.download('https://youtube.com/watch?v=dQw4w9WgXcQ');
17
+ *
18
+ * // Download with options
19
+ * const yt = new YtGrab({
20
+ * format: 'best',
21
+ * output: '%(title)s.%(ext)s',
22
+ * extractAudio: true,
23
+ * audioFormat: 'mp3',
24
+ * });
25
+ * await yt.download('https://youtube.com/watch?v=dQw4w9WgXcQ');
26
+ * ```
27
+ */
28
+ export { YtGrab } from './ytgrab.js';
29
+ export { YoutubeIE, YoutubePlaylistIE, YoutubeSearchIE } from './extractor/youtube.js';
30
+ export { InfoExtractor } from './extractor/common.js';
31
+ export { FileDownloader, HttpFD, HlsFD, getSuitableDownloader } from './downloader/index.js';
32
+ export { FFmpegPostProcessor, FFmpegExtractAudioPP, FFmpegVideoConvertorPP, FFmpegMergerPP, FFmpegMetadataPP, FFmpegEmbedSubtitlePP, } from './postprocessor/ffmpeg.js';
33
+ export { PostProcessor } from './postprocessor/common.js';
34
+ export type { InfoDict, VideoFormat, Fragment, Thumbnail, Subtitle, Chapter, DownloadProgress, ProgressHook, PostprocessorHook, YtGrabOptions, } from './types.js';
35
+ export { traverseObj, tryGet, intOrNone, floatOrNone, strOrNone, urlOrNone, sanitizeFilename, formatBytes, parseDuration, parseFilesize, unescapeHTML, cleanHTML, determineExt, mimetypeToExt, ExtractorError, DownloadError, GeoRestrictedError, UnsupportedError, } from './utils/index.js';
36
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EACL,mBAAmB,EAAE,oBAAoB,EAAE,sBAAsB,EACjE,cAAc,EAAE,gBAAgB,EAAE,qBAAqB,GACxD,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,YAAY,EACV,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAC7D,gBAAgB,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,GACjE,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAC5C,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAC3D,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EACpD,cAAc,EAAE,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,GACpE,MAAM,kBAAkB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ /**
3
+ * ytgrab - YouTube video downloader for Node.js
4
+ * Ported from yt-dlp (Python)
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * import { YtGrab } from 'ytgrab';
9
+ *
10
+ * const ytgrab = new YtGrab();
11
+ *
12
+ * // Get video info
13
+ * const info = await ytgrab.getInfo('https://youtube.com/watch?v=dQw4w9WgXcQ');
14
+ * console.log(info.title, info.formats);
15
+ *
16
+ * // Download video
17
+ * await ytgrab.download('https://youtube.com/watch?v=dQw4w9WgXcQ');
18
+ *
19
+ * // Download with options
20
+ * const yt = new YtGrab({
21
+ * format: 'best',
22
+ * output: '%(title)s.%(ext)s',
23
+ * extractAudio: true,
24
+ * audioFormat: 'mp3',
25
+ * });
26
+ * await yt.download('https://youtube.com/watch?v=dQw4w9WgXcQ');
27
+ * ```
28
+ */
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ exports.UnsupportedError = exports.GeoRestrictedError = exports.DownloadError = exports.ExtractorError = exports.mimetypeToExt = exports.determineExt = exports.cleanHTML = exports.unescapeHTML = exports.parseFilesize = exports.parseDuration = exports.formatBytes = exports.sanitizeFilename = exports.urlOrNone = exports.strOrNone = exports.floatOrNone = exports.intOrNone = exports.tryGet = exports.traverseObj = exports.PostProcessor = exports.FFmpegEmbedSubtitlePP = exports.FFmpegMetadataPP = exports.FFmpegMergerPP = exports.FFmpegVideoConvertorPP = exports.FFmpegExtractAudioPP = exports.FFmpegPostProcessor = exports.getSuitableDownloader = exports.HlsFD = exports.HttpFD = exports.FileDownloader = exports.InfoExtractor = exports.YoutubeSearchIE = exports.YoutubePlaylistIE = exports.YoutubeIE = exports.YtGrab = void 0;
31
+ var ytgrab_js_1 = require("./ytgrab.js");
32
+ Object.defineProperty(exports, "YtGrab", { enumerable: true, get: function () { return ytgrab_js_1.YtGrab; } });
33
+ var youtube_js_1 = require("./extractor/youtube.js");
34
+ Object.defineProperty(exports, "YoutubeIE", { enumerable: true, get: function () { return youtube_js_1.YoutubeIE; } });
35
+ Object.defineProperty(exports, "YoutubePlaylistIE", { enumerable: true, get: function () { return youtube_js_1.YoutubePlaylistIE; } });
36
+ Object.defineProperty(exports, "YoutubeSearchIE", { enumerable: true, get: function () { return youtube_js_1.YoutubeSearchIE; } });
37
+ var common_js_1 = require("./extractor/common.js");
38
+ Object.defineProperty(exports, "InfoExtractor", { enumerable: true, get: function () { return common_js_1.InfoExtractor; } });
39
+ var index_js_1 = require("./downloader/index.js");
40
+ Object.defineProperty(exports, "FileDownloader", { enumerable: true, get: function () { return index_js_1.FileDownloader; } });
41
+ Object.defineProperty(exports, "HttpFD", { enumerable: true, get: function () { return index_js_1.HttpFD; } });
42
+ Object.defineProperty(exports, "HlsFD", { enumerable: true, get: function () { return index_js_1.HlsFD; } });
43
+ Object.defineProperty(exports, "getSuitableDownloader", { enumerable: true, get: function () { return index_js_1.getSuitableDownloader; } });
44
+ var ffmpeg_js_1 = require("./postprocessor/ffmpeg.js");
45
+ Object.defineProperty(exports, "FFmpegPostProcessor", { enumerable: true, get: function () { return ffmpeg_js_1.FFmpegPostProcessor; } });
46
+ Object.defineProperty(exports, "FFmpegExtractAudioPP", { enumerable: true, get: function () { return ffmpeg_js_1.FFmpegExtractAudioPP; } });
47
+ Object.defineProperty(exports, "FFmpegVideoConvertorPP", { enumerable: true, get: function () { return ffmpeg_js_1.FFmpegVideoConvertorPP; } });
48
+ Object.defineProperty(exports, "FFmpegMergerPP", { enumerable: true, get: function () { return ffmpeg_js_1.FFmpegMergerPP; } });
49
+ Object.defineProperty(exports, "FFmpegMetadataPP", { enumerable: true, get: function () { return ffmpeg_js_1.FFmpegMetadataPP; } });
50
+ Object.defineProperty(exports, "FFmpegEmbedSubtitlePP", { enumerable: true, get: function () { return ffmpeg_js_1.FFmpegEmbedSubtitlePP; } });
51
+ var common_js_2 = require("./postprocessor/common.js");
52
+ Object.defineProperty(exports, "PostProcessor", { enumerable: true, get: function () { return common_js_2.PostProcessor; } });
53
+ var index_js_2 = require("./utils/index.js");
54
+ Object.defineProperty(exports, "traverseObj", { enumerable: true, get: function () { return index_js_2.traverseObj; } });
55
+ Object.defineProperty(exports, "tryGet", { enumerable: true, get: function () { return index_js_2.tryGet; } });
56
+ Object.defineProperty(exports, "intOrNone", { enumerable: true, get: function () { return index_js_2.intOrNone; } });
57
+ Object.defineProperty(exports, "floatOrNone", { enumerable: true, get: function () { return index_js_2.floatOrNone; } });
58
+ Object.defineProperty(exports, "strOrNone", { enumerable: true, get: function () { return index_js_2.strOrNone; } });
59
+ Object.defineProperty(exports, "urlOrNone", { enumerable: true, get: function () { return index_js_2.urlOrNone; } });
60
+ Object.defineProperty(exports, "sanitizeFilename", { enumerable: true, get: function () { return index_js_2.sanitizeFilename; } });
61
+ Object.defineProperty(exports, "formatBytes", { enumerable: true, get: function () { return index_js_2.formatBytes; } });
62
+ Object.defineProperty(exports, "parseDuration", { enumerable: true, get: function () { return index_js_2.parseDuration; } });
63
+ Object.defineProperty(exports, "parseFilesize", { enumerable: true, get: function () { return index_js_2.parseFilesize; } });
64
+ Object.defineProperty(exports, "unescapeHTML", { enumerable: true, get: function () { return index_js_2.unescapeHTML; } });
65
+ Object.defineProperty(exports, "cleanHTML", { enumerable: true, get: function () { return index_js_2.cleanHTML; } });
66
+ Object.defineProperty(exports, "determineExt", { enumerable: true, get: function () { return index_js_2.determineExt; } });
67
+ Object.defineProperty(exports, "mimetypeToExt", { enumerable: true, get: function () { return index_js_2.mimetypeToExt; } });
68
+ Object.defineProperty(exports, "ExtractorError", { enumerable: true, get: function () { return index_js_2.ExtractorError; } });
69
+ Object.defineProperty(exports, "DownloadError", { enumerable: true, get: function () { return index_js_2.DownloadError; } });
70
+ Object.defineProperty(exports, "GeoRestrictedError", { enumerable: true, get: function () { return index_js_2.GeoRestrictedError; } });
71
+ Object.defineProperty(exports, "UnsupportedError", { enumerable: true, get: function () { return index_js_2.UnsupportedError; } });
72
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;;;AAEH,yCAAqC;AAA5B,mGAAA,MAAM,OAAA;AACf,qDAAuF;AAA9E,uGAAA,SAAS,OAAA;AAAE,+GAAA,iBAAiB,OAAA;AAAE,6GAAA,eAAe,OAAA;AACtD,mDAAsD;AAA7C,0GAAA,aAAa,OAAA;AACtB,kDAA6F;AAApF,0GAAA,cAAc,OAAA;AAAE,kGAAA,MAAM,OAAA;AAAE,iGAAA,KAAK,OAAA;AAAE,iHAAA,qBAAqB,OAAA;AAC7D,uDAGmC;AAFjC,gHAAA,mBAAmB,OAAA;AAAE,iHAAA,oBAAoB,OAAA;AAAE,mHAAA,sBAAsB,OAAA;AACjE,2GAAA,cAAc,OAAA;AAAE,6GAAA,gBAAgB,OAAA;AAAE,kHAAA,qBAAqB,OAAA;AAEzD,uDAA0D;AAAjD,0GAAA,aAAa,OAAA;AAOtB,6CAM0B;AALxB,uGAAA,WAAW,OAAA;AAAE,kGAAA,MAAM,OAAA;AACnB,qGAAA,SAAS,OAAA;AAAE,uGAAA,WAAW,OAAA;AAAE,qGAAA,SAAS,OAAA;AAAE,qGAAA,SAAS,OAAA;AAC5C,4GAAA,gBAAgB,OAAA;AAAE,uGAAA,WAAW,OAAA;AAAE,yGAAA,aAAa,OAAA;AAAE,yGAAA,aAAa,OAAA;AAC3D,wGAAA,YAAY,OAAA;AAAE,qGAAA,SAAS,OAAA;AAAE,wGAAA,YAAY,OAAA;AAAE,yGAAA,aAAa,OAAA;AACpD,0GAAA,cAAc,OAAA;AAAE,yGAAA,aAAa,OAAA;AAAE,8GAAA,kBAAkB,OAAA;AAAE,4GAAA,gBAAgB,OAAA"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Networking layer ported from yt_dlp/networking/
3
+ * Uses Node.js built-in fetch (Node 18+) and http/https modules.
4
+ */
5
+ export interface RequestOptions {
6
+ method?: string;
7
+ headers?: Record<string, string>;
8
+ data?: string | Buffer;
9
+ query?: Record<string, string>;
10
+ timeout?: number;
11
+ proxy?: string;
12
+ maxRedirects?: number;
13
+ }
14
+ export interface Response {
15
+ url: string;
16
+ status: number;
17
+ headers: Record<string, string>;
18
+ body: Buffer;
19
+ text(): string;
20
+ json(): unknown;
21
+ }
22
+ export declare function makeRequest(url: string, options?: RequestOptions): Promise<Response>;
23
+ export declare class HTTPHeaderDict {
24
+ private _store;
25
+ constructor(init?: Record<string, string>);
26
+ set(key: string, value: string): void;
27
+ get(key: string): string | undefined;
28
+ has(key: string): boolean;
29
+ delete(key: string): void;
30
+ toObject(): Record<string, string>;
31
+ }
32
+ export declare function randomUserAgent(): string;
33
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/networking/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,IAAI,MAAM,CAAC;IACf,IAAI,IAAI,OAAO,CAAC;CACjB;AAiBD,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAiFxF;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAA4C;gBAE9C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAQzC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAIrC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIpC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIzB,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAOnC;AAED,wBAAgB,eAAe,IAAI,MAAM,CAGxC"}
@@ -0,0 +1,171 @@
1
+ "use strict";
2
+ /**
3
+ * Networking layer ported from yt_dlp/networking/
4
+ * Uses Node.js built-in fetch (Node 18+) and http/https modules.
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.HTTPHeaderDict = void 0;
41
+ exports.makeRequest = makeRequest;
42
+ exports.randomUserAgent = randomUserAgent;
43
+ const https = __importStar(require("node:https"));
44
+ const http = __importStar(require("node:http"));
45
+ const zlib = __importStar(require("node:zlib"));
46
+ const node_url_1 = require("node:url");
47
+ const DEFAULT_HEADERS = {
48
+ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36',
49
+ 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
50
+ 'Accept-Language': 'en-us,en;q=0.5',
51
+ 'Accept-Encoding': 'gzip, deflate',
52
+ };
53
+ function decompressBody(body, encoding) {
54
+ if (!encoding)
55
+ return body;
56
+ if (encoding === 'gzip')
57
+ return zlib.gunzipSync(body);
58
+ if (encoding === 'deflate')
59
+ return zlib.inflateSync(body);
60
+ if (encoding === 'br')
61
+ return zlib.brotliDecompressSync(body);
62
+ return body;
63
+ }
64
+ function makeRequest(url, options = {}) {
65
+ return new Promise((resolve, reject) => {
66
+ const parsedUrl = new node_url_1.URL(url);
67
+ if (options.query) {
68
+ for (const [key, val] of Object.entries(options.query)) {
69
+ parsedUrl.searchParams.set(key, val);
70
+ }
71
+ }
72
+ const headers = { ...DEFAULT_HEADERS, ...options.headers };
73
+ const method = options.method || (options.data ? 'POST' : 'GET');
74
+ if (options.data && !headers['Content-Type']) {
75
+ headers['Content-Type'] = 'application/json';
76
+ }
77
+ const requestOptions = {
78
+ method,
79
+ headers,
80
+ timeout: options.timeout || 30000,
81
+ };
82
+ let redirectCount = 0;
83
+ const maxRedirects = options.maxRedirects ?? 5;
84
+ function doRequest(requestUrl) {
85
+ const transport = requestUrl.protocol === 'https:' ? https : http;
86
+ const req = transport.request(requestUrl, requestOptions, (res) => {
87
+ // Handle redirects
88
+ if (res.statusCode && res.statusCode >= 300 && res.statusCode < 400 && res.headers.location) {
89
+ redirectCount++;
90
+ if (redirectCount > maxRedirects) {
91
+ reject(new Error(`Too many redirects (${maxRedirects})`));
92
+ return;
93
+ }
94
+ const redirectUrl = new node_url_1.URL(res.headers.location, requestUrl);
95
+ doRequest(redirectUrl);
96
+ return;
97
+ }
98
+ const chunks = [];
99
+ res.on('data', (chunk) => chunks.push(chunk));
100
+ res.on('end', () => {
101
+ let body = Buffer.concat(chunks);
102
+ try {
103
+ body = decompressBody(body, res.headers['content-encoding']);
104
+ }
105
+ catch {
106
+ // Use raw body if decompression fails
107
+ }
108
+ const responseHeaders = {};
109
+ for (const [key, val] of Object.entries(res.headers)) {
110
+ if (val)
111
+ responseHeaders[key] = Array.isArray(val) ? val.join(', ') : val;
112
+ }
113
+ resolve({
114
+ url: requestUrl.toString(),
115
+ status: res.statusCode || 0,
116
+ headers: responseHeaders,
117
+ body,
118
+ text() { return body.toString('utf-8'); },
119
+ json() { return JSON.parse(body.toString('utf-8')); },
120
+ });
121
+ });
122
+ res.on('error', reject);
123
+ });
124
+ req.on('error', reject);
125
+ req.on('timeout', () => {
126
+ req.destroy();
127
+ reject(new Error(`Request timed out: ${requestUrl.toString()}`));
128
+ });
129
+ if (options.data) {
130
+ req.write(typeof options.data === 'string' ? options.data : options.data);
131
+ }
132
+ req.end();
133
+ }
134
+ doRequest(parsedUrl);
135
+ });
136
+ }
137
+ class HTTPHeaderDict {
138
+ _store = new Map();
139
+ constructor(init) {
140
+ if (init) {
141
+ for (const [key, val] of Object.entries(init)) {
142
+ this.set(key, val);
143
+ }
144
+ }
145
+ }
146
+ set(key, value) {
147
+ this._store.set(key.toLowerCase(), [key, value]);
148
+ }
149
+ get(key) {
150
+ return this._store.get(key.toLowerCase())?.[1];
151
+ }
152
+ has(key) {
153
+ return this._store.has(key.toLowerCase());
154
+ }
155
+ delete(key) {
156
+ this._store.delete(key.toLowerCase());
157
+ }
158
+ toObject() {
159
+ const result = {};
160
+ for (const [original, value] of this._store.values()) {
161
+ result[original] = value;
162
+ }
163
+ return result;
164
+ }
165
+ }
166
+ exports.HTTPHeaderDict = HTTPHeaderDict;
167
+ function randomUserAgent() {
168
+ const major = 120 + Math.floor(Math.random() * 15);
169
+ return `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/${major}.0.0.0 Safari/537.36`;
170
+ }
171
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/networking/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Base PostProcessor - ported from yt_dlp/postprocessor/common.py
3
+ */
4
+ import type { InfoDict, PostprocessorHook } from '../types.js';
5
+ export declare abstract class PostProcessor {
6
+ protected _downloader: any;
7
+ protected _progressHooks: PostprocessorHook[];
8
+ readonly PP_NAME: string;
9
+ constructor(downloader?: any);
10
+ abstract ppKey(): string;
11
+ setDownloader(downloader: any): void;
12
+ /**
13
+ * Run post-processing on the info dict.
14
+ * @returns [files_to_delete, modified_info_dict]
15
+ */
16
+ abstract run(information: InfoDict): Promise<[string[], InfoDict]>;
17
+ protected _log(msg: string): void;
18
+ protected _warn(msg: string): void;
19
+ protected getParam(name: string, defaultVal?: unknown): unknown;
20
+ }
21
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/postprocessor/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE/D,8BAAsB,aAAa;IACjC,SAAS,CAAC,WAAW,EAAE,GAAG,CAAQ;IAClC,SAAS,CAAC,cAAc,EAAE,iBAAiB,EAAE,CAAM;IACnD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEb,UAAU,CAAC,EAAE,GAAG;IAK5B,QAAQ,CAAC,KAAK,IAAI,MAAM;IAExB,aAAa,CAAC,UAAU,EAAE,GAAG,GAAG,IAAI;IAIpC;;;OAGG;IACH,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;IAElE,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IASjC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAQlC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO;CAGhE"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ /**
3
+ * Base PostProcessor - ported from yt_dlp/postprocessor/common.py
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PostProcessor = void 0;
7
+ class PostProcessor {
8
+ _downloader = null;
9
+ _progressHooks = [];
10
+ PP_NAME;
11
+ constructor(downloader) {
12
+ this.PP_NAME = this.ppKey();
13
+ if (downloader)
14
+ this.setDownloader(downloader);
15
+ }
16
+ setDownloader(downloader) {
17
+ this._downloader = downloader;
18
+ }
19
+ _log(msg) {
20
+ if (this._downloader?.params?.quiet)
21
+ return;
22
+ if (this._downloader) {
23
+ this._downloader.toScreen(`[${this.PP_NAME}] ${msg}`);
24
+ }
25
+ else {
26
+ console.log(`[${this.PP_NAME}] ${msg}`);
27
+ }
28
+ }
29
+ _warn(msg) {
30
+ if (this._downloader) {
31
+ this._downloader.reportWarning(`[${this.PP_NAME}] ${msg}`);
32
+ }
33
+ else {
34
+ console.warn(`WARNING: [${this.PP_NAME}] ${msg}`);
35
+ }
36
+ }
37
+ getParam(name, defaultVal) {
38
+ return this._downloader?.params?.[name] ?? defaultVal;
39
+ }
40
+ }
41
+ exports.PostProcessor = PostProcessor;
42
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/postprocessor/common.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAIH,MAAsB,aAAa;IACvB,WAAW,GAAQ,IAAI,CAAC;IACxB,cAAc,GAAwB,EAAE,CAAC;IAC1C,OAAO,CAAS;IAEzB,YAAY,UAAgB;QAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,UAAU;YAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IAID,aAAa,CAAC,UAAe;QAC3B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAQS,IAAI,CAAC,GAAW;QACxB,IAAI,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK;YAAE,OAAO;QAC5C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAES,KAAK,CAAC,GAAW;QACzB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAES,QAAQ,CAAC,IAAY,EAAE,UAAoB;QACnD,OAAO,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC;IACxD,CAAC;CACF;AA1CD,sCA0CC"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * FFmpeg PostProcessor - ported from yt_dlp/postprocessor/ffmpeg.py
3
+ *
4
+ * Handles audio extraction, format conversion, merging, and metadata embedding.
5
+ */
6
+ import { PostProcessor } from './common.js';
7
+ import type { InfoDict } from '../types.js';
8
+ export declare class FFmpegPostProcessor extends PostProcessor {
9
+ protected _ffmpegPath: string | null;
10
+ protected _ffprobePath: string | null;
11
+ constructor(downloader?: any);
12
+ ppKey(): string;
13
+ get available(): boolean;
14
+ run(information: InfoDict): Promise<[string[], InfoDict]>;
15
+ protected _runFFmpeg(inputPath: string, outputPath: string, opts: string[]): void;
16
+ protected _runFFmpegMultipleFiles(inputPaths: string[], outputPath: string, opts: string[]): void;
17
+ }
18
+ export declare class FFmpegExtractAudioPP extends FFmpegPostProcessor {
19
+ private _preferredCodec;
20
+ private _preferredQuality;
21
+ constructor(downloader?: any, preferredCodec?: string, preferredQuality?: string);
22
+ ppKey(): string;
23
+ run(information: InfoDict): Promise<[string[], InfoDict]>;
24
+ }
25
+ export declare class FFmpegVideoConvertorPP extends FFmpegPostProcessor {
26
+ private _preferredFormat;
27
+ constructor(downloader?: any, preferredFormat?: string);
28
+ ppKey(): string;
29
+ run(information: InfoDict): Promise<[string[], InfoDict]>;
30
+ }
31
+ export declare class FFmpegMergerPP extends FFmpegPostProcessor {
32
+ ppKey(): string;
33
+ run(information: InfoDict): Promise<[string[], InfoDict]>;
34
+ }
35
+ export declare class FFmpegEmbedSubtitlePP extends FFmpegPostProcessor {
36
+ ppKey(): string;
37
+ run(information: InfoDict): Promise<[string[], InfoDict]>;
38
+ }
39
+ export declare class FFmpegMetadataPP extends FFmpegPostProcessor {
40
+ ppKey(): string;
41
+ run(information: InfoDict): Promise<[string[], InfoDict]>;
42
+ }
43
+ export { PostProcessor } from './common.js';
44
+ //# sourceMappingURL=ffmpeg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ffmpeg.d.ts","sourceRoot":"","sources":["../../src/postprocessor/ffmpeg.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA4B5C,qBAAa,mBAAoB,SAAQ,aAAa;IACpD,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;gBAE1B,UAAU,CAAC,EAAE,GAAG;IAO5B,KAAK,IAAI,MAAM;IAEf,IAAI,SAAS,IAAI,OAAO,CAEvB;IAEK,GAAG,CAAC,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;IAI/D,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;IAyBjF,SAAS,CAAC,uBAAuB,CAC/B,UAAU,EAAE,MAAM,EAAE,EACpB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,GACb,IAAI;CAuBR;AAcD,qBAAa,oBAAqB,SAAQ,mBAAmB;IAC3D,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,iBAAiB,CAAS;gBAEtB,UAAU,CAAC,EAAE,GAAG,EAAE,cAAc,GAAE,MAAc,EAAE,gBAAgB,GAAE,MAAY;IAM5F,KAAK,IAAI,MAAM;IAET,GAAG,CAAC,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;CA0BhE;AAID,qBAAa,sBAAuB,SAAQ,mBAAmB;IAC7D,OAAO,CAAC,gBAAgB,CAAS;gBAErB,UAAU,CAAC,EAAE,GAAG,EAAE,eAAe,GAAE,MAAc;IAK7D,KAAK,IAAI,MAAM;IAET,GAAG,CAAC,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;CAmBhE;AAID,qBAAa,cAAe,SAAQ,mBAAmB;IACrD,KAAK,IAAI,MAAM;IAET,GAAG,CAAC,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;CA2BhE;AAID,qBAAa,qBAAsB,SAAQ,mBAAmB;IAC5D,KAAK,IAAI,MAAM;IAET,GAAG,CAAC,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;CA4BhE;AAID,qBAAa,gBAAiB,SAAQ,mBAAmB;IACvD,KAAK,IAAI,MAAM;IAET,GAAG,CAAC,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;CAwBhE;AAED,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}