diff --git a/apps/web/lib/rotator.ts b/apps/web/lib/rotator.ts index 99870a4..e9ffa29 100644 --- a/apps/web/lib/rotator.ts +++ b/apps/web/lib/rotator.ts @@ -27,15 +27,18 @@ export const rotateProvider = async ( if (process.env.NODE_ENV === 'development') { await redisClient.del(url); } + // console.log(provider.resourceName()); if (provider.maintenance) { return await rotateProvider(getRandomProvider(), url, skipOnError); } const cachedData = await redisClient.get(url); + console.log(cachedData); if (!cachedData) { try { const data = await provider.fetch(url, params ?? {}); + console.log(data); if (data.error) { if (!skipOnError) { return { diff --git a/packages/core/src/dddTikProvider.ts b/packages/core/src/dddTikProvider.ts deleted file mode 100644 index 41374c6..0000000 --- a/packages/core/src/dddTikProvider.ts +++ /dev/null @@ -1,67 +0,0 @@ -import {BaseProvider, ExtractedInfo} from './base'; -import {getFetch} from '../fetch'; -import {matchLink} from './utils'; -import type {Shape} from 'ow'; - -/** - * @class DDDTikProvider - */ -export class DDDTikProvider extends BaseProvider { - /** - * Get resource name - * - * @return {string} - */ - public resourceName(): string { - return 'dddtik'; - } - - public client = getFetch('https://dddtik.com'); - - public maintenance = undefined; - - /** - * @param {string} url Tiktok video url - * @return {Promise} - */ - async fetch(url: string): Promise { - const response = await this.client.post('./down_2892409.php', { - form: { - url, - }, - }); - - return this.extract(response.body); - } - - /** - * @param {string} html - * @return {ExtractedInfo} - */ - extract(html: string): ExtractedInfo { - const urls = matchLink(html) as string[]; - urls.pop(); - - if (urls.length === 1) { - return { - error: 'Something went wrong!', - }; - } - - const t = urls[1]; - return { - video: { - urls: urls.filter((u) => u !== t), - thumb: t, - }, - }; - } - - /** - * Get ow.Shape params. - * @return {Shape | undefined} - */ - public getParams(): Shape | undefined { - return undefined; - } -} diff --git a/packages/core/src/downTikProvider.ts b/packages/core/src/downTikProvider.ts index ce2deab..61bf091 100644 --- a/packages/core/src/downTikProvider.ts +++ b/packages/core/src/downTikProvider.ts @@ -26,7 +26,11 @@ export class DownTikProvider extends BaseProvider { * @return {Promise} */ async fetch(url: string): Promise { - const response = await this.client('./'); + const response = await this.client('./', { + searchParams: new URLSearchParams({ + lang: 'en', + }), + }); const token = ( response.body.match(/id="token" value="([^""]+)"/) as string[] @@ -37,6 +41,9 @@ export class DownTikProvider extends BaseProvider { url: url, token: token, }, + searchParams: new URLSearchParams({ + lang: 'en', + }), headers: { cookie: response.headers['set-cookie']?.toString(), Referer: 'https://downtik.io/', @@ -55,7 +62,7 @@ export class DownTikProvider extends BaseProvider { return this.extract(responseAction.body); } - return this.extract(JSON.parse(responseAction.body).data); + return this.extract(responseAction.body); } /** diff --git a/packages/core/src/downloaderOneProvider.ts b/packages/core/src/downloaderOneProvider.ts deleted file mode 100644 index 01ad4b9..0000000 --- a/packages/core/src/downloaderOneProvider.ts +++ /dev/null @@ -1,99 +0,0 @@ -import {BaseProvider, ExtractedInfo} from './base'; -import {getFetch} from '../fetch'; -import type {Shape} from 'ow'; - -/** - * @class DownloadOne - */ -export class DownloadOne extends BaseProvider { - /** - * Get provider name - * @return {string} - */ - public resourceName(): string { - return 'ttdownloaderone'; - } - - public client = getFetch('http://tiktokdownloader.one'); - - public maintenance = undefined; - - /** - * Fetch ttdownloader.one - * @param {string} url Video TikTok URL - * @return {Promise} - */ - public async fetch(url: string): Promise { - // getting the token - const response = await this.client('./'); - - const token = ( - /name="_token_" content="(.*)"/gi.exec(response.body) as string[] - )[1]; - - const dlResponse = await this.client('./api/v1/fetch?url=' + url, { - headers: { - TOKEN: token, - Referer: 'http://tiktokdownloader.one/', - Origin: 'http://tiktokdownloader.one', - Accept: 'application/json, text/plain, */*', - }, - }); - - if (dlResponse.statusCode !== 200) { - return { - error: "Probably the video doesn't exist", - }; - } - - return this.extract(dlResponse.body); - } - - /** - * Extract page from ttdownloader.one site - * @param {string} html - * @return {ExtractedInfo} - */ - extract(html: string): ExtractedInfo { - const json = JSON.parse(html); - if (json.error) { - return { - error: json.error, - }; - } - - return { - video: { - urls: [json.url, json.url_nwm], - thumb: json.cover, - id: json.video_id, - }, - music: { - url: json.music.url, - title: json.music.title, - cover: json.music.cover, - author: json.music.author, - }, - author: { - id: json.user.name, - username: json.user.username, - thumb: json.user.cover, - }, - caption: json.caption, - updatedAt: json.updatedAt ?? '-', - uploadedAt: json.uploaded_at, - commentsCount: json.stats.comment, - sharesCount: json.stats.shares, - likesCount: json.stats.likes, - playsCount: json.stats.play, - }; - } - - /** - * Get ow.Shape params. - * @return {Shape | undefined} - */ - public getParams(): Shape | undefined { - return undefined; - } -} diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 522a992..8385baf 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -9,8 +9,8 @@ import {SaveTikProvider} from './saveTikProvider'; import {TikDownProvider} from './tikDownProvider'; import {DownTikProvider} from './downTikProvider'; import {LoveTikProvider} from './loveTikProvider'; -import {DDDTikProvider} from './dddTikProvider'; -import {DownloadOne} from './downloaderOneProvider'; +// import {DDDTikProvider} from './dddTikProvider'; +// import {DownloadOne} from './downloaderOneProvider'; import {NativeProvider} from './nativeProvider'; import {GetVidTikProvider} from './getVidTikProvider'; @@ -24,8 +24,8 @@ export const Providers: BaseProvider[] = [ new TikDownProvider(), new DownTikProvider(), // SaveTik Mirror new LoveTikProvider(), - new DDDTikProvider(), - new DownloadOne(), + // new DDDTikProvider(), + // new DownloadOne(), new NativeProvider(), new GetVidTikProvider(), ];