This commit is contained in:
Moustapha Kodjo Amadou
2025-06-05 15:34:21 +01:00
parent 89fe762543
commit 51033c2e62
2 changed files with 46 additions and 51 deletions

View File

@@ -10,8 +10,7 @@ class MangaHere extends MProvider {
@override @override
Future<MPages> getPopular(int page) async { Future<MPages> getPopular(int page) async {
final res = final res = (await client.get(
(await client.get(
Uri.parse("${source.baseUrl}/directory/$page.htm"), Uri.parse("${source.baseUrl}/directory/$page.htm"),
headers: getHeader(source.baseUrl), headers: getHeader(source.baseUrl),
)).body; )).body;
@@ -43,8 +42,7 @@ class MangaHere extends MProvider {
@override @override
Future<MPages> getLatestUpdates(int page) async { Future<MPages> getLatestUpdates(int page) async {
final res = final res = (await client.get(
(await client.get(
Uri.parse("${source.baseUrl}/directory/$page.htm?latest"), Uri.parse("${source.baseUrl}/directory/$page.htm?latest"),
headers: getHeader(source.baseUrl), headers: getHeader(source.baseUrl),
)).body; )).body;
@@ -91,12 +89,10 @@ class MangaHere extends MProvider {
final rt = filter.values[filter.state].value; final rt = filter.values[filter.state].value;
url += "${ll(url)}rating=$rt"; url += "${ll(url)}rating=$rt";
} else if (filter.type == "GenreList") { } else if (filter.type == "GenreList") {
final included = final included = (filter.state as List)
(filter.state as List)
.where((e) => e.state == 1 ? true : false) .where((e) => e.state == 1 ? true : false)
.toList(); .toList();
final excluded = final excluded = (filter.state as List)
(filter.state as List)
.where((e) => e.state == 2 ? true : false) .where((e) => e.state == 2 ? true : false)
.toList(); .toList();
if (included.isNotEmpty) { if (included.isNotEmpty) {
@@ -123,8 +119,7 @@ class MangaHere extends MProvider {
} }
} }
url += "${ll(url)}title=$query&page=$page"; url += "${ll(url)}title=$query&page=$page";
final res = final res = (await client.get(
(await client.get(
Uri.parse(url), Uri.parse(url),
headers: getHeader(source.baseUrl), headers: getHeader(source.baseUrl),
)).body; )).body;
@@ -159,17 +154,20 @@ class MangaHere extends MProvider {
final statusList = [ final statusList = [
{"Ongoing": 0, "Completed": 1}, {"Ongoing": 0, "Completed": 1},
]; ];
final res = final res = (await client.get(
(await client.get(
Uri.parse("${source.baseUrl}/$url"), Uri.parse("${source.baseUrl}/$url"),
headers: getHeader(source.baseUrl), headers: getHeader(source.baseUrl),
)).body; )).body;
MManga manga = MManga(); MManga manga = MManga();
manga.author = manga.author = xpath(
xpath(res, '//*[@class="detail-info-right-say"]/a/text()').first; res,
'//*[@class="detail-info-right-say"]/a/text()',
).first;
manga.description = xpath(res, '//*[@class="fullcontent"]/text()').first; manga.description = xpath(res, '//*[@class="fullcontent"]/text()').first;
final status = final status = xpath(
xpath(res, '//*[@class="detail-info-right-title-tip"]/text()').first; res,
'//*[@class="detail-info-right-title-tip"]/text()',
).first;
manga.status = parseStatus(status, statusList); manga.status = parseStatus(status, statusList);
manga.genre = xpath( manga.genre = xpath(
res, res,
@@ -251,8 +249,6 @@ class MangaHere extends MProvider {
String pageLink = String pageLink =
"$pageBase/chapterfun.ashx?cid=$chapterId&page=$i&key=$secretKey"; "$pageBase/chapterfun.ashx?cid=$chapterId&page=$i&key=$secretKey";
String responseText = "".toString(); String responseText = "".toString();
for (int tr = 1; tr <= 3; tr++) {
if (responseText.isEmpty) {
final headers = { final headers = {
"Referer": urll, "Referer": urll,
"Accept": "*/*", "Accept": "*/*",
@@ -262,16 +258,15 @@ class MangaHere extends MProvider {
"X-Requested-With": "XMLHttpRequest", "X-Requested-With": "XMLHttpRequest",
}; };
final ress = final ress = (await client.get(
(await client.get(Uri.parse(pageLink), headers: headers)).body; Uri.parse(pageLink),
headers: headers,
responseText = ress; )).body;
responseText = ress.isNotEmpty ? ress : "";
if (responseText.isEmpty) { if (responseText.isEmpty) {
secretKey = ""; secretKey = "";
} }
}
}
String deobfuscatedScript = unpackJs( String deobfuscatedScript = unpackJs(
responseText.replaceAll("eval", ""), responseText.replaceAll("eval", ""),
); );

View File

@@ -1,7 +1,7 @@
import '../../../../../model/source.dart'; import '../../../../../model/source.dart';
Source get mangahereSource => _mangahereSource; Source get mangahereSource => _mangahereSource;
const _mangahereVersion = "0.0.75"; const _mangahereVersion = "0.0.8";
const _mangahereSourceCodeUrl = const _mangahereSourceCodeUrl =
"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/src/en/mangahere/mangahere.dart"; "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/src/en/mangahere/mangahere.dart";
Source _mangahereSource = Source( Source _mangahereSource = Source(