Update anime/hianime/source.js
This commit is contained in:
@@ -53,7 +53,7 @@ class HiAnime {
|
||||
fetchAjax(url, extraHeaders) {
|
||||
console.log("[HiAnime] fetchAjax url=", url);
|
||||
const headers = Object.assign(
|
||||
{ "X-Requested-With": "XMLHttpRequest" },
|
||||
{ "X-Requested-With": "XMLHttpRequest", "Referer": this.baseUrl + "/" },
|
||||
extraHeaders || {}
|
||||
);
|
||||
return fetch(url, { headers });
|
||||
@@ -83,17 +83,16 @@ class HiAnime {
|
||||
const year = startDate.year || null;
|
||||
const month = startDate.month || null;
|
||||
|
||||
let url = `${this.baseUrl}/search?keyword=${encodeURIComponent(
|
||||
queryText
|
||||
)}&sort=default`;
|
||||
let url = `${this.baseUrl}/search?keyword=${encodeURIComponent(queryText)}&sort=default`;
|
||||
if (year) url += `&sy=${year}`;
|
||||
if (month) url += `&sm=${month}`;
|
||||
|
||||
console.log("[HiAnime] search() url=", url);
|
||||
|
||||
const response = fetch(url);
|
||||
const html = response.text();
|
||||
console.log("[HiAnime] search() status=", response.status, "ok=", response.ok);
|
||||
|
||||
const html = response.text();
|
||||
console.log("[HiAnime] search() htmlLen=", (html || "").length);
|
||||
|
||||
const regex =
|
||||
@@ -111,9 +110,7 @@ class HiAnime {
|
||||
const idNum = m[3];
|
||||
|
||||
const imgRe = new RegExp(
|
||||
`<a[^>]+href="\\/watch\\/${watchSlug
|
||||
.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")
|
||||
}"[\\s\\S]*?<img[^>]+(?:data-src|src)="([^"]+)"`,
|
||||
`<a[^>]+href="\\/watch\\/${watchSlug.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}"[\\s\\S]*?<img[^>]+(?:data-src|src)="([^"]+)"`,
|
||||
"i"
|
||||
);
|
||||
const imgM = html.match(imgRe);
|
||||
@@ -186,6 +183,8 @@ class HiAnime {
|
||||
console.log("[HiAnime] findEpisodes() url=", url);
|
||||
|
||||
const response = this.fetchAjax(url);
|
||||
console.log("[HiAnime] findEpisodes() status=", response.status, "ok=", response.ok);
|
||||
|
||||
const json = response.json();
|
||||
const html = this.safeString(json.html);
|
||||
|
||||
@@ -258,8 +257,7 @@ class HiAnime {
|
||||
subOrDub = "sub";
|
||||
}
|
||||
|
||||
if (episodeId && episodeId.includes("/"))
|
||||
[episodeId, subOrDub] = episodeId.split("/");
|
||||
if (episodeId && episodeId.includes("/")) [episodeId, subOrDub] = episodeId.split("/");
|
||||
|
||||
let serverName = _server && _server !== "default" ? _server : "HD-1";
|
||||
|
||||
@@ -269,6 +267,8 @@ class HiAnime {
|
||||
console.log("[HiAnime] findEpisodeServer() serversUrl=", serversUrl);
|
||||
|
||||
const serverResponse = this.fetchAjax(serversUrl);
|
||||
console.log("[HiAnime] servers status=", serverResponse.status, "ok=", serverResponse.ok);
|
||||
|
||||
const serverJson = serverResponse.json();
|
||||
const serverHtml = this.safeString(serverJson.html);
|
||||
|
||||
@@ -303,6 +303,8 @@ class HiAnime {
|
||||
console.log("[HiAnime] findEpisodeServer() sourcesUrl=", sourcesUrl);
|
||||
|
||||
const sourcesResponse = this.fetchAjax(sourcesUrl);
|
||||
console.log("[HiAnime] sources status=", sourcesResponse.status, "ok=", sourcesResponse.ok);
|
||||
|
||||
const sourcesJson = sourcesResponse.json();
|
||||
|
||||
console.log("[HiAnime] findEpisodeServer() sourcesJson has link=", !!sourcesJson.link);
|
||||
@@ -321,12 +323,12 @@ class HiAnime {
|
||||
}
|
||||
|
||||
if (!decryptData) {
|
||||
const fallbackUrl = `https://ac-api.ofchaos.com/api/anime/embed/convert/v2?embedUrl=${encodeURIComponent(
|
||||
sourcesJson.link
|
||||
)}`;
|
||||
const fallbackUrl = `https://ac-api.ofchaos.com/api/anime/embed/convert/v2?embedUrl=${encodeURIComponent(sourcesJson.link)}`;
|
||||
console.log("[HiAnime] fallbackUrl=", fallbackUrl);
|
||||
|
||||
const fallbackResponse = fetch(fallbackUrl);
|
||||
console.log("[HiAnime] fallback status=", fallbackResponse.status, "ok=", fallbackResponse.ok);
|
||||
|
||||
decryptData = fallbackResponse.json();
|
||||
|
||||
requiredHeaders = {
|
||||
@@ -395,8 +397,9 @@ class HiAnime {
|
||||
};
|
||||
|
||||
const response = fetch(embedUrl, { headers });
|
||||
const html = response.text();
|
||||
console.log("[HiAnime] embed status=", response.status, "ok=", response.ok);
|
||||
|
||||
const html = response.text();
|
||||
console.log("[HiAnime] extractMegaCloud() embed htmlLen=", (html || "").length);
|
||||
|
||||
const fileIdMatch = html.match(/<title>\s*File\s+#([a-zA-Z0-9]+)\s*-/i);
|
||||
@@ -424,8 +427,9 @@ class HiAnime {
|
||||
console.log("[HiAnime] extractMegaCloud() sourcesUrl=", sourcesUrl);
|
||||
|
||||
const sourcesResponse = fetch(sourcesUrl, { headers });
|
||||
const sourcesJson = sourcesResponse.json();
|
||||
console.log("[HiAnime] sources status=", sourcesResponse.status, "ok=", sourcesResponse.ok);
|
||||
|
||||
const sourcesJson = sourcesResponse.json();
|
||||
console.log("[HiAnime] extractMegaCloud() sources=", (sourcesJson.sources ? sourcesJson.sources.length : 0), "tracks=", (sourcesJson.tracks ? sourcesJson.tracks.length : 0));
|
||||
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user