Skip to content

Commit

Permalink
update from master (#6992)
Browse files Browse the repository at this point in the history
* ResetScans: Change domain (#6513)

* ResetScans: Change domain

* blacklist muses.org (audio ads)

* Update Blacklist.mjs

---------

Co-authored-by: MikeZeDev <MikeZeDev@users.noreply.github.com>

* Add CypherScans (#6509)

* Add Cypher Scans

* add logo

* Cypher Scans: add trailing

* Fix ReaperScans domain (#6521)

Fixes #6519

* Fix NeoxScan domain (#6502)

Fixes #6500

* Fix YoungChampion: changed CSS for chapters (#6517)

works on other websites too

* FIX ComicK domain & mangalist (#6518)

* FIC ComicK domain

* fix manga listing

* [comick] remove comment

* FIX TuMangaOnline : change domain (#6389)

works like a charm.

Relevant commit. manga-download/hakuneko-plugins@4b2a47c

* FIX Likemanga.io : properly getting pages (#6524)

* FIX KomikTap : remove custom init (#6525)

* Need to use JS in init procedure to counter sucuri proxy
* Custom init not needed anymore

Fixes #6522

* feat(HeanCms, TempleScan, OmegaScans, YugenMangas, PerfScan): add HeanCms template (#6510)

* feat(HeanCms): create HeanCms template

* feat(TempleScan): create connector

* feat(OmegaScans): use HeanCms template

* feat(YugenMangas): use HeanCms template

* feat(HeanCms): add chapter content checks

* refactor(TempleScan): make icon 64x64

* feat(PerfScan): add connector

* refactor(HeanCms): remove debug code

* feat(HeanCms): deproxify image urls

* fix(HeanCms): detect image file format

Co-Authored-By: MikeZeDev <MikeZeDev@users.noreply.github.com>

* feat(HeanCms): add novel support

Even if the novel script currently doesn't work kek

* refactor(HeanCms): improve paywall error

* fix(HeanCms): fix novel fn

* refactor(HeanCms): make novel fn variables more readable

* feat(OmegaScans, PerfScan, YugenMangas): add login link

* refactor(PerfScan): remove trailing slash

* feat(HeanCms): remove check

* feat(HeanCms): move css selector to variable

* refactor(HeanCms): remove comment

* refactor(HeanCms): fix indentation

* add missing quotes

---------

Co-authored-by: MikeZeDev <MikeZeDev@users.noreply.github.com>

* add connector doujinku (#6545)

* add connector doujinku

* add tags manga

* convert icon webp to png doujinku

* Fix MangaWOW : change domain (#6581)

Fixes #6580

* FIX TonizuToon : change domain (#6577)

Fixes #6569

* FIX SeriManga : change domain (#6575)

Fixes #6568

* FIX MangaSehri: change domain (#6574)

and add referer

Fixes  #6565

* FIX Hayalistic : change domain (#6572)

Fixes #6562

* FIX GuncelManga : change domain (#6571)

Fixes #6560

* FIX PrismaScans : change domain (#6542)

* Update PrismaScans : change domain

Fixes #6541

* update prismascans icon

* FIX ComicK.mjs : change domain and accept more domains (#6538)

they change too quickly.

* feat(Summertoon): add connector (#6590)

* Fix AzoraWorld/AzoraManga : domain, getpages etc. (#6493)

* Fix AzoraWorld/AzoraManga : domain, getpages etc.

* change domain
* fix getpages
* AzoraManga is now a dummy connector telling use to use AzoraWorld (website are the same domain)

* Update AzoraManga.mjs

* Fix ManHuaGui.mjs failed download chapter #6605 (#6606)

* Fix Cmoa: fix getting chapters pages (#6629)

Fixes #6628

* Fix DiskusScan: use MangaStream (#6624)

Fixes #6622

* FIx GekkouScans : change domain (#6623)

* FIx MangaNato : fix domain regex (#6618)

Fixes #6617

chapmanganato.to / readmanganato.to (no more .com? )

* Fix MangaPill: add referrer for pages (#6613)

* FIx Mangalek : change domain (#6610)

* FIX NinjaScan: change domain (#6602)

* FIX ComicBushi: domain change (#6607)

Fixes #6603

* FIX AsuraScans: filter more ad (#6595)

* FIX AsuraScans: filter more ad

* Update AsuraScans.mjs

* FIX ReaperScansTR: change domain (#6589)

also, they changed to MangaStream

* FIx CeriseScans: change domain (#6593)

* Update EvaScans: change label and domain (#6588)

Fixes #6573

* FIx TitanManga: Mangastream > Madara (#6587)

Fixes #6582

* FIX Yanmaga : use SpeedBinb (#6548)

Fixes #6532

* FIX mangaz: change chapter CSS selector (#6540)

Fixes #6537

* FIX GourmetScans: domain change & tweak script (#6531)

* FIX GourmetScans: domain change & tweak script

Fixes #6530

* Update GourmetScans.mjs

* Fix Miauscan : change domain and with with novels (#6491)

Fixes #6484

* Fix CocoManhua/MangaDig : defeat encryption again (#6470)

* Fix CocoManhua/MangaDig : defeat encryption again

Fixes #6468

see relevant commit : manga-download/hakuneko-plugins@ec2ad2a

* better solution

* FIX Luscious: api change (#6599)

* FIX Luscious: api change

Fixes #6598

* fix indent

* Fix BeeToon: filter fake images (#6597)

* Fix BeeToon: filter fake images

Fixes #6592

* Update BeeToon.mjs

* FIX ComicEarthStar : switch to CoreView (#6539)

* FIX ComicEarthStar : switch to CoreView

Bye by Publus, welcome Coreview and GraphQL

Fixes #6536

* Update ComicEarthStar.mjs

* FIX ReaperScans: domain change & fix get chapters (#6527)

* FIX ReaperScans: domaine change & fix get chapters

Fixes #6526

Reproduce code from Haruneko, way simpler.

* Update ReaperScans.mjs

* Update ReaperScans.mjs

* FIX ManhwaLatino : mangalist and chapters (#6409)

* FIX ManhwaLatino : mangalist and chapters

Fixes #6408

* remove junk pages

* add referer for images

* FIX NicoNicoSeiga: only use the fallback (#6372)

* FIX NicoNicoSeiga: only use the fallback

* remove comments

* fixes manga listing

no more ajax endpoint :/

* Add Comicride (#6635)

* Add ComicRide

* Add ComicRide icon

* [ComicRide] Fix page count from 0

* Fix ComicRide Icon

* Delete src/web/img/connectors/ComicRide.mjs

* feat(Ascalon): create connector (#6661)

* Fid CovenScan domain (#6670)

Fixes #6463

* Fix ZeroScans: change url and fix paste support (#6671)

* Change url and fix paste support

* Use regex to extract slug

* FIx WestManga: change domain (#6669)

Fixes #6666

* Fix PojokManga : change domain (#6652)

Fixes #6650

* FIx XoxoComics: domain & manga listing (#6647)

Fixes #6646

* FIx MangaHub: change API & CDN domains (#6683)

Fixes #6682

Websites based on MH has been tested too :)

* FIX MangaEffect : no more wpmangaprotector (#6699)

Fixes #6698

* add mangasusuku (#6704)

* Lezhin : change manga list endpoint & language values (#6689)

* Lezhin : change manga list endpoint

* Lezhin : change locale code

* Fix InfernalVoidScans: use referer (#6705)

Fixes #6701

* RandomScan : rebranding to LuraToon (#6726)

* RandomScan : rebranding to LuraToon

* update randomscan icon

* Fix Ainzscans: domain and junk in manga title (#6714)

Fixes #6712

* feat(AGS): create connector (#6753)

* feat(Nyrax): create connector (#6754)

* Remove Assorted Scans (#6768)

* FIx AsuraScansTR : domain, Madara, no junk (#6713)

Fixes #6707

* FIx LikeManga: invalid css selector (#6745)

Turns out selector is invalid in our old chrome
Filtering picture another way

* Fix GekkouScans: change domain (#6740)

Fixes #6739

* Update MangasChan.mjs (#6752)

updating the link data

* Fix MangaGeko: change domain (#6757)

Fixes #6756

* Fix Nonbiri: rebranding & change domain (#6737)

Fixes #6736

* MangaHub.io: change CDN (#6771)

* FIx MangaTR: change manga list path (#6733)

Fixes #6731

* [mangadex] get list from CDN (#6774)

* get mangalist from cdn

* fix lint error

---------

Co-authored-by: MikeZeDev <MikeZeDev@users.noreply.github.com>

* Websites maintenance : AlliedFansub & Nivera (#6802)

* AlliedFansub: change domain and template Fixes #6793
* Nivera : change domain Fixes #6792

* Fix ComicK : change domain (#6779)

* FIx WebtoonHatti: change selector again (#6775)

* FIX TCBScans: workaround for 404 errors (#6376)

* FIX TCBScans: workarourd for 404 errors

1) Website changed url (unrelated)
2) They deliberately introduce missing junk pictures in popular manga chapters. 

Since they cant be distinguished by name pattern, we use another method ;)

* requested changes

* changed logic for fake pages

missing pages are always at the end, so we start testing pictures backwards and stop when its good.

* tbcscans: fire all promises and wait

* Fix Opiatoon: changte domain (#6809)

Fixes #6791

* ComicWalker: rebrand to KadoComi (#6808)

Fixes #6806

* Fix ManhuaPlus: domain and change template (#6825)

No more madara.

Fixes #6824

* FiX KomikAV: change domain & rebrnad to APKomik (#6839)

Closes #6837

* use more recent user-agent header (#6835)

* Fix TuMangaOnline: fix getting pages (#6684)

* FIx welovemanga.one: getting pages (#6715)

Fixes #6711

* Fix HentaiRead: get chapters and pages (#6777)

* Fix HentaiRead: get chapters and pages

* fix regex

* Fix lint

* try catch in promise

* Fix ManhwaFreak: change fomain and filters (#6851)

Fixes #6849

* Fix LyraScans: change domain & rebrand (#6857)

* Fix LyraScans: change domain & rebrand

Fixes #6856

* update icon

* Fix NeoxScan: change domain (#6860)

* FIx ResetScans : change domain (#6854)

Fixes #6853

* Fix SwatManga : change domain (#6844)

Fixes #6842

* Fix KomikNesia : change domain (#6873)

Fixes #6871

* Fix MangaToon: change CSS for chapters (#6887)

get rid of duplicate chapters

* Fix ComicK: update domain (#6897)

Fixes #6896

* Fix MangaSail : change domain (#6898)

Fixes #6894

* Fix MangaBat : change domain (#6899)

* Fix MangaStarz : change domain (#6901)

Fixes #6900

* change domain (#6910)

Co-authored-by: Abdullah-KS <78895454+Abdullah-KS@users.noreply.github.com>

* FIx Siyahmelek: change domain (#6915)

Fixes #6908

* Fix MangaTX : domain changed (#6916)

Fixes #6911

* Fix TopToon : update CSS selectors (#6906)

* Fix TopToon : update CSS selectors

Fixes #6905

* Update TopToon.mjs

* Update TopToon.mjs

* attempt to fix lint error

* dont use optional chaining

optional chaining doesnt work in stable build because electron version is too old

* Fix MagKan: use Comici Viewer (#6927)

Similar to YoungChampion, YoungAnimal, Comicride, ComicMedu, etc....

Fixes #6926

* Fix winterscan : change domain (#6935)

#6933

* fix MangaSect source (#6930)

* fix MangaSect source

* fix lint

* better mangasect fix

---------

Co-authored-by: Victor Abrate <me@vab.one>
Co-authored-by: MikeZeDev <MikeZeDev@users.noreply.github.com>

* Fix MoonWitchInLove : change domain (#6942)

Fixes #6936

* add connector monzeekomik (#6954)

* add connector monzeekomik

* fix lint

---------

Co-authored-by: MikeZeDev <MikeZeDev@users.noreply.github.com>

* Fix ComicExtra : change domain (#6951)

* FIx KomikAV: domain type (#6881)

Fixes #6879

* Fix Saikaiscan : change domain (#6963)

Fixes #6620

* Fix LxHentai: change domain (#6970)

Fixes #6968

* Lock ESLint Version (#6971)

* lock eslint version

* fix lint errors

---------

Co-authored-by: x4nk1t <47915404+x4nk1t@users.noreply.github.com>
Co-authored-by: Tristan <tristan@tnet.moe>
Co-authored-by: akn19 <86169232+akn19@users.noreply.github.com>
Co-authored-by: realabertian <64790396+realabertian@users.noreply.github.com>
Co-authored-by: Ignacio Castro <ignaciocastrom@gmail.com>
Co-authored-by: trendbloat <156368216+trendbloat@users.noreply.github.com>
Co-authored-by: ObserverOfTime <chronobserver@disroot.org>
Co-authored-by: Luis Araújo <97482945+DartinSA@users.noreply.github.com>
Co-authored-by: Ronny <wegener.ronny@gmail.com>
Co-authored-by: ZIRO <78895454+PD-ZIRO@users.noreply.github.com>
Co-authored-by: Abdullah-KS <78895454+Abdullah-KS@users.noreply.github.com>
Co-authored-by: Victor Abrate <victor.abrate@gmail.com>
Co-authored-by: Victor Abrate <me@vab.one>
  • Loading branch information
14 people authored Apr 17, 2024
1 parent 35319a1 commit 5d3a93c
Show file tree
Hide file tree
Showing 122 changed files with 1,157 additions and 1,144 deletions.
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"asar": "latest",
"discord-rpc": "latest",
"electron": "8.3.4",
"eslint": "latest",
"eslint": "^8.57.0",
"fs-extra": "latest",
"innosetup-compiler": "latest",
"jest": "latest",
Expand All @@ -35,7 +35,7 @@
"start:build": "npm run build:web && electron . --update-url=DISABLED --cache-directory=./build/latest",
"lint": "npm run lint:app && npm run lint:web",
"lint:app": "eslint ./src/app --ignore-path .gitignore",
"lint:web": "eslint ./src/web/mjs/**/*.mjs --ignore-path .gitignore --ignore-pattern Connectors.mjs",
"lint:web": "eslint ./src/web/mjs/**/*.mjs --ignore-path .gitignore --parser-options ecmaVersion:2020",
"format": "npm run format:app && npm run format:web",
"format:app": "npm run lint:app -- --fix",
"format:web": "npm run lint:web -- --fix",
Expand Down
Binary file added src/web/img/connectors/ascalon
Binary file not shown.
Binary file removed src/web/img/connectors/assortedscans
Binary file not shown.
Binary file added src/web/img/connectors/comicride
Binary file not shown.
Binary file added src/web/img/connectors/cypherscans
Binary file not shown.
Binary file added src/web/img/connectors/doujinku
Binary file not shown.
Binary file modified src/web/img/connectors/lyrascans
Binary file not shown.
Binary file added src/web/img/connectors/mangasusuku
Binary file not shown.
Binary file added src/web/img/connectors/monzeekomik
Binary file not shown.
Binary file added src/web/img/connectors/nyrax
Binary file not shown.
Binary file added src/web/img/connectors/perfscan
Binary file not shown.
Binary file modified src/web/img/connectors/prismascans
Binary file not shown.
Binary file modified src/web/img/connectors/randomscan
Binary file not shown.
Binary file added src/web/img/connectors/summertoon
Binary file not shown.
Binary file added src/web/img/connectors/templescan
Binary file not shown.
32 changes: 32 additions & 0 deletions src/web/mjs/connectors/AGS.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import WordPressMangastream from './templates/WordPressMangastream.mjs';

export default class AGS extends WordPressMangastream {

constructor() {
super();
super.id = 'ags';
super.label = 'AGS (Animated Glitched Scans)';
this.tags = [ 'manga', 'english', 'scanlation' ];
this.url = 'https://agscomics.com';
this.path = '/series/?list';
}

get icon() {
return '/img/connectors/anigliscans';
}

async _getPages(chapter) {
const data = await super._getPages(chapter);
return data.map(element => this.createConnectorURI(element));
}

async _handleConnectorURI(payload) {
const request = new Request(payload, this.requestOptions);
request.headers.set('x-referer', this.url);
let response = await fetch(request);
let data = await response.blob();
data = await this._blobToBuffer(data);
this._applyRealMime(data);
return data;
}
}
11 changes: 10 additions & 1 deletion src/web/mjs/connectors/Ainzscans.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,16 @@ export default class Ainzscans extends WordPressMangastream {
super.id = 'ainzscans';
super.label = 'Ainz Scans';
this.tags = [ 'webtoon', 'indonesian', 'scanlation' ];
this.url = 'https://ainzscans.site';
this.url = 'https://ainzscans.net';
this.path = '/series/list-mode';
}

async _getMangas() {
return (await super._getMangas()).map(manga => {
return {
id : manga.id,
title : manga.title.replace('Bahasa Indonesia', '').trim()
};
});
}
}
7 changes: 3 additions & 4 deletions src/web/mjs/connectors/AlliedFansub.mjs
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
import WordPressMangastream from './templates/WordPressMangastream.mjs';
import WordPressMadara from './templates/WordPressMadara.mjs';

export default class AlliedFansub extends WordPressMangastream {
export default class AlliedFansub extends WordPressMadara {

constructor() {
super();
super.id = 'alliedfansub';
super.label = 'Allied Fansub';
this.tags = [ 'webtoon', 'turkish', 'scanlation' ];
this.url = 'https://alliedfansub.online';
this.path = '/manga/list-mode/';
this.url = 'https://alliedfansub.net';
this.requestOptions.headers.set('x-referer', this.url);
}
}
12 changes: 12 additions & 0 deletions src/web/mjs/connectors/Ascalon.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import WordPressMangastream from './templates/WordPressMangastream.mjs';

export default class Ascalon extends WordPressMangastream {
constructor() {
super();
super.id = 'ascalon';
super.label = 'Ascalon';
this.tags = ['webtoon', 'english', 'scanlation'];
this.url = 'https://ascalonscans.com';
this.path = '/manga/list-mode/';
}
}
78 changes: 0 additions & 78 deletions src/web/mjs/connectors/AssortedScans.mjs

This file was deleted.

3 changes: 2 additions & 1 deletion src/web/mjs/connectors/AsuraScans.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,8 @@ export default class AsuraScans extends WordPressMangastream {
/panda_gif_large/i,
/2021\/04\/page100-10\.jpg/i,
/2021\/03\/20-ending-page-\.jpg/i,
/ENDING-PAGE/i
/ENDING-PAGE/i,
/EndDesignPSD/i
];

let images = [];
Expand Down
21 changes: 3 additions & 18 deletions src/web/mjs/connectors/AsuraScansTR.mjs
Original file line number Diff line number Diff line change
@@ -1,31 +1,16 @@
import WordPressMangastream from './templates/WordPressMangastream.mjs';
import WordPressMadara from './templates/WordPressMadara.mjs';

export default class AsuraScansTR extends WordPressMangastream {
export default class AsuraScansTR extends WordPressMadara {

constructor() {
super();
super.id = 'asurascans-tr';
super.label = 'Asura Scans (TR)';
this.tags = ['webtoon', 'turkish'];
this.url = 'https://armoniscans.com';
this.path = '/manga/list-mode/';
this.queryPages = 'div#readerarea p img';
this.requestOptions.headers.set('x-user-agent', 'Mozilla/5.0 (Linux; Android 9; Pixel) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4026.0 Mobile Safari/537.36');
this.url = 'https://asurascans.com.tr';
}

get icon() {
return '/img/connectors/asurascans';
}

async _getPages(chapter) {
const excludes = [
/panda_gif_large/i,
/2021\/04\/page100-10\.jpg/i,
/2021\/03\/20-ending-page-\.jpg/i,
/ENDING-PAGE/i
];
const images = await super._getPages(chapter);
return images.filter(link => !excludes.some(rgx => rgx.test(link)));
}

}
7 changes: 3 additions & 4 deletions src/web/mjs/connectors/AzoraManga.mjs
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
import WordPressMadara from './templates/WordPressMadara.mjs';
import AzoraWorld from './AzoraWorld.mjs';

export default class AzoraManga extends WordPressMadara {
export default class AzoraManga extends AzoraWorld {

constructor() {
super();
super.id = 'azoramanga';
super.label = 'أزورا مانج (AZORA MANGA)';
this.tags = [ 'webtoon', 'arabic' ];
this.url = 'https://azoramanga.com';
}
}
}
15 changes: 13 additions & 2 deletions src/web/mjs/connectors/BeeToon.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ export default class BeeToon extends WordPressZbulu {
}

canHandleURI(uri) {
return /(ww2\.)?beetoon\.net/.test(uri.hostname);
return /(ww\d+\.)?beetoon\.net/.test(uri.hostname);
}

async _initializeConnector() {
Expand All @@ -37,4 +37,15 @@ export default class BeeToon extends WordPressZbulu {
};
});
}
}

async _getPages(chapter) {
const pages = await super._getPages(chapter);
return pages
.map( page => {
let link = new URL(page);
link = link.searchParams.get('url') || link; //deproxify url if needed
return link.href;
})
.filter(page => !page.includes('/gadgets/proxy?'));//remove fake images (that were not deproxified)
}
}
2 changes: 1 addition & 1 deletion src/web/mjs/connectors/CeriseScans.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@ export default class CeriseScans extends WordPressMadaraNovel {
super.id = 'cerisescans';
super.label = 'Cerise Scans';
this.tags = [ 'manga', 'webtoon', 'portuguese', 'scanlation' ];
this.url = 'https://cerisescan.com';
this.url = 'https://cerisescan.net';
}
}
5 changes: 3 additions & 2 deletions src/web/mjs/connectors/Cmoa.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,10 @@ export default class Cmoa extends SpeedBinb {

async _getChapters(manga) {
const request = new Request(new URL(manga.id, this.url), this.requestOptions);
const pages = await this.fetchDOM(request, '#comic_list > .pagination:nth-child(1) li');
const pages = await this.fetchDOM(request, '#comic_list > .pagination:nth-child(1) li:nth-last-child(2) a');
const chapters = [];
const totalPage = pages.length == 0 ? 1 : pages.length - 1;
const totalPage = pages.length == 0 ? 1 : parseInt(new URL(pages[0].href).searchParams.get('page'));

for (let i = 0; i < totalPage; i++) {
const uri = new URL(manga.id, this.url);
uri.searchParams.set('page', i + 1);
Expand Down
6 changes: 3 additions & 3 deletions src/web/mjs/connectors/ComicBushi.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ export default class ComicBushi extends CoreView {
constructor() {
super();
super.id = 'comicbushi';
super.label = 'コミックブシロードWEB (Comic Bushiroad WEB)';
super.label = 'コミックブシロードWEB (Comic Bushiroad WEB / Growl)';
this.tags = ['manga', 'japanese'];
this.url = 'https://comicbushi-web.com';
this.url = 'https://comic-growl.com';
this.path = ['/'];
this.queryManga = 'section#lineup ul.lineup-list div.lineup-item a';
this.queryMangaTitle = 'h5.title';
Expand All @@ -23,4 +23,4 @@ export default class ComicBushi extends CoreView {
};
});
}
}
}
Loading

0 comments on commit 5d3a93c

Please sign in to comment.