animob 1.0.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 (229) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +245 -0
  3. package/animb.png +0 -0
  4. package/dist/extractors/index.d.ts +11 -0
  5. package/dist/extractors/index.js +27 -0
  6. package/dist/extractors/index.js.map +1 -0
  7. package/dist/extractors/kwik.d.ts +18 -0
  8. package/dist/extractors/kwik.js +117 -0
  9. package/dist/extractors/kwik.js.map +1 -0
  10. package/dist/extractors/lplayer.d.ts +11 -0
  11. package/dist/extractors/lplayer.js +131 -0
  12. package/dist/extractors/lplayer.js.map +1 -0
  13. package/dist/extractors/megacloud.d.ts +10 -0
  14. package/dist/extractors/megacloud.js +44 -0
  15. package/dist/extractors/megacloud.js.map +1 -0
  16. package/dist/extractors/megaup.d.ts +31 -0
  17. package/dist/extractors/megaup.js +79 -0
  18. package/dist/extractors/megaup.js.map +1 -0
  19. package/dist/extractors/mixdrop.d.ts +7 -0
  20. package/dist/extractors/mixdrop.js +32 -0
  21. package/dist/extractors/mixdrop.js.map +1 -0
  22. package/dist/extractors/movearnpre.d.ts +9 -0
  23. package/dist/extractors/movearnpre.js +154 -0
  24. package/dist/extractors/movearnpre.js.map +1 -0
  25. package/dist/extractors/sendvid.d.ts +8 -0
  26. package/dist/extractors/sendvid.js +76 -0
  27. package/dist/extractors/sendvid.js.map +1 -0
  28. package/dist/extractors/sibnet.d.ts +8 -0
  29. package/dist/extractors/sibnet.js +44 -0
  30. package/dist/extractors/sibnet.js.map +1 -0
  31. package/dist/extractors/streamsb.d.ts +11 -0
  32. package/dist/extractors/streamsb.js +65 -0
  33. package/dist/extractors/streamsb.js.map +1 -0
  34. package/dist/extractors/streamtape.d.ts +7 -0
  35. package/dist/extractors/streamtape.js +32 -0
  36. package/dist/extractors/streamtape.js.map +1 -0
  37. package/dist/extractors/streamwish.d.ts +11 -0
  38. package/dist/extractors/streamwish.js +46 -0
  39. package/dist/extractors/streamwish.js.map +1 -0
  40. package/dist/extractors/vidcloud.d.ts +11 -0
  41. package/dist/extractors/vidcloud.js +109 -0
  42. package/dist/extractors/vidcloud.js.map +1 -0
  43. package/dist/extractors/videostr.d.ts +10 -0
  44. package/dist/extractors/videostr.js +44 -0
  45. package/dist/extractors/videostr.js.map +1 -0
  46. package/dist/extractors/vidmoly.d.ts +7 -0
  47. package/dist/extractors/vidmoly.js +75 -0
  48. package/dist/extractors/vidmoly.js.map +1 -0
  49. package/dist/extractors/voe.d.ts +10 -0
  50. package/dist/extractors/voe.js +44 -0
  51. package/dist/extractors/voe.js.map +1 -0
  52. package/dist/index.d.ts +6 -0
  53. package/dist/index.js +23 -0
  54. package/dist/index.js.map +1 -0
  55. package/dist/models/anime-parser.d.ts +26 -0
  56. package/dist/models/anime-parser.js +14 -0
  57. package/dist/models/anime-parser.js.map +1 -0
  58. package/dist/models/base-parser.d.ts +10 -0
  59. package/dist/models/base-parser.js +7 -0
  60. package/dist/models/base-parser.js.map +1 -0
  61. package/dist/models/base-provider.d.ts +40 -0
  62. package/dist/models/base-provider.js +45 -0
  63. package/dist/models/base-provider.js.map +1 -0
  64. package/dist/models/base-types.d.ts +22 -0
  65. package/dist/models/base-types.js +3 -0
  66. package/dist/models/base-types.js.map +1 -0
  67. package/dist/models/book-parser.d.ts +4 -0
  68. package/dist/models/book-parser.js +7 -0
  69. package/dist/models/book-parser.js.map +1 -0
  70. package/dist/models/comic-parser.d.ts +4 -0
  71. package/dist/models/comic-parser.js +7 -0
  72. package/dist/models/comic-parser.js.map +1 -0
  73. package/dist/models/index.d.ts +13 -0
  74. package/dist/models/index.js +39 -0
  75. package/dist/models/index.js.map +1 -0
  76. package/dist/models/lightnovel-parser.d.ts +16 -0
  77. package/dist/models/lightnovel-parser.js +7 -0
  78. package/dist/models/lightnovel-parser.js.map +1 -0
  79. package/dist/models/manga-parser.d.ts +17 -0
  80. package/dist/models/manga-parser.js +10 -0
  81. package/dist/models/manga-parser.js.map +1 -0
  82. package/dist/models/movie-parser.d.ts +26 -0
  83. package/dist/models/movie-parser.js +7 -0
  84. package/dist/models/movie-parser.js.map +1 -0
  85. package/dist/models/news-parser.d.ts +4 -0
  86. package/dist/models/news-parser.js +7 -0
  87. package/dist/models/news-parser.js.map +1 -0
  88. package/dist/models/proxy.d.ts +25 -0
  89. package/dist/models/proxy.js +83 -0
  90. package/dist/models/proxy.js.map +1 -0
  91. package/dist/models/type-objects.d.ts +48 -0
  92. package/dist/models/type-objects.js +57 -0
  93. package/dist/models/type-objects.js.map +1 -0
  94. package/dist/models/types.d.ts +515 -0
  95. package/dist/models/types.js +118 -0
  96. package/dist/models/types.js.map +1 -0
  97. package/dist/models/video-extractor.d.ts +19 -0
  98. package/dist/models/video-extractor.js +10 -0
  99. package/dist/models/video-extractor.js.map +1 -0
  100. package/dist/providers/anime/animekai.d.ts +94 -0
  101. package/dist/providers/anime/animekai.js +661 -0
  102. package/dist/providers/anime/animekai.js.map +1 -0
  103. package/dist/providers/anime/animepahe.d.ts +41 -0
  104. package/dist/providers/anime/animepahe.js +270 -0
  105. package/dist/providers/anime/animepahe.js.map +1 -0
  106. package/dist/providers/anime/animesama.d.ts +25 -0
  107. package/dist/providers/anime/animesama.js +504 -0
  108. package/dist/providers/anime/animesama.js.map +1 -0
  109. package/dist/providers/anime/animesaturn.d.ts +32 -0
  110. package/dist/providers/anime/animesaturn.js +298 -0
  111. package/dist/providers/anime/animesaturn.js.map +1 -0
  112. package/dist/providers/anime/animeunity.d.ts +27 -0
  113. package/dist/providers/anime/animeunity.js +157 -0
  114. package/dist/providers/anime/animeunity.js.map +1 -0
  115. package/dist/providers/anime/hianime.d.ts +150 -0
  116. package/dist/providers/anime/hianime.js +825 -0
  117. package/dist/providers/anime/hianime.js.map +1 -0
  118. package/dist/providers/anime/index.d.ts +17 -0
  119. package/dist/providers/anime/index.js +22 -0
  120. package/dist/providers/anime/index.js.map +1 -0
  121. package/dist/providers/anime/kickassanime.d.ts +65 -0
  122. package/dist/providers/anime/kickassanime.js +582 -0
  123. package/dist/providers/anime/kickassanime.js.map +1 -0
  124. package/dist/providers/books/index.d.ts +2 -0
  125. package/dist/providers/books/index.js +4 -0
  126. package/dist/providers/books/index.js.map +1 -0
  127. package/dist/providers/comics/getComics.d.ts +9 -0
  128. package/dist/providers/comics/getComics.js +54 -0
  129. package/dist/providers/comics/getComics.js.map +1 -0
  130. package/dist/providers/comics/index.d.ts +5 -0
  131. package/dist/providers/comics/index.js +8 -0
  132. package/dist/providers/comics/index.js.map +1 -0
  133. package/dist/providers/index.d.ts +9 -0
  134. package/dist/providers/index.js +23 -0
  135. package/dist/providers/index.js.map +1 -0
  136. package/dist/providers/light-novels/index.d.ts +5 -0
  137. package/dist/providers/light-novels/index.js +8 -0
  138. package/dist/providers/light-novels/index.js.map +1 -0
  139. package/dist/providers/light-novels/novelupdates.d.ts +26 -0
  140. package/dist/providers/light-novels/novelupdates.js +155 -0
  141. package/dist/providers/light-novels/novelupdates.js.map +1 -0
  142. package/dist/providers/manga/asurascans.d.ts +16 -0
  143. package/dist/providers/manga/asurascans.js +143 -0
  144. package/dist/providers/manga/asurascans.js.map +1 -0
  145. package/dist/providers/manga/comick.d.ts +36 -0
  146. package/dist/providers/manga/comick.js +141 -0
  147. package/dist/providers/manga/comick.js.map +1 -0
  148. package/dist/providers/manga/comix.d.ts +36 -0
  149. package/dist/providers/manga/comix.js +265 -0
  150. package/dist/providers/manga/comix.js.map +1 -0
  151. package/dist/providers/manga/index.d.ts +21 -0
  152. package/dist/providers/manga/index.js +26 -0
  153. package/dist/providers/manga/index.js.map +1 -0
  154. package/dist/providers/manga/mangadex.d.ts +26 -0
  155. package/dist/providers/manga/mangadex.js +301 -0
  156. package/dist/providers/manga/mangadex.js.map +1 -0
  157. package/dist/providers/manga/mangahere.d.ts +29 -0
  158. package/dist/providers/manga/mangahere.js +376 -0
  159. package/dist/providers/manga/mangahere.js.map +1 -0
  160. package/dist/providers/manga/mangakakalot.d.ts +56 -0
  161. package/dist/providers/manga/mangakakalot.js +461 -0
  162. package/dist/providers/manga/mangakakalot.js.map +1 -0
  163. package/dist/providers/manga/mangapill.d.ts +15 -0
  164. package/dist/providers/manga/mangapill.js +104 -0
  165. package/dist/providers/manga/mangapill.js.map +1 -0
  166. package/dist/providers/manga/mangareader.d.ts +15 -0
  167. package/dist/providers/manga/mangareader.js +110 -0
  168. package/dist/providers/manga/mangareader.js.map +1 -0
  169. package/dist/providers/manga/weebcentral.d.ts +12 -0
  170. package/dist/providers/manga/weebcentral.js +169 -0
  171. package/dist/providers/manga/weebcentral.js.map +1 -0
  172. package/dist/providers/meta/anilist.d.ts +206 -0
  173. package/dist/providers/meta/anilist.js +2025 -0
  174. package/dist/providers/meta/anilist.js.map +1 -0
  175. package/dist/providers/meta/index.d.ts +9 -0
  176. package/dist/providers/meta/index.js +10 -0
  177. package/dist/providers/meta/index.js.map +1 -0
  178. package/dist/providers/meta/mal.d.ts +39 -0
  179. package/dist/providers/meta/mal.js +529 -0
  180. package/dist/providers/meta/mal.js.map +1 -0
  181. package/dist/providers/meta/tmdb.d.ts +48 -0
  182. package/dist/providers/meta/tmdb.js +364 -0
  183. package/dist/providers/meta/tmdb.js.map +1 -0
  184. package/dist/providers/movies/dramacool.d.ts +98 -0
  185. package/dist/providers/movies/dramacool.js +367 -0
  186. package/dist/providers/movies/dramacool.js.map +1 -0
  187. package/dist/providers/movies/flixhq.d.ts +90 -0
  188. package/dist/providers/movies/flixhq.js +438 -0
  189. package/dist/providers/movies/flixhq.js.map +1 -0
  190. package/dist/providers/movies/goku.d.ts +80 -0
  191. package/dist/providers/movies/goku.js +369 -0
  192. package/dist/providers/movies/goku.js.map +1 -0
  193. package/dist/providers/movies/himovies.d.ts +102 -0
  194. package/dist/providers/movies/himovies.js +445 -0
  195. package/dist/providers/movies/himovies.js.map +1 -0
  196. package/dist/providers/movies/index.d.ts +17 -0
  197. package/dist/providers/movies/index.js +22 -0
  198. package/dist/providers/movies/index.js.map +1 -0
  199. package/dist/providers/movies/netmirror.d.ts +27 -0
  200. package/dist/providers/movies/netmirror.js +259 -0
  201. package/dist/providers/movies/netmirror.js.map +1 -0
  202. package/dist/providers/movies/sflix.d.ts +106 -0
  203. package/dist/providers/movies/sflix.js +490 -0
  204. package/dist/providers/movies/sflix.js.map +1 -0
  205. package/dist/providers/movies/turkish123.d.ts +32 -0
  206. package/dist/providers/movies/turkish123.js +141 -0
  207. package/dist/providers/movies/turkish123.js.map +1 -0
  208. package/dist/providers/news/animenewsnetwork.d.ts +30 -0
  209. package/dist/providers/news/animenewsnetwork.js +105 -0
  210. package/dist/providers/news/animenewsnetwork.js.map +1 -0
  211. package/dist/providers/news/index.d.ts +5 -0
  212. package/dist/providers/news/index.js +8 -0
  213. package/dist/providers/news/index.js.map +1 -0
  214. package/dist/providers/others/index.d.ts +0 -0
  215. package/dist/providers/others/index.js +2 -0
  216. package/dist/providers/others/index.js.map +1 -0
  217. package/dist/utils/index.d.ts +3 -0
  218. package/dist/utils/index.js +33 -0
  219. package/dist/utils/index.js.map +1 -0
  220. package/dist/utils/providers-list.d.ts +11 -0
  221. package/dist/utils/providers-list.js +40 -0
  222. package/dist/utils/providers-list.js.map +1 -0
  223. package/dist/utils/queries.d.ts +13 -0
  224. package/dist/utils/queries.js +31 -0
  225. package/dist/utils/queries.js.map +1 -0
  226. package/dist/utils/utils.d.ts +32 -0
  227. package/dist/utils/utils.js +324 -0
  228. package/dist/utils/utils.js.map +1 -0
  229. package/package.json +107 -0
@@ -0,0 +1,515 @@
1
+ import { Book, Hashes } from './base-types';
2
+ export interface IProviderStats {
3
+ name: string;
4
+ baseUrl: string;
5
+ lang: string[] | string;
6
+ isNSFW: boolean;
7
+ logo: string;
8
+ classPath: string;
9
+ isWorking: boolean;
10
+ }
11
+ export interface ITitle {
12
+ romaji?: string;
13
+ english?: string;
14
+ native?: string;
15
+ userPreferred?: string;
16
+ }
17
+ export interface IAnimeResult {
18
+ id: string;
19
+ title: string | ITitle;
20
+ url?: string;
21
+ image?: string;
22
+ imageHash?: string;
23
+ cover?: string;
24
+ coverHash?: string;
25
+ status?: MediaStatus;
26
+ rating?: number;
27
+ type?: MediaFormat;
28
+ releaseDate?: string;
29
+ relationType?: string;
30
+ [x: string]: any;
31
+ }
32
+ export interface ISearch<T> {
33
+ currentPage?: number;
34
+ hasNextPage?: boolean;
35
+ totalPages?: number;
36
+ /**
37
+ * total results must include results from all pages
38
+ */
39
+ totalResults?: number;
40
+ results: T[];
41
+ }
42
+ export interface Trailer {
43
+ id: string;
44
+ url?: string;
45
+ site?: string;
46
+ thumbnail?: string;
47
+ thumbnailHash?: string | null;
48
+ }
49
+ export interface FuzzyDate {
50
+ year?: number;
51
+ month?: number;
52
+ day?: number;
53
+ }
54
+ export interface ExternalLink {
55
+ id?: string;
56
+ url?: string;
57
+ sourceName?: string;
58
+ }
59
+ export declare enum MediaFormat {
60
+ TV = "TV",
61
+ TV_SHORT = "TV_SHORT",
62
+ TV_SPECIAL = "TV_SPECIAL",
63
+ MOVIE = "MOVIE",
64
+ SPECIAL = "SPECIAL",
65
+ OVA = "OVA",
66
+ ONA = "ONA",
67
+ MUSIC = "MUSIC",
68
+ MANGA = "MANGA",
69
+ NOVEL = "NOVEL",
70
+ ONE_SHOT = "ONE_SHOT",
71
+ PV = "PV",
72
+ COMIC = "COMIC"
73
+ }
74
+ export interface IAnimeInfo extends IAnimeResult {
75
+ malId?: number | string;
76
+ genres?: string[];
77
+ description?: string;
78
+ status?: MediaStatus;
79
+ totalEpisodes?: number;
80
+ /**
81
+ * @deprecated use `hasSub` or `hasDub` instead
82
+ */
83
+ subOrDub?: SubOrSub;
84
+ hasSub?: boolean;
85
+ hasDub?: boolean;
86
+ synonyms?: string[];
87
+ /**
88
+ * two letter representation of coutnry: e.g JP for japan
89
+ */
90
+ countryOfOrigin?: string;
91
+ isAdult?: boolean;
92
+ isLicensed?: boolean;
93
+ /**
94
+ * `FALL`, `WINTER`, `SPRING`, `SUMMER`
95
+ */
96
+ season?: string;
97
+ studios?: string[];
98
+ color?: string;
99
+ cover?: string;
100
+ externalLinks?: ExternalLink[];
101
+ trailer?: Trailer;
102
+ episodes?: IAnimeEpisode[];
103
+ startDate?: FuzzyDate;
104
+ endDate?: FuzzyDate;
105
+ recommendations?: IAnimeResult[];
106
+ relations?: IAnimeResult[];
107
+ }
108
+ export interface IAnimeEpisodeV2 {
109
+ [x: string]: {
110
+ id: string;
111
+ season_number: number;
112
+ title: string;
113
+ image: string;
114
+ imageHash: string;
115
+ description: string;
116
+ releaseDate: string;
117
+ isHD: boolean;
118
+ isAdult: boolean;
119
+ isDubbed: boolean;
120
+ isSubbed: boolean;
121
+ duration: number;
122
+ }[];
123
+ }
124
+ export interface IAnimeEpisode {
125
+ id: string;
126
+ number: number;
127
+ title?: string;
128
+ description?: string;
129
+ isFiller?: boolean;
130
+ isSubbed?: boolean;
131
+ isDubbed?: boolean;
132
+ url?: string;
133
+ image?: string;
134
+ imageHash?: string;
135
+ releaseDate?: string;
136
+ [x: string]: unknown;
137
+ }
138
+ export interface IEpisodeServer {
139
+ name: string;
140
+ url: string;
141
+ [x: string]: unknown;
142
+ }
143
+ export interface IVideo {
144
+ /**
145
+ * The **MAIN URL** of the video provider that should take you to the video
146
+ */
147
+ url: string;
148
+ /**
149
+ * The Quality of the video should include the `p` suffix
150
+ */
151
+ quality?: string;
152
+ /**
153
+ * make sure to set this to `true` if the video is hls
154
+ */
155
+ isM3U8?: boolean;
156
+ /**
157
+ * set this to `true` if the video is dash (mpd)
158
+ */
159
+ isDASH?: boolean;
160
+ /**
161
+ * size of the video in **bytes**
162
+ */
163
+ size?: number;
164
+ [x: string]: unknown;
165
+ }
166
+ export declare enum StreamingServers {
167
+ VideoStr = "videostr",
168
+ AsianLoad = "asianload",
169
+ GogoCDN = "gogocdn",
170
+ StreamSB = "streamsb",
171
+ MixDrop = "mixdrop",
172
+ Mp4Upload = "mp4upload",
173
+ UpCloud = "upcloud",
174
+ VidCloud = "vidcloud",
175
+ StreamTape = "streamtape",
176
+ VizCloud = "vizcloud",
177
+ MyCloud = "mycloud",
178
+ Filemoon = "filemoon",
179
+ VidStreaming = "vidstreaming",
180
+ DuckStream = "duckstream",
181
+ BirdStream = "birdstream",
182
+ BuiltIn = "builtin",
183
+ SmashyStream = "smashystream",
184
+ StreamHub = "streamhub",
185
+ StreamWish = "streamwish",
186
+ VidHide = "vidhide",
187
+ VidMoly = "vidmoly",
188
+ Voe = "voe",
189
+ MegaUp = "megaup",
190
+ MegaCloud = "megacloud",
191
+ Luffy = "luffy"
192
+ }
193
+ export declare enum MediaStatus {
194
+ ONGOING = "Ongoing",
195
+ COMPLETED = "Completed",
196
+ HIATUS = "Hiatus",
197
+ CANCELLED = "Cancelled",
198
+ NOT_YET_AIRED = "Not yet aired",
199
+ UNKNOWN = "Unknown"
200
+ }
201
+ export declare enum WatchListType {
202
+ WATCHING = "watching",
203
+ ONHOLD = "on-hold",
204
+ PLAN_TO_WATCH = "plan to watch",
205
+ DROPPED = "dropped",
206
+ COMPLETED = "completed",
207
+ NONE = "none"
208
+ }
209
+ export declare enum SubOrSub {
210
+ SUB = "sub",
211
+ DUB = "dub",
212
+ BOTH = "both"
213
+ }
214
+ export interface IMangaResult {
215
+ id: string;
216
+ title: string | [lang: string][] | ITitle;
217
+ altTitles?: string | string[] | [lang: string][];
218
+ image?: string;
219
+ description?: string | [lang: string][] | {
220
+ [lang: string]: string;
221
+ };
222
+ status?: MediaStatus;
223
+ releaseDate?: number | string;
224
+ [x: string]: unknown;
225
+ }
226
+ export interface IMangaChapter {
227
+ id: string;
228
+ title: string;
229
+ volume?: number;
230
+ pages?: number;
231
+ releaseDate?: string;
232
+ [x: string]: unknown;
233
+ }
234
+ export interface IMangaInfo extends IMangaResult {
235
+ malId?: number | string;
236
+ authors?: string[];
237
+ genres?: string[];
238
+ links?: string[];
239
+ characters?: any[];
240
+ recommendations?: IMangaResult[];
241
+ chapters?: IMangaChapter[];
242
+ }
243
+ export interface IMangaChapterPage {
244
+ img: string;
245
+ page: number;
246
+ [x: string]: unknown;
247
+ }
248
+ export interface ILightNovelResult {
249
+ id: string;
250
+ title: string | ITitle;
251
+ url: string;
252
+ image?: string;
253
+ [x: string]: unknown;
254
+ }
255
+ export interface ILightNovelChapter {
256
+ id: string;
257
+ title: string;
258
+ volume?: number | string;
259
+ url?: string;
260
+ }
261
+ export interface ILightNovelChapterContent {
262
+ novelTitle: string;
263
+ chapterTitle: string;
264
+ text: string;
265
+ }
266
+ export interface ILightNovelInfo extends ILightNovelResult {
267
+ authors?: string[];
268
+ genres?: string[];
269
+ description?: string;
270
+ chapters?: ILightNovelChapter[];
271
+ status?: MediaStatus;
272
+ views?: number;
273
+ rating?: number;
274
+ }
275
+ export interface LibgenBook extends Book {
276
+ id: string;
277
+ language: string;
278
+ format: string;
279
+ size: string;
280
+ pages: string;
281
+ tableOfContents: string;
282
+ topic: string;
283
+ hashes: Hashes;
284
+ }
285
+ export interface LibgenResult {
286
+ result: LibgenBook[];
287
+ hasNextPage: boolean;
288
+ }
289
+ export interface GetComicsComics {
290
+ image: string;
291
+ title: string;
292
+ year: string;
293
+ size: string;
294
+ excerpt: string;
295
+ category: string;
296
+ description: string;
297
+ download: string;
298
+ ufile: string;
299
+ mega: string;
300
+ mediafire: string;
301
+ zippyshare: string;
302
+ readOnline: string;
303
+ }
304
+ export interface ComicRes {
305
+ containers: GetComicsComics[];
306
+ hasNextPage: boolean;
307
+ }
308
+ export interface ISubtitle {
309
+ /**
310
+ * The id of the subtitle. **not** required
311
+ */
312
+ id?: string;
313
+ /**
314
+ * The **url** that should take you to the subtitle **directly**.
315
+ */
316
+ url: string;
317
+ /**
318
+ * The language of the subtitle
319
+ */
320
+ lang: string;
321
+ }
322
+ /**
323
+ * The start, and the end of the intro or opening in seconds.
324
+ */
325
+ export interface Intro {
326
+ start: number;
327
+ end: number;
328
+ }
329
+ export interface ISource {
330
+ headers?: {
331
+ [k: string]: string;
332
+ };
333
+ intro?: Intro;
334
+ outro?: Intro;
335
+ subtitles?: ISubtitle[];
336
+ sources: IVideo[];
337
+ download?: string | {
338
+ url?: string;
339
+ quality?: string;
340
+ }[];
341
+ embedURL?: string;
342
+ }
343
+ /**
344
+ * Used **only** for movie/tvshow providers
345
+ */
346
+ export declare enum TvType {
347
+ TVSERIES = "TV Series",
348
+ MOVIE = "Movie",
349
+ ANIME = "Anime",
350
+ PEOPLE = "People"
351
+ }
352
+ export interface IMovieEpisode {
353
+ id: string;
354
+ title: string;
355
+ url?: string;
356
+ number?: number;
357
+ season?: number;
358
+ description?: string;
359
+ image?: string;
360
+ releaseDate?: string;
361
+ [x: string]: unknown;
362
+ }
363
+ export interface IMovieResult {
364
+ id: string;
365
+ title: string | ITitle;
366
+ url?: string;
367
+ image?: string;
368
+ releaseDate?: string;
369
+ type?: TvType;
370
+ [x: string]: unknown;
371
+ }
372
+ export interface IPeopleResult {
373
+ id: string;
374
+ name: string;
375
+ rating?: string;
376
+ image?: string;
377
+ movies: IMovieResult[];
378
+ [x: string]: unknown;
379
+ }
380
+ export interface INewsFeed extends INews {
381
+ /** topics of the feed */
382
+ topics: Topics[];
383
+ /** preview of the news feed */
384
+ preview: INewsFeedPreview;
385
+ }
386
+ export interface INewsInfo extends INews {
387
+ /** intro of the news */
388
+ intro: string;
389
+ /** description of the news */
390
+ description: string;
391
+ }
392
+ interface INews {
393
+ /** id of the news */
394
+ id: string;
395
+ /** title of the news */
396
+ title: string;
397
+ /** time at which the news was uploaded */
398
+ uploadedAt: string;
399
+ /** thumbnail image URL of the news */
400
+ thumbnail: string;
401
+ /** thumbnail image blurhash code of the news */
402
+ thumbnailHash: string;
403
+ /** URL of the news */
404
+ url: string;
405
+ }
406
+ interface INewsFeedPreview {
407
+ /** intro of the feed */
408
+ intro: string;
409
+ /** some contents of the feed */
410
+ full: string;
411
+ }
412
+ export interface IMovieInfo extends IMovieResult {
413
+ cover?: string;
414
+ recommendations?: IMovieResult[];
415
+ genres?: string[];
416
+ description?: string;
417
+ rating?: number;
418
+ status?: MediaStatus;
419
+ duration?: string;
420
+ production?: string;
421
+ casts?: string[];
422
+ tags?: string[];
423
+ totalEpisodes?: number;
424
+ trailer?: Trailer;
425
+ seasons?: {
426
+ season: number;
427
+ image?: string;
428
+ episodes: IMovieEpisode[];
429
+ }[];
430
+ episodes?: IMovieEpisode[];
431
+ }
432
+ export declare enum Genres {
433
+ ACTION = "Action",
434
+ ADVENTURE = "Adventure",
435
+ CARS = "Cars",
436
+ COMEDY = "Comedy",
437
+ DRAMA = "Drama",
438
+ FANTASY = "Fantasy",
439
+ HORROR = "Horror",
440
+ MAHOU_SHOUJO = "Mahou Shoujo",
441
+ MECHA = "Mecha",
442
+ MUSIC = "Music",
443
+ MYSTERY = "Mystery",
444
+ PSYCHOLOGICAL = "Psychological",
445
+ ROMANCE = "Romance",
446
+ SCI_FI = "Sci-Fi",
447
+ SLICE_OF_LIFE = "Slice of Life",
448
+ SPORTS = "Sports",
449
+ SUPERNATURAL = "Supernatural",
450
+ THRILLER = "Thriller"
451
+ }
452
+ export declare enum Topics {
453
+ ANIME = "anime",
454
+ ANIMATION = "animation",
455
+ MANGA = "manga",
456
+ GAMES = "games",
457
+ NOVELS = "novels",
458
+ LIVE_ACTION = "live-action",
459
+ COVID_19 = "covid-19",
460
+ INDUSTRY = "industry",
461
+ MUSIC = "music",
462
+ PEOPLE = "people",
463
+ MERCH = "merch",
464
+ EVENTS = "events"
465
+ }
466
+ export interface ProxyConfig {
467
+ /**
468
+ * The proxy URL
469
+ * @example https://proxy.com
470
+ **/
471
+ url: string | string[];
472
+ /**
473
+ * X-API-Key header value (if any)
474
+ **/
475
+ key?: string;
476
+ /**
477
+ * The proxy rotation interval in milliseconds. (default: 5000)
478
+ */
479
+ rotateInterval?: number;
480
+ /**
481
+ * When true, the target URL is encoded with encodeURIComponent before
482
+ * being appended to the proxy URL. Required for CORS proxies that
483
+ * expect the target URL as a query parameter value.
484
+ * @example url: 'https://whatever.fly.dev/get?url=', encodeUrl: true
485
+ */
486
+ encodeUrl?: boolean;
487
+ }
488
+ export interface IRoles {
489
+ id: string;
490
+ title: ITitle;
491
+ type?: string;
492
+ image: {
493
+ extraLarge?: string;
494
+ large?: string;
495
+ medium?: string;
496
+ };
497
+ color?: string;
498
+ }
499
+ export interface IStaff {
500
+ id: string;
501
+ name: {
502
+ first?: string;
503
+ last?: string;
504
+ native?: string;
505
+ full?: string;
506
+ };
507
+ image?: {
508
+ large?: string;
509
+ medium?: string;
510
+ };
511
+ description?: string;
512
+ siteUrl?: string;
513
+ roles?: IRoles[];
514
+ }
515
+ export {};
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Topics = exports.Genres = exports.TvType = exports.SubOrSub = exports.WatchListType = exports.MediaStatus = exports.StreamingServers = exports.MediaFormat = void 0;
4
+ var MediaFormat;
5
+ (function (MediaFormat) {
6
+ MediaFormat["TV"] = "TV";
7
+ MediaFormat["TV_SHORT"] = "TV_SHORT";
8
+ MediaFormat["TV_SPECIAL"] = "TV_SPECIAL";
9
+ MediaFormat["MOVIE"] = "MOVIE";
10
+ MediaFormat["SPECIAL"] = "SPECIAL";
11
+ MediaFormat["OVA"] = "OVA";
12
+ MediaFormat["ONA"] = "ONA";
13
+ MediaFormat["MUSIC"] = "MUSIC";
14
+ MediaFormat["MANGA"] = "MANGA";
15
+ MediaFormat["NOVEL"] = "NOVEL";
16
+ MediaFormat["ONE_SHOT"] = "ONE_SHOT";
17
+ MediaFormat["PV"] = "PV";
18
+ MediaFormat["COMIC"] = "COMIC";
19
+ })(MediaFormat || (exports.MediaFormat = MediaFormat = {}));
20
+ var StreamingServers;
21
+ (function (StreamingServers) {
22
+ StreamingServers["VideoStr"] = "videostr";
23
+ StreamingServers["AsianLoad"] = "asianload";
24
+ StreamingServers["GogoCDN"] = "gogocdn";
25
+ StreamingServers["StreamSB"] = "streamsb";
26
+ StreamingServers["MixDrop"] = "mixdrop";
27
+ StreamingServers["Mp4Upload"] = "mp4upload";
28
+ StreamingServers["UpCloud"] = "upcloud";
29
+ StreamingServers["VidCloud"] = "vidcloud";
30
+ StreamingServers["StreamTape"] = "streamtape";
31
+ StreamingServers["VizCloud"] = "vizcloud";
32
+ StreamingServers["MyCloud"] = "mycloud";
33
+ StreamingServers["Filemoon"] = "filemoon";
34
+ StreamingServers["VidStreaming"] = "vidstreaming";
35
+ StreamingServers["DuckStream"] = "duckstream";
36
+ StreamingServers["BirdStream"] = "birdstream";
37
+ StreamingServers["BuiltIn"] = "builtin";
38
+ StreamingServers["SmashyStream"] = "smashystream";
39
+ StreamingServers["StreamHub"] = "streamhub";
40
+ StreamingServers["StreamWish"] = "streamwish";
41
+ StreamingServers["VidHide"] = "vidhide";
42
+ StreamingServers["VidMoly"] = "vidmoly";
43
+ StreamingServers["Voe"] = "voe";
44
+ StreamingServers["MegaUp"] = "megaup";
45
+ StreamingServers["MegaCloud"] = "megacloud";
46
+ StreamingServers["Luffy"] = "luffy";
47
+ })(StreamingServers || (exports.StreamingServers = StreamingServers = {}));
48
+ var MediaStatus;
49
+ (function (MediaStatus) {
50
+ MediaStatus["ONGOING"] = "Ongoing";
51
+ MediaStatus["COMPLETED"] = "Completed";
52
+ MediaStatus["HIATUS"] = "Hiatus";
53
+ MediaStatus["CANCELLED"] = "Cancelled";
54
+ MediaStatus["NOT_YET_AIRED"] = "Not yet aired";
55
+ MediaStatus["UNKNOWN"] = "Unknown";
56
+ })(MediaStatus || (exports.MediaStatus = MediaStatus = {}));
57
+ var WatchListType;
58
+ (function (WatchListType) {
59
+ WatchListType["WATCHING"] = "watching";
60
+ WatchListType["ONHOLD"] = "on-hold";
61
+ WatchListType["PLAN_TO_WATCH"] = "plan to watch";
62
+ WatchListType["DROPPED"] = "dropped";
63
+ WatchListType["COMPLETED"] = "completed";
64
+ WatchListType["NONE"] = "none";
65
+ })(WatchListType || (exports.WatchListType = WatchListType = {}));
66
+ var SubOrSub;
67
+ (function (SubOrSub) {
68
+ SubOrSub["SUB"] = "sub";
69
+ SubOrSub["DUB"] = "dub";
70
+ SubOrSub["BOTH"] = "both";
71
+ })(SubOrSub || (exports.SubOrSub = SubOrSub = {}));
72
+ /**
73
+ * Used **only** for movie/tvshow providers
74
+ */
75
+ var TvType;
76
+ (function (TvType) {
77
+ TvType["TVSERIES"] = "TV Series";
78
+ TvType["MOVIE"] = "Movie";
79
+ TvType["ANIME"] = "Anime";
80
+ TvType["PEOPLE"] = "People";
81
+ })(TvType || (exports.TvType = TvType = {}));
82
+ var Genres;
83
+ (function (Genres) {
84
+ Genres["ACTION"] = "Action";
85
+ Genres["ADVENTURE"] = "Adventure";
86
+ Genres["CARS"] = "Cars";
87
+ Genres["COMEDY"] = "Comedy";
88
+ Genres["DRAMA"] = "Drama";
89
+ Genres["FANTASY"] = "Fantasy";
90
+ Genres["HORROR"] = "Horror";
91
+ Genres["MAHOU_SHOUJO"] = "Mahou Shoujo";
92
+ Genres["MECHA"] = "Mecha";
93
+ Genres["MUSIC"] = "Music";
94
+ Genres["MYSTERY"] = "Mystery";
95
+ Genres["PSYCHOLOGICAL"] = "Psychological";
96
+ Genres["ROMANCE"] = "Romance";
97
+ Genres["SCI_FI"] = "Sci-Fi";
98
+ Genres["SLICE_OF_LIFE"] = "Slice of Life";
99
+ Genres["SPORTS"] = "Sports";
100
+ Genres["SUPERNATURAL"] = "Supernatural";
101
+ Genres["THRILLER"] = "Thriller";
102
+ })(Genres || (exports.Genres = Genres = {}));
103
+ var Topics;
104
+ (function (Topics) {
105
+ Topics["ANIME"] = "anime";
106
+ Topics["ANIMATION"] = "animation";
107
+ Topics["MANGA"] = "manga";
108
+ Topics["GAMES"] = "games";
109
+ Topics["NOVELS"] = "novels";
110
+ Topics["LIVE_ACTION"] = "live-action";
111
+ Topics["COVID_19"] = "covid-19";
112
+ Topics["INDUSTRY"] = "industry";
113
+ Topics["MUSIC"] = "music";
114
+ Topics["PEOPLE"] = "people";
115
+ Topics["MERCH"] = "merch";
116
+ Topics["EVENTS"] = "events";
117
+ })(Topics || (exports.Topics = Topics = {}));
118
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/models/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { IVideo, ISource } from '.';
2
+ import Proxy from '../models/proxy';
3
+ declare abstract class VideoExtractor extends Proxy {
4
+ /**
5
+ * The server name of the video provider
6
+ */
7
+ protected abstract serverName: string;
8
+ /**
9
+ * list of videos available
10
+ */
11
+ protected abstract sources: IVideo[];
12
+ /**
13
+ * takes video link
14
+ *
15
+ * returns video sources (video links) available
16
+ */
17
+ protected abstract extract(videoUrl: URL, ...args: any): Promise<IVideo[] | ISource>;
18
+ }
19
+ export default VideoExtractor;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const proxy_1 = __importDefault(require("../models/proxy"));
7
+ class VideoExtractor extends proxy_1.default {
8
+ }
9
+ exports.default = VideoExtractor;
10
+ //# sourceMappingURL=video-extractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video-extractor.js","sourceRoot":"","sources":["../../src/models/video-extractor.ts"],"names":[],"mappings":";;;;;AACA,4DAAoC;AAEpC,MAAe,cAAe,SAAQ,eAAK;CAiB1C;AAED,kBAAe,cAAc,CAAC"}