fix
This commit is contained in:
+13
-8
@@ -2,7 +2,7 @@ async function searchResults(keyword) {
|
|||||||
try {
|
try {
|
||||||
const encodedKeyword = encodeURIComponent(keyword);
|
const encodedKeyword = encodeURIComponent(keyword);
|
||||||
const ddosInterceptor = new DdosGuardInterceptor();
|
const ddosInterceptor = new DdosGuardInterceptor();
|
||||||
const responseText = await ddosInterceptor.fetchWithBypass(`https://animepahe.com/api?m=search&q=${encodedKeyword}`);
|
const responseText = await ddosInterceptor.fetchWithBypass(`https://animepahe.pw/api?m=search&q=${encodedKeyword}`);
|
||||||
const dataText = await responseText.text();
|
const dataText = await responseText.text();
|
||||||
console.log(dataText);
|
console.log(dataText);
|
||||||
const data = JSON.parse(dataText);
|
const data = JSON.parse(dataText);
|
||||||
@@ -10,14 +10,14 @@ async function searchResults(keyword) {
|
|||||||
return {
|
return {
|
||||||
title: result.title,
|
title: result.title,
|
||||||
image: result.poster,
|
image: result.poster,
|
||||||
href: `https://animepahe.com/anime/${result.session}`
|
href: `https://animepahe.pw/anime/${result.session}`
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
return JSON.stringify(transformedResults);
|
return JSON.stringify(transformedResults);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log("Fetch error in searchResults: " + error);
|
console.log("Fetch error in searchResults: " + error);
|
||||||
return JSON.stringify([{ title: "Error", image: "", href: "" }]);
|
return JSON.stringify([{ title: "Please wait a bit then try again!", image: "", href: "" }]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -60,14 +60,14 @@ async function extractEpisodes(url) {
|
|||||||
const ddosInterceptor = new DdosGuardInterceptor();
|
const ddosInterceptor = new DdosGuardInterceptor();
|
||||||
|
|
||||||
let page = 1;
|
let page = 1;
|
||||||
const apiUrl1 = `https://animepahe.com/api?m=release&id=${id}&sort=episode_asc&page=${page}`;
|
const apiUrl1 = `https://animepahe.pw/api?m=release&id=${id}&sort=episode_asc&page=${page}`;
|
||||||
const response1 = await ddosInterceptor.fetchWithBypass(apiUrl1);
|
const response1 = await ddosInterceptor.fetchWithBypass(apiUrl1);
|
||||||
const dataText1 = await response1.text();
|
const dataText1 = await response1.text();
|
||||||
const data1 = JSON.parse(dataText1);
|
const data1 = JSON.parse(dataText1);
|
||||||
|
|
||||||
for (const item of data1.data) {
|
for (const item of data1.data) {
|
||||||
results.push({
|
results.push({
|
||||||
href: `https://animepahe.com/play/${id}/${item.session}`,
|
href: `https://animepahe.pw/play/${id}/${item.session}`,
|
||||||
number: item.episode
|
number: item.episode
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -81,7 +81,7 @@ async function extractEpisodes(url) {
|
|||||||
let retries = 0;
|
let retries = 0;
|
||||||
while (!pageData && retries < 3) {
|
while (!pageData && retries < 3) {
|
||||||
try {
|
try {
|
||||||
const apiUrl = `https://animepahe.com/api?m=release&id=${id}&sort=episode_asc&page=${pageNum}`;
|
const apiUrl = `https://animepahe.pw/api?m=release&id=${id}&sort=episode_asc&page=${pageNum}`;
|
||||||
const response = await ddosInterceptor.fetchWithBypass(apiUrl);
|
const response = await ddosInterceptor.fetchWithBypass(apiUrl);
|
||||||
const dataText = await response.text();
|
const dataText = await response.text();
|
||||||
pageData = JSON.parse(dataText);
|
pageData = JSON.parse(dataText);
|
||||||
@@ -101,7 +101,7 @@ async function extractEpisodes(url) {
|
|||||||
if (pageData && pageData.data) {
|
if (pageData && pageData.data) {
|
||||||
for (const item of pageData.data) {
|
for (const item of pageData.data) {
|
||||||
results.push({
|
results.push({
|
||||||
href: `https://animepahe.com/play/${id}/${item.session}`,
|
href: `https://animepahe.pw/play/${id}/${item.session}`,
|
||||||
number: item.episode
|
number: item.episode
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -265,7 +265,7 @@ async function extractStreamUrl(url) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fixed DDOS Bypass
|
// Fixed Bypass
|
||||||
class DdosGuardInterceptor {
|
class DdosGuardInterceptor {
|
||||||
constructor() {
|
constructor() {
|
||||||
this.errorCodes = [403];
|
this.errorCodes = [403];
|
||||||
@@ -274,6 +274,11 @@ class DdosGuardInterceptor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async fetchWithBypass(url, options = {}) {
|
async fetchWithBypass(url, options = {}) {
|
||||||
|
const solverUrl = `https://tmdbproxy22.simplepostrequest.workers.dev/solver?url=${encodeURIComponent(url)}&cache=1h`;
|
||||||
|
return fetchv2(solverUrl, options.headers || {});
|
||||||
|
}
|
||||||
|
|
||||||
|
async fetchWithBypassDdos(url, options = {}) {
|
||||||
let response = await this.fetchWithCookies(url, options);
|
let response = await this.fetchWithCookies(url, options);
|
||||||
let responseText = null;
|
let responseText = null;
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
"name": "50/50",
|
"name": "50/50",
|
||||||
"icon": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQ3122kQwublLkZ6rf1fEpUP79BxZOFmH9BSA&s"
|
"icon": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQ3122kQwublLkZ6rf1fEpUP79BxZOFmH9BSA&s"
|
||||||
},
|
},
|
||||||
"version": "1.0.4",
|
"version": "1.2.0",
|
||||||
"language": "English",
|
"language": "English",
|
||||||
"streamType": "HLS",
|
"streamType": "HLS",
|
||||||
"quality": "1080p",
|
"quality": "1080p",
|
||||||
|
|||||||
Reference in New Issue
Block a user