UNPKG

tiktok-scraper-nowatermarks

Version:

Wrapper for TikFast to download videos without watermarks

122 lines 7.1 kB
"use strict"; /* eslint-disable no-restricted-syntax */ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); function getVideoWatermarkFree(videoUrl) { return __awaiter(this, void 0, void 0, function* () { return new Promise((resolve, reject) => { if (!videoUrl || videoUrl.length === 0) { reject(new Error('No video URL provided')); } fetch('https://tikfast.net/en') .then((mainResponse) => { const cookie = mainResponse.headers.get('set-cookie'); if (cookie) { fetch('https://tikfast.net/tik-download/download-link', { headers: { accept: 'application/json, text/javascript, */*; q=0.01', 'accept-language': 'de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7', 'content-type': 'application/json', 'sec-ch-ua': '"Chromium";v="106", "Google Chrome";v="106", "Not;A=Brand";v="99"', 'sec-ch-ua-mobile': '?0', 'sec-ch-ua-platform': '"macOS"', 'sec-fetch-dest': 'empty', 'sec-fetch-mode': 'cors', 'sec-fetch-site': 'same-origin', 'x-requested-with': 'XMLHttpRequest', cookie, Referer: 'https://tikfast.net/en', 'Referrer-Policy': 'strict-origin-when-cross-origin', }, body: `{"0": "${videoUrl}"}`, method: 'POST', }) .then((downloadLinkResponse) => downloadLinkResponse.json()) .then((downloadLinkJson) => { if (downloadLinkJson && downloadLinkJson.status === 'ok' && downloadLinkJson.code === 200 && downloadLinkJson.data && downloadLinkJson.data.length > 0) { const { data } = downloadLinkJson; for (const dataItem of data) { const link = dataItem === null || dataItem === void 0 ? void 0 : dataItem.water_free_link; if (link) { fetch('https://tikfast.net/tik-download/download', { headers: { accept: 'application/json, text/javascript, */*; q=0.01', 'accept-language': 'de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7', 'content-type': 'application/json', 'sec-ch-ua': '"Chromium";v="106", "Google Chrome";v="106", "Not;A=Brand";v="99"', 'sec-ch-ua-mobile': '?0', 'sec-ch-ua-platform': '"macOS"', 'sec-fetch-dest': 'empty', 'sec-fetch-mode': 'cors', 'sec-fetch-site': 'same-origin', 'x-requested-with': 'XMLHttpRequest', cookie, Referer: 'https://tikfast.net/en', 'Referrer-Policy': 'strict-origin-when-cross-origin', }, body: `{"url": "${link}"}`, method: 'POST', }) .then((downloadResponse) => downloadResponse.json()) .then((downloadJson) => { if (downloadJson.status === 'ok' && downloadJson.code === 200 && downloadJson.data && downloadJson.data .length > 0) { const responseData = downloadJson .data[0]; if (responseData) { responseData.description = downloadLinkJson.data[0].description; responseData.cover_url = downloadLinkJson.data[0].cover_url; resolve(responseData); } else { reject(new Error('[Fetching download] No data found')); } } else { reject(new Error('[Fetching download] error')); } }) .catch((err) => reject(err)); } else { reject(new Error('[Fetching download link] No link found')); } } } else { reject(new Error('[Fetching download-link] error')); } }) .catch((err) => reject(err)); } else { reject(new Error('No cookie found')); } }) .catch((err) => { reject(err); }); }); }); } exports.default = getVideoWatermarkFree; //# sourceMappingURL=index.js.map