mirror of
https://github.com/hansputera/tiktok-dl.git
synced 2026-04-06 04:01:57 +02:00
feat(packages.core): disabling saveFrom due lack knowledge to RE their browser mechanism request
Signed-off-by: Hanif Dwy Putra S <hanifdwyputrasembiring@gmail.com>
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import got from 'got';
|
||||
import {getFetch} from '../fetch';
|
||||
import {BaseProvider, ExtractedInfo, MaintenanceProvider} from './base';
|
||||
import {deObfuscateSaveFromScript} from './utils';
|
||||
@@ -17,8 +18,8 @@ export class SaveFromProvider extends BaseProvider {
|
||||
public client = getFetch('https://worker.savefrom.net');
|
||||
|
||||
public maintenance: MaintenanceProvider = {
|
||||
reason: 'Need advance investigate to Reverse Engineering the response scripts.'
|
||||
}
|
||||
reason: 'Need further investigation.',
|
||||
};
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -26,27 +27,33 @@ export class SaveFromProvider extends BaseProvider {
|
||||
* @return {Promise<ExtractedInfo>}
|
||||
*/
|
||||
public async fetch(url: string): Promise<ExtractedInfo> {
|
||||
const responseFirst = await got.get('https://en1.savefrom.net');
|
||||
const response = await this.client.post('./savefrom.php', {
|
||||
form: {
|
||||
sf_url: url,
|
||||
sf_submit: '',
|
||||
new: '2',
|
||||
lang: 'id',
|
||||
lang: 'en',
|
||||
country: 'id',
|
||||
os: 'Ubuntu',
|
||||
browser: 'Firefox',
|
||||
channel: 'Downloader',
|
||||
os: 'Linux',
|
||||
browser: 'Brave',
|
||||
channel: 'main',
|
||||
'sf-nomad': '1',
|
||||
url,
|
||||
ts: Date.now(),
|
||||
_ts: Date.now(),
|
||||
_tsc: 0,
|
||||
},
|
||||
headers: {
|
||||
Origin: 'https://id.savefrom.net',
|
||||
Referer: 'https://id.savefrom.net',
|
||||
'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',
|
||||
Origin: 'https://en1.savefrom.net',
|
||||
Referer: 'https://en1.savefrom.net',
|
||||
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36',
|
||||
Cookies: responseFirst.headers['set-cookie']?.toString(),
|
||||
},
|
||||
});
|
||||
|
||||
console.log(response.body);
|
||||
|
||||
return this.extract(response.body);
|
||||
}
|
||||
|
||||
|
||||
@@ -92,9 +92,10 @@ export const matchCustomDownload = (
|
||||
|
||||
export const deObfuscateSaveFromScript = (scriptContent: string): string => {
|
||||
const safeScript =
|
||||
'let result;' +
|
||||
'let result = ' +
|
||||
scriptContent
|
||||
.replace(/\/\*js\-response\*\//gi, '');
|
||||
|
||||
const vm = new NodeVM({
|
||||
compiler: 'javascript',
|
||||
console: 'inherit',
|
||||
|
||||
Reference in New Issue
Block a user