mirror of
https://github.com/kodjodevf/mangayomi-extensions.git
synced 2026-02-14 10:51:17 +00:00
Mangadex: Add use custom user agent
This commit is contained in:
@@ -8,12 +8,15 @@ class MangaDex extends MProvider {
|
|||||||
|
|
||||||
final Client client = Client(source);
|
final Client client = Client(source);
|
||||||
|
|
||||||
|
@override
|
||||||
|
Map<String, String> get headers =>
|
||||||
|
{"user-agent": getPreferenceValue(source.id, "custom_user_agent")};
|
||||||
@override
|
@override
|
||||||
Future<MPages> getPopular(int page) async {
|
Future<MPages> getPopular(int page) async {
|
||||||
page = (20 * (page - 1));
|
page = (20 * (page - 1));
|
||||||
final url =
|
final url =
|
||||||
"https://api.mangadex.org/manga?limit=20&offset=$page&availableTranslatedLanguage[]=${source.lang}&includes[]=cover_art${preferenceContentRating(source.id)}${preferenceOriginalLanguages(source.id)}&order[followedCount]=desc";
|
"https://api.mangadex.org/manga?limit=20&offset=$page&availableTranslatedLanguage[]=${source.lang}&includes[]=cover_art${preferenceContentRating(source.id)}${preferenceOriginalLanguages(source.id)}&order[followedCount]=desc";
|
||||||
final res = (await client.get(Uri.parse(url))).body;
|
final res = (await client.get(Uri.parse(url), headers: headers)).body;
|
||||||
return mangaRes(res);
|
return mangaRes(res);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -22,7 +25,7 @@ class MangaDex extends MProvider {
|
|||||||
page = (20 * (page - 1));
|
page = (20 * (page - 1));
|
||||||
final url =
|
final url =
|
||||||
"https://api.mangadex.org/chapter?limit=20&offset=$page&translatedLanguage[]=${source.lang}&includeFutureUpdates=0&order[publishAt]=desc&includeFuturePublishAt=0&includeEmptyPages=0";
|
"https://api.mangadex.org/chapter?limit=20&offset=$page&translatedLanguage[]=${source.lang}&includeFutureUpdates=0&order[publishAt]=desc&includeFuturePublishAt=0&includeEmptyPages=0";
|
||||||
final ress = (await client.get(Uri.parse(url))).body;
|
final ress = (await client.get(Uri.parse(url), headers: headers)).body;
|
||||||
final mangaIds =
|
final mangaIds =
|
||||||
jsonPathToString(ress, r'$.data[*].relationships[*].id', '.--')
|
jsonPathToString(ress, r'$.data[*].relationships[*].id', '.--')
|
||||||
.split('.--');
|
.split('.--');
|
||||||
@@ -32,7 +35,7 @@ class MangaDex extends MProvider {
|
|||||||
}
|
}
|
||||||
final newUrl =
|
final newUrl =
|
||||||
"https://api.mangadex.org/manga?includes[]=cover_art&limit=${mangaIds.length}${preferenceContentRating(source.id)}${preferenceOriginalLanguages(source.id)}$mangaIdss";
|
"https://api.mangadex.org/manga?includes[]=cover_art&limit=${mangaIds.length}${preferenceContentRating(source.id)}${preferenceOriginalLanguages(source.id)}$mangaIdss";
|
||||||
final res = (await client.get(Uri.parse(newUrl))).body;
|
final res = (await client.get(Uri.parse(newUrl), headers: headers)).body;
|
||||||
return mangaRes(res);
|
return mangaRes(res);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -140,7 +143,7 @@ class MangaDex extends MProvider {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
final res = (await client.get(Uri.parse(url))).body;
|
final res = (await client.get(Uri.parse(url), headers: headers)).body;
|
||||||
return mangaRes(res);
|
return mangaRes(res);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -150,8 +153,10 @@ class MangaDex extends MProvider {
|
|||||||
{"ongoing": 0, "completed": 1, "hiatus": 2, "cancelled": 3}
|
{"ongoing": 0, "completed": 1, "hiatus": 2, "cancelled": 3}
|
||||||
];
|
];
|
||||||
|
|
||||||
final res = (await client.get(Uri.parse(
|
final res = (await client.get(
|
||||||
"https://api.mangadex.org$url?includes[]=cover_art&includes[]=author&includes[]=artist")))
|
Uri.parse(
|
||||||
|
"https://api.mangadex.org$url?includes[]=cover_art&includes[]=author&includes[]=artist"),
|
||||||
|
headers: headers))
|
||||||
.body;
|
.body;
|
||||||
MManga manga = MManga();
|
MManga manga = MManga();
|
||||||
manga.author = jsonPathToString(
|
manga.author = jsonPathToString(
|
||||||
@@ -224,8 +229,9 @@ class MangaDex extends MProvider {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Future<List<String>> getPageList(String url) async {
|
Future<List<String>> getPageList(String url) async {
|
||||||
final res = (await client
|
final res = (await client.get(
|
||||||
.get(Uri.parse("https://api.mangadex.org/at-home/server/$url")))
|
Uri.parse("https://api.mangadex.org/at-home/server/$url"),
|
||||||
|
headers: headers))
|
||||||
.body;
|
.body;
|
||||||
|
|
||||||
final host = getMapValue(res, "baseUrl");
|
final host = getMapValue(res, "baseUrl");
|
||||||
@@ -322,7 +328,7 @@ class MangaDex extends MProvider {
|
|||||||
String mangaId, int offset, String lang, int sourceId) async {
|
String mangaId, int offset, String lang, int sourceId) async {
|
||||||
final url =
|
final url =
|
||||||
'https://api.mangadex.org/manga/$mangaId/feed?limit=500&offset=$offset&includes[]=user&includes[]=scanlation_group&order[volume]=desc&order[chapter]=desc&translatedLanguage[]=$lang&includeFuturePublishAt=0&includeEmptyPages=0${preferenceContentRating(sourceId)}';
|
'https://api.mangadex.org/manga/$mangaId/feed?limit=500&offset=$offset&includes[]=user&includes[]=scanlation_group&order[volume]=desc&order[chapter]=desc&translatedLanguage[]=$lang&includeFuturePublishAt=0&includeEmptyPages=0${preferenceContentRating(sourceId)}';
|
||||||
final res = (await client.get(Uri.parse(url))).body;
|
final res = (await client.get(Uri.parse(url), headers: headers)).body;
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -553,6 +559,16 @@ class MangaDex extends MProvider {
|
|||||||
"originalLanguage[]=ko"
|
"originalLanguage[]=ko"
|
||||||
],
|
],
|
||||||
values: []),
|
values: []),
|
||||||
|
EditTextPreference(
|
||||||
|
key: "custom_user_agent",
|
||||||
|
title: "Set custom User-Agent",
|
||||||
|
summary: "",
|
||||||
|
value:
|
||||||
|
"Dalvik/2.1.0 (Linux; U; Android 14; 22081212UG Build/UKQ1.230917.001)",
|
||||||
|
dialogTitle: "Set custom User-Agent",
|
||||||
|
dialogMessage: "Specify a custom user agent",
|
||||||
|
text:
|
||||||
|
"Dalvik/2.1.0 (Linux; U; Android 14; 22081212UG Build/UKQ1.230917.001)"),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import '../../../../../model/source.dart';
|
|||||||
const _apiUrl = 'https://api.mangadex.org';
|
const _apiUrl = 'https://api.mangadex.org';
|
||||||
const _baseUrl = 'https://mangadex.org';
|
const _baseUrl = 'https://mangadex.org';
|
||||||
const _isNsfw = true;
|
const _isNsfw = true;
|
||||||
const _mangadexVersion = "0.0.75";
|
const _mangadexVersion = "0.0.8";
|
||||||
const _mangadexSourceCodeUrl =
|
const _mangadexSourceCodeUrl =
|
||||||
"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/src/all/mangadex/mangadex.dart";
|
"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/src/all/mangadex/mangadex.dart";
|
||||||
String _iconUrl =
|
String _iconUrl =
|
||||||
|
|||||||
Reference in New Issue
Block a user