Merge branch 'main' into manga/webtoons

This commit is contained in:
xMohnad
2025-06-15 22:01:37 +03:00
committed by GitHub
54 changed files with 496 additions and 519 deletions

View File

@@ -6,7 +6,7 @@ const mangayomiSources = [{
"iconUrl": "https://mangafire.to/assets/sites/mangafire/favicon.png?v3",
"typeSource": "single",
"itemType": 0,
"version": "0.1.24",
"version": "0.1.25",
"dateFormat": "",
"dateFormatLocale": "",
"pkgPath": "manga/src/all/mangafire.js"
@@ -109,6 +109,7 @@ class DefaultExtension extends MProvider {
}
async getDetail(url) {
url = url.replace(this.source.baseUrl,"")
const viewType = this.getPreference("mangafire_pref_content_view")
const id = url.split(".").pop();
const detail = {};
@@ -170,7 +171,11 @@ class DefaultExtension extends MProvider {
// For manga chapter pages
async getPageList(url) {
const res = await new Client().get(url);
var res = await new Client().get(url);
if(res.statusCode !=200){
url = url.replace("/volume/","/chapter/")
res = await new Client().get(url);
}
const data = JSON.parse(res.body);
const pages = [];
var hdr = { "Referer": this.source.baseUrl }

View File

@@ -0,0 +1,94 @@
// prettier-ignore
const mangayomiSources = [{
"name": "Oduto - Boruto",
"lang": "ar",
"baseUrl": "https://nb19u.blogspot.com",
"apiUrl": "",
"iconUrl": "https://blogger.googleusercontent.com/img/a/AVvXsEgKFmNQCUC7ARtXurDIwfOimVn3wogUvH7VaUOfjdutG44-cT4ajgh0KYkqSbRIoQ0b8YG3H6Edx-y1O3GW5SL88jymLZsO6cmS0QRtsp1y4gc24vmF4OGqyIY3PYSjxUYR1iJ5J-sP-00A7NwhNa19SPc0R_62KcuG6dbu2Rg-2YiMV1uUgaB0DGB6IBY_=s1600",
"typeSource": "single",
"itemType": 0,
"version": "0.0.1",
"isNsfw": false,
"pkgPath": "manga/src/ar/oduto.js",
"notes": "This Source Just For Boruto"
}];
class DefaultExtension extends MProvider {
async request(slug) {
this.client ??= new Client();
const res = await this.client.get(slug);
return new Document(res.body);
}
getPopular(_) {
return {
list: [
{
name: "BORUTO: Two Blue Vortex",
imageUrl:
"https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggWB9vWPMqjEvIoDsJSO29OmW-srULDQD3cS9HJ8cDk0vq2jLwDerUX-i61CqmZf62eBVmWZwU5CgXi0p2lxhKrh2_nZum3p-k3q9QJ2uozove0QAbOKtbd1QPjytjrJc9UsL65X4BbFdgcicLDYubD9LgY1Kco8wyhDGm4YEOim8u1TL42gOFe16NaaEP/s3464/4D55C3C5-9168-4103-B45C-99B52B58B6A5.jpeg",
link: "https://nb19u.blogspot.com/search/label/%D9%85%D8%A7%D9%86%D8%AC%D8%A7%20%D8%A8%D9%88%D8%B1%D9%88%D8%AA%D9%88?&max-results=4&m=1",
},
],
hasNextPage: false,
};
}
getLatestUpdates(_) {
return this.getPopular();
}
// Chapters
chapterFromElement(element) {
const anchor = element.selectFirst("div.iPostInfoWrap > h3 > a");
const timeElement = element.selectFirst("div.iPostInfoWrap time");
if (!anchor || !timeElement) return {};
const name = anchor.text?.trim();
const url = anchor.getHref;
const rawDate = timeElement.attr("datetime")?.trim();
const dateUpload = rawDate ? new Date(rawDate).getTime().toString() : null;
return { name, dateUpload, url };
}
// Detail
async getDetail(url) {
let doc = await this.request(url);
const allElements = [];
for (;;) {
const pageChapters = doc.select("#Blog1 article.blog-post.index-post");
if (!pageChapters || pageChapters.length === 0) break;
allElements.push(...pageChapters);
const nextUrl = doc
.selectFirst("#Blog1 > div.iPostsNavigation > button[data-load]")
.attr("data-load");
if (!nextUrl || nextUrl.length === 0) break;
doc = await this.request(nextUrl);
}
const chapters = allElements.map((element) =>
this.chapterFromElement(element),
);
return {
title: "BORUTO: Two Blue Vortex",
imageUrl:
"https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggWB9vWPMqjEvIoDsJSO29OmW-srULDQD3cS9HJ8cDk0vq2jLwDerUX-i61CqmZf62eBVmWZwU5CgXi0p2lxhKrh2_nZum3p-k3q9QJ2uozove0QAbOKtbd1QPjytjrJc9UsL65X4BbFdgcicLDYubD9LgY1Kco8wyhDGm4YEOim8u1TL42gOFe16NaaEP/s3464/4D55C3C5-9168-4103-B45C-99B52B58B6A5.jpeg",
author: "Masashi Kishimoto",
description: "Artist: Mikio Ikemoto",
status: 0,
genre: ["شونين", "دراما", "خيال", "أكشن", "نينجا"],
chapters,
};
}
// chapter pages
async getPageList(url) {
const doc = await this.request(url);
return doc.select("div.#post-body img[src]").map((x) => ({
url: x.attr("src"),
}));
}
}