Update index.js
Browse files
index.js
CHANGED
|
@@ -842,21 +842,6 @@ return res.json({message: "Success", code: 200, data:data})
|
|
| 842 |
|
| 843 |
const results = [];
|
| 844 |
|
| 845 |
-
// Fungsi untuk menghasilkan User-Agent acak
|
| 846 |
-
function generateRandomUserAgent() {
|
| 847 |
-
const userAgents = [
|
| 848 |
-
'Mozilla/5.0 (Windows NT 10.0; Win64; x64)...',
|
| 849 |
-
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)...',
|
| 850 |
-
// Tambahkan lebih banyak User-Agent jika diperlukan
|
| 851 |
-
];
|
| 852 |
-
return userAgents[Math.floor(Math.random() * userAgents.length)];
|
| 853 |
-
}
|
| 854 |
-
|
| 855 |
-
// Fungsi untuk menghasilkan IP acak
|
| 856 |
-
function generateRandomIP() {
|
| 857 |
-
return `${Math.floor(Math.random() * 256)}.${Math.floor(Math.random() * 256)}.${Math.floor(Math.random() * 256)}.${Math.floor(Math.random() * 256)}`;
|
| 858 |
-
}
|
| 859 |
-
|
| 860 |
// Coba ambil data dari API tikwm.com
|
| 861 |
try {
|
| 862 |
const response = await fetch(`https://tikwm.com/api/?url=${encodeURIComponent(url)}`, {
|
|
@@ -870,61 +855,47 @@ return res.json({message: "Success", code: 200, data:data})
|
|
| 870 |
const data = await response.json();
|
| 871 |
|
| 872 |
if (data.code === -1) {
|
| 873 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 874 |
}
|
| 875 |
|
|
|
|
| 876 |
results.push({ source: 'tikwm.com', data });
|
| 877 |
-
// Jika berhasil dan data.code bukan -1, langsung kembalikan hasilnya
|
| 878 |
return res.json({
|
| 879 |
message: "Success",
|
| 880 |
code: 200,
|
| 881 |
data: results,
|
| 882 |
});
|
| 883 |
} else {
|
|
|
|
| 884 |
console.log({ message: 'Failed to fetch data from tikwm.com', status: response.status });
|
| 885 |
-
|
| 886 |
-
|
| 887 |
-
|
| 888 |
-
|
| 889 |
-
|
| 890 |
-
}
|
| 891 |
-
|
| 892 |
-
// Jika fetching dari tikwm.com gagal atau data.code adalah -1, coba Tiktok.Downloader dengan versi berbeda
|
| 893 |
-
const versions = ['v1', 'v2', 'v3'];
|
| 894 |
-
let downloaderSuccess = false;
|
| 895 |
-
const Tiktok = require("@tobyg74/tiktok-api-dl");
|
| 896 |
-
for (const version of versions) {
|
| 897 |
-
try {
|
| 898 |
-
const tiktokResult = await Tiktok.Downloader(url, { version });
|
| 899 |
-
results.push({ source: 'Tiktok.Downloader', version, data: tiktokResult });
|
| 900 |
-
downloaderSuccess = true;
|
| 901 |
-
// Jika berhasil, hentikan iterasi versi
|
| 902 |
-
break;
|
| 903 |
-
} catch (error) {
|
| 904 |
-
console.log({ message: `Error with Tiktok.Downloader version ${version}`, error });
|
| 905 |
-
results.push({ source: 'Tiktok.Downloader', version, message: "Internal Server Error", code: 500 });
|
| 906 |
-
// Lanjutkan ke versi berikutnya jika ada error
|
| 907 |
}
|
| 908 |
-
}
|
| 909 |
-
|
| 910 |
-
|
| 911 |
-
return res.json({
|
| 912 |
-
message: "Success",
|
| 913 |
-
code: 200,
|
| 914 |
-
data: results,
|
| 915 |
-
});
|
| 916 |
-
} else {
|
| 917 |
-
// Jika semua versi Tiktok.Downloader gagal
|
| 918 |
return res.json({
|
| 919 |
message: "Internal Server Error",
|
| 920 |
code: 500,
|
| 921 |
-
|
| 922 |
});
|
| 923 |
}
|
| 924 |
|
| 925 |
} catch (e) {
|
|
|
|
| 926 |
console.log({ message: 'Unexpected Error', error: e });
|
| 927 |
-
return res.json({
|
|
|
|
|
|
|
|
|
|
|
|
|
| 928 |
}
|
| 929 |
})
|
| 930 |
|
|
|
|
| 842 |
|
| 843 |
const results = [];
|
| 844 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 845 |
// Coba ambil data dari API tikwm.com
|
| 846 |
try {
|
| 847 |
const response = await fetch(`https://tikwm.com/api/?url=${encodeURIComponent(url)}`, {
|
|
|
|
| 855 |
const data = await response.json();
|
| 856 |
|
| 857 |
if (data.code === -1) {
|
| 858 |
+
return res.json({
|
| 859 |
+
message: "Internal Server Error",
|
| 860 |
+
code: 500,
|
| 861 |
+
data: data,
|
| 862 |
+
});
|
| 863 |
}
|
| 864 |
|
| 865 |
+
// Jika berhasil dan data.code bukan -1, simpan data dan kembalikan hasilnya
|
| 866 |
results.push({ source: 'tikwm.com', data });
|
|
|
|
| 867 |
return res.json({
|
| 868 |
message: "Success",
|
| 869 |
code: 200,
|
| 870 |
data: results,
|
| 871 |
});
|
| 872 |
} else {
|
| 873 |
+
// Jika response tidak OK, log error dan kembalikan respons error
|
| 874 |
console.log({ message: 'Failed to fetch data from tikwm.com', status: response.status });
|
| 875 |
+
return res.json({
|
| 876 |
+
message: "Internal Server Error",
|
| 877 |
+
code: 500,
|
| 878 |
+
error: 'Failed to fetch data from tikwm.com',
|
| 879 |
+
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 880 |
}
|
| 881 |
+
} catch (e) {
|
| 882 |
+
// Penanganan error jika terjadi kesalahan selama fetching dari tikwm.com
|
| 883 |
+
console.log({ message: 'Unexpected Error', error: e });
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 884 |
return res.json({
|
| 885 |
message: "Internal Server Error",
|
| 886 |
code: 500,
|
| 887 |
+
error: e.message || 'Unexpected error occurred',
|
| 888 |
});
|
| 889 |
}
|
| 890 |
|
| 891 |
} catch (e) {
|
| 892 |
+
// Penanganan error jika terjadi kesalahan yang tidak terduga
|
| 893 |
console.log({ message: 'Unexpected Error', error: e });
|
| 894 |
+
return res.json({
|
| 895 |
+
message: "Internal Server Error",
|
| 896 |
+
code: 500,
|
| 897 |
+
error: e.message || 'Unexpected error occurred',
|
| 898 |
+
});
|
| 899 |
}
|
| 900 |
})
|
| 901 |
|