Skip to content

Commit

Permalink
Stable202401 (#6644)
Browse files Browse the repository at this point in the history
* ComiciViewer sites (#5867)

* ComiciViewer sites

Turns out some japanese connectors use the same viewer: ComiciViewer.

* Makes YoungChampion "template like"
* Add BigComics (Fixes #5863)
* Makes Yanmaga uses YoungChampion

If more websites use them, gonna do a proper connector. I mainly did that because it will be easier when checking while coding Haruneko.

* add bigcomics image

* Update YoungChampion.mjs

* Mangabaz: update url (#5877)

* add komikindoinfo (#5878)

* modified viz to fetch new viz manga simulpubs (#5776)

* modified viz to fetch new viz manga simulpubs

* Update VizShonenJump.mjs

* fixed vizmanga chapters not loading

* fixed indentation

* removed console log

* Update VizShonenJump.mjs

* Update VizShonenJump.mjs

* Update Cycomi.mjs (#5714)

* Update Cycomi.mjs

* Fix formatting

* Update Cycomi.mjs

* recoded according to Haruneko

---------

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

* FIX : SmangavfWS : Domain change (#5899)

* FIX : OmegaScans - remove timestamp in manga id (#5901)

this fix getting chapters
Fixes #5900

* ColoredManga : fix manga list (#5891)

override Madara _createMangaRequest to get manga by fetching list page and not the bugged madara endpoint.

Fixes #5890

* FIX: MangaSwat - domain and _getPages (#5859)

* MangaSwat: domain and _getPages

Cant return ts_reader params? Fetch the JSON directly  🤷 

Fixes #5855

* change for a scripted solution

* LeviatanScans : add WpMangaProtector bypass (#5896)

* FIX : KomikCast : change domain (#5904)

Fixes #5903

* FIX : NetTruyen - made domain changeable (#5911)

* FIX : NetTruyen - made domain changeable

VN websites keep changing url so often that its painful.
Fixes #5905

* Update NetTruyen.mjs

* add connector  (#5925)

* add soulscans

* add miscans

* FIX: Readmanga/Mintmanga/Selfmanga chapter list (#5931)

* Fix queryselector

div.chapters-link to div#chapters-list

* Update SelfManga domain

Selfmanga.ru is old and not HTTPS. Selfmanga.live is the updated version.

* FIX: YugenMangas - get infos using Javascript (#5784)

* YugenMangas

Fix getChapters() (and getPages accordingly)

* fix lint

* MangaChan : add referer for images (#5932)

* FIX : Mangalek : add referer (#5945)

Fixes #5943

* HeaderGenerator: restrict to more recent browser versions (#5938)

Some website gives "browser too old" errors because of Cloudflare.

Somehow, depending on the protection level, we can mitigate those issues by generating a good user agent with more recent Chrome/Firefox versions.

This PR only makes sure we generate user-agents with browser major versions >= 100 for Chrome and Firefox, and =< 113 or 114 (Current major version for FF / Chrome)

This is more fingertprintable because there are less combinations :/

* FIX : AnimeUnity; change URL (#5937)

* LegacyScans: change to Mangastream (#5944)

* LegacyScans: change to Mangastream

They temporarily rebranded to flamescans.fr but are now back with flamescans mangastream theme.

* LegacyScans: remove this.queryMangas

* LegacyScans: add referer

* FIX : ReadComicOnline.li : workaround for Recaptcha & nasty ads (#5951)

* Request : handle ReadComic Recaptcha

* Blacklist : add some ReadComicOnline need hosts

and sorted list

* KissComic : handle captcha for pages

* Update BlogTruyen.mjs (#5973)

Update Blogtruyen.vn -> Blogtruyenmoi.com
Originally Blogtruyen.vn, now Blogtruyenmoi.com

* Add GremoryMangas (#5969)

* Support for GremoryMangas

Based on TsundokuTraducoes.
(Any reason we're using hertzen instead of a good CDN for the js?)

* [GremoryMangas] Add icon

* Fix MangaSwat : Change domain (#5985)

Fixes #5984

* FIX : XianMan123 => change domain (#5962)

* FIX DragonTranslation : url and selectors (#5977)

* FIX : iqiyi : fix mangalist (#5960)

* FIX ReaperScansBR : getting chapters (#5974)

* FIX ManhwasMen: no more Madara (#5978)

* FIX RealmScans: change url (#5981)

* FIX RealmScans: change url

* fix getting mangas list

* Update RealmScans.mjs

* FIX: Throttle API requests for loading manga list (#5997)

* LyraScans: create connector (#6005)

* HunterScanEN: create connector (#6014)

* Oxapk: create connector (#6019)

* Oxapk: create connector

* Oxapk: remove icon

* Oxapk: add icon back

* Revert "Oxapk: add icon back"

This reverts commit b28984a.

* Revert "Oxapk: remove icon"

This reverts commit 9b7f729.

* Oxapk: remove connector file

* Oxapk: add connector file back

* CxC: create connector (#6023)

* Update Tempestfansub.mjs (#6084)

* Update Tempestfansub.mjs

Domain changed

* Update Tempestfansub.mjs

---------

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

* FIX AnimeUnity: change domain (#6081)

Fixes #6079

* Update AsuraScans.mjs (#6078)

Changed URL for asura scans from asurascans.com to asura.gg.
This change happens from time to time since it's already been done but cancelled in the past, 
added the possibility of switching from one to the other.

* FIX : comics website url change (#6050)

* FIX Pururin : getting pages (#6077)

No more API

* FIX ComicFuz: download on non crypted picture (#6072)

* Revert "Update AsuraScans.mjs (#6078)" (#6090)

This reverts commit 97d8dcd.

* FIX: AsuraScans: domain change (#6026)

* FIX LeviatanScans : no more WPMangaProtector (#6008)

* FIX : Piccoma: change urls (#6004)

Fixes #6003

* FIX MangaRolls : change url (#5998)

* FIX : SushiScans : cloudflare workaround (#5939)

Somehow, using the updated HeaderGenerator (#5938) and  setting the useragent and stuff give good results, like being able to download an anetire volume, or update manga list. 

We still got errors 403 but not lire before, its still an improvement

OFC this needs #5938 to work properly

* Sen/RawSenManga : fixes manga list and stuff (#5912)

* Fixes #5909
* Fixes #5908

Please not that SenManga api gives errors whatever i do for manga listing. Better tell the user to use clipboard.

* FIx LynxScans: use standard Mangastream (#6091)

* FIX Alphapolis: picture fallback (#6070)

old manga doesnt have high res

Fixes #6067

* FIX Mangarawto pages order (#6065)

Somehow fetching image nodes by injecting a script fixes messed up image order and format

Fixes #6064

* FIX KLmanga : get chapters and pages (#6035)

using XHR now

Fixes #6032

* FIX Ynjn ; no more Speedbind (#6031)

* getting pages using their api
* custom EZ unscrambling (16 pieces)

Fixes #6011

* FIX ComicK : useragent fix (#6028)

* FIX ZinNovel: manga linsting (#6027)

#6024

* FIX Futabanet : filter bad chapters & set baseURL (#6017)

* some chapters are apparently not redeable
* base URL for Speedbind has to be set to reader.futaba.jp

* FIX Ohtabooks: getting real reader url (#6016)

* FIX EHentai : throttling & fallback picture (#6002)

* throttling for pages listing
* add fallback when we cant get "fullpicture" because we are not logged or "need more GP"

THIS DOESNT FIX WEIRD PROTOCOL ERRORS #4523

* FIX : mkzhan. Fix getting pictures (#5961)

* get chapters using their api
* get pictures using their api

* Fix kuaikanmanhua: fix chapter access for some mangas (#6100)

* forced mobile useragent for all requests 
Fixes #6097

* FIX : Siyahmelek : filter dummy picture (#6013)

* FIX Alphapolis: fix manga listing (#6101)

* fix: wnacg (#6105)

* FIX Katakomik: change domain (#6113)

and rveert to default mangastream values

* FIX MangaSY : need referrer for pictures (#6112)

Fixes #6108

* GITHUB TEMPLATE - incentive to try nightly and search for opened issue (#6119)

* GITHUB TEMPLATE - incentive to try nightly and search for opened issue

* Use github form

---------

Co-authored-by: Sheepux <sheepux@live.com>

* Fix issue template hyperlinks (#6121)

* FIX FMTeam : Foolslide to Pizzareader (#6124)

Fixes #6122

* FIX DoujinDesu: domain change (#6126)

* Fix 9Anime chapters and pages + rebrand to aniwave (#6082)

* Fix 9Anime chapters and pages

Relevant commit : manga-download/hakuneko-plugins@4e860ad
Fixes #6080

* Add files via upload

* add shirakami (#6129)

* add otsugami (#6130)

* add futari (#6128)

* add Kanzenin (#6127)

* Save ComicInfo.xml in CBZ Files (Optional) (#6102)

* Add ComicInfo.xml generator and include it in chapters file

* The label has been updated to provide clarity for the user

* Fix code issues

* Remove wrong code

* CrazyScans: bypass WP Manga Protector (#6144)

stol- borrowed the code from the MangaSY (a48270b) connector.
Thanks to @MikeZeDev for the help.

* RealmScans: update domain (#6152)

* [Tapas] Cleanup manga title on url paste (#6153)

* FIX Hiperdex domain (#6148)

As they are starting to use other domains than the 2 in the option, allow the user to type the good one instead

* FIX Cycomi : dont decrypt "end_pages" (#6131)

* FIX : AsuraScans  domain as a setting (#6142)

* FIX : AsuraScans  domain as a setting

* Asura change url often, so its now a setting
* Had to change AsuraScansTR so it extends Mangastream and not AsuraScans.

Because if you want to set URL as a setting in a connector that is extended by another connecor, you end up wiping user settings and bookmarks.

* fix lint

* FIX FirstKiss : domain change and new template (#6150)

* FIX FirstKiss : domain change and new template

* Update FirstKiss.mjs

* Update FirstKiss.mjs

* fix(GourmetScans): bypass WP Manga Protector (#6160)

borrowed the code from the MangaSY (a48270b) connector.

* Fix MangaGreat: change domain (#6162)

com -> org

* FIX KomikCast: domain and getpages (#6168)

* FIX KomikCast: domain and getpages

Fixes #6132

For some reason domain init fails with JS.

* Update KomikCast.mjs

* Update KomikCast.mjs

* FIX ManhwaFreak : new domain and filter pages (#6171)

* FIX UnionMangas: change domain (#6172)

* FIX MangaTown : 🤦‍♂️ (#6174)

no comment

* FIX ManhuaScan : template is Madtheme (#6175)

* FIX MangaMe: change domain (#6179)

* FIX ReaperScansID : change domain & filter ads (#6183)

* FIX ReaperScansID : change domain & filter ads

Fixes #6181

* simplified ads filtering

* FIX FirstKiss : filter images (#6182)

to avoid 404 errors and site logos

* FIX RandomScan : change url (#6177)

* FIX RandomScan : change url

Fixes #5031

(As there is no cloudflare for now)

* Update RandomScan.mjs

* add tensiID (#6197)

* FIX Miauscans : change domain (#6200)

* Fix ManhwaList: change domain (#6199)

Fixes #6198

* Update GoofFansub.mjs (#6202)

This site has changed the link: 
Before: https://gooffansub.com.br/
Now: https://gooffansub.com/

* FIX Mgkomik : change domain (#6209)

and adjust manga listing

Fixes #6208

* FIx LeviatanScans : change domain (#6213)

* FIx LeviatanScans : chande domain

Fixes #6210

* Update LeviatanScans.mjs

* FIX YumeKomik : fix getpages (#6215)

call standard mangastream method to get images array

* Fix ReManga : add referer to requests (#6227)

* Fix MangaFire : api changes (#6217)

* Fix MangaFire : api changes

still testing manga listing, dont merge

* workaround for manga listing

* removed console logs on mangafire

* FIX YugenMangas : domain change (#6205)

and little api tweaks

Fixes #6201

* Fix YoungJump: getting paid stuff (#6103)

* Fix YoungJump: getting paid stuff

* no more free content on website
* you can get magazines after being subscribed and logged (meaning ofc legally purchased)

* Update YoungJump.mjs

* FIX AsuraScansTR : change domain (#6238)

Fixes #6235

* feat(KaiScans): create connector (#6247)

* feat(KaiScans): create connector

* kaiscans: fixes class name

---------

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

* feat(FreakScans): create connector (#6246)

* feat(OzulScansEN): create connector (#6273)

* feat(OzulScansEN): create connector

* feat(OzulScans): update url

* feat(OzulScans): add 'scanlation' tag

* fix(OzulScansEN): fix manga list path

* Fix Nekomik: change domain (#6278)

Fixes #6276

* FIX ReaperScansID : change domain (#6275)

Fixes #6274

* Fix MangaShiro : change domain (#6244)

Fixes #6243

* Fix DuniaKomik : change domain (#6279)

Fixes #6277

* Fix Siyahmelek : change domain (#6250)

and add login link.

Fixes #6248

* FIX WebtoonTRCOM : change domain (#6249)

Fixes #6245

* FIX AniGliScans : change domain (#6253)

* FIX Mangalek : change domain (#6264)

Fixes #6263

* Fix Tappytoon : get best picture quality if available (#6258)

Fixes #6257

There is a new endpoint to get pictures with chosen quality
Tested on EN FR DE, works

* add warung komik (#6285)

* Fix OneTwoThreeHon : various (#6251)

* fix manga listing, more sources
* fix clipboard manga title
* fix a rare bug when chapter link doesnt end with /

* Fixes #6229

* FIX kakaopage : fix getChapters (#6266)

changed graphql request

* Fix  ComicZerosum : no more Speedbind (#6230)

* Fix ComicZerosum : from Speedbind to protobuf

Fixes #6222

* Update ComicZerosum.proto

* Update ComicZerosum.mjs

* FIX PixivComics : unscramble pictures (#6270)

* FIX PixivComics : unscramble pictures

* getPages ditched MD5 for SHA256
* getPages  url endpoint is different 
* fetching image need a request header containing scrambling key
* pages are scrambled

* Update PixivComics.mjs

* Update PixivComics.mjs

* FIX : Comic boost : handle encrypted Publus version (#5959)

* ComicBoost : First attempt at new Publus support

* configuration_pack.json is encrypted
* filename has to be generated
* pictures are still scrambled, but block generation method is not the old one

* Update ComicBoost.mjs

* Update ComicBoost.mjs

* ComicBoost : better approach

* More generic publus script
* JSON.Stringify the blocks greatly increase the speed of createHandleURI, making this method usable :)

* use try catch to properly reject promise

* FIX: OlympusScanlation - Complete rewrite (#5521)

* OlympusScanlation : Complete rewrite

* Url change
* No more Madara, custom api
* Fixes #5517

* updates urls

* Add Netcomics (#5671)

* Add NetComics

Fixes #1437

* add netcomics icon

* FIX : AllAnimeSite : fixes and improvements (#5919)

* AllAnimeSite : update PersistentQueries hashes

Fixes #5917

* Allanimesite2: decode video url

* Allanimesite: support more video hosters

* Update Allanimesite2.mjs

* Update Allanimesite2.mjs

* AllAnime : fix particular manga slug

* Update Allanimesite2.mjs

* fix lint

* FIX: Bilibili - Add quality selection & fix incorrect server data (#5498)

* BilibiliManhua : Add quality selection

* Bilibilicomics : Add quality selection

* Update BilibiliManhua.mjs

* Update BilibiliManhua.mjs

* Update BilibiliManhua.mjs

* Update BilibiliManhua.mjs

* Bilibili : requested changed

* FIX: Lezhin - fix CDN, purchased, and unscramble images when needed (#5378)

* Lezhin : fix case not getting pictures

* coin == 0 doesn't mean purchased. If we pass purchased  = true when its not we get 403 errors when pictures should be accessible.
* _getPages() : Read "purchased" value in chapter page __LZ_PRODUCT__ and provide it in payload data
* _hancleConnectorURI : provided purchased value

* Lezhin : cdn change & use given cdn

Turns out cdn is dead, ccdn is just for website stuff, and rcdn is the one with pictures.
Paid and free chapters now are downloaded without problems.

* add image unscrambling

* Update Lezhin.mjs

* better version 

* remove the need for the bigint lib. Use native BigInt.
* use pagesinfos toe get pages list, with scrollsinfos as fallback (both are identical, first one may not exists)

* Mangastarz & Mangastarz : domain change (#6293)

* CocoManHua : change domain (#6289)

Fixes #6288

* feat(GalaxyAction, GalaxyManga): create & update connector (#6290)

* refactor(GalaxyManga): add 'scanlation' tag

* feat(GalaxyAction): add connector

* feat(GalaxyManga): update connector

* refactor(GalaxyManga): fix lint errors

* feat(GalaxyManga): shorten 'title' extractor

* FIx UnionMangas : change domain and CSS selectors (#6299)

* FIX Tapas: improve manga list (#6300)

* Fix Tapas: extract mangatitle from dataset

* tapas : use json to get mangas

better that fetching page again

* feat(SectScans,LunarScans): create connectors (#6301)

* feat(SectScans,LunarScans): create connectors

* fix(LunarScans,SectScans): fixed requested minor changes

* fix(LunarScans,SectScans): lint errors

* FIX AllHentai: change domain and some CSS (#6305)

* FIX AllHentai: change domain and some CSS

Fixes #6303

* Update AllHentai.mjs

* FIx MangaMx : change domain (#6309)

* FIX MangAs : fix getting chapters (#6307)

Fixes #6306

Relevant commit : manga-download/hakuneko-plugins@ea4ae3f

* Fix AsuraScans: getting pages (#6314)

First try to gather ts_run data, otherwise fallback to mother method.

* Fix LineMangaJP (#6298)

* add: support portal chapter

* update: variable name

* AresManga : url change (#6321)

fixes #6320

* Fix MintManga : change domain (#6330)

Fixes #6326

* ComicExtra URL Change (#6345)

* ComicExtra URL Change 

Fixing #5285 again.

* Update ComicExtra.mjs

---------

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

* Update CeriseScans.mjs (#6312)

* Update CeriseScans.mjs

* Update CeriseScans.mjs

* Update CeriseScans.mjs

* Update CeriseScans.mjs

---------

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

* Fix PixivComics: correct header (#6338)

not an urgent fix cause everything works.
Its just to make it closer to what the website does.

* FIX YugenMangas: change domain (#6341)

Before you ask : YES, api main domain is NOT the same than website domain.

* FIX LineWebtoon : properly use throttling (#6346)

throttling setting wasnt used at all

* Fix RealmScans: change domain & name (#6350)

Fixes #6348

* FIX NightScans: change domain (#6351)

* FIX MangaEffect: bypass WpMangeProtector (#6333)

Fixes #6331

* FIx Toonkor : get domain from telegram (#6334)

Avoid twitter shenanigans.

Fixes #6332

* add natsuID (#6355)

* FIx YoungChampion & ComicMedu : more strict chapter CSS (#6356)

* FIx YoungChampion: more strict chapter CSS

#6353

* FIx COMICMeDu: extends YoungChampion

Fixes #6352

* Update COMICMeDu.mjs

* FIX MangaFire : filter api junk (#6361)

* FIX MangaFire : filter api junk

sometimes querying for Volumes returns Chapters.

* Update MangaFire.mjs

* Update nettruyenmax.com -> nettruyenus.com (#6362)

Originally nettruyenmax.com, now nettruyenus.com

* Fix PhenixScans: add referer for images (#6386)

Fixes #6385

* FIX WestManga: change domain (#6384)

* Fix KomikCast: change domain & fix getpages (#6383)

Fixes #6380

* Fix NeoxScan: change domain & add referrer (#6371)

* FlameScansORG : change domain (#6370)

and filter junk page

* put actual URL for ReadComicOnline first, and disambiguate similar site ReadComicsOnline (#6388)

* Add ignore 404 error option for page downloads (#6151)

* Add ignore 404 error option for page downloads

* Change ignore 404 to ignore errors

* Change from OR to AND and ignoreErrors to ignoreErrorOnDownload

* more useful description for ignore download error option

---------

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

* Update WebtoonHatti.mjs (#6395)

domain name changed.

* Ridibooks Connector (#6426)

* feat: _getMangas by scraping

* feat: _getMangas by fetch api

* feat(ridibooks):  _getChapters

* feat(ridibooks): _getPages

* fet(ridibooks): _getMangaFromURI

* feat(ridibooks): save manga fetched from uri to cache

* feat(ridibooks): first check cache on _getMangaFromURI

* feat(ridibooks): add connector icon

* feat(ridibooks): add gql skeleton

* feat(ridibooks): final clean up

* feat(Ridibooks): apply requested changes

* refactor(Ridibooks): change let to const

* feat(Ridibooks): change icon file for png

---------

Co-authored-by: Daniel Spinola <daniel.trindade1@ibm.com>

* FIX KomikTap : change domain (#6442)

Fixes #6440

* Fix NitroScans: change domain (#6438)

Fixes #5385

* Fix FayScans: wpmangaprotector (#6427)

Fixes #6344 (comment)

* Fix AllHentai domain (#6425)

Fixes #6424

* Fix Tempestfansud: default mangas list fetching (#6402)

Fixes #6399

* add OremangaNet.mjs (#6443)

* Add OremangaNet.mjs

Add file OremangaNet.mjs

* Update OremangaNet.mjs

Sort the code correctly.

* Update OremangaNet.mjs

* Add Logo Oremanga

Add file logo Oremanga

* Delete src/web/img/connectors/Oremanga

* Add file logo oremanga

---------

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

* FIX : kuaikanmanhua: accept mobile url (#6451)

* FIX : kuaikanmanhua: accept mobile url

Fixes #6450

* Update kuaikanmanhua.mjs

* [kuai] fix typo in regex (#6454)

damn we missed it

* FIX Katakomik domain (#6458)

* change Katakomik domain

* proper icon for katakomic

* fix(CrazyScans): update url (#6462)

* FIX CovenScan: domain change (#6465)

Fixes #6463

* Fix Futabanet: change CSS selectors (#6474)

also reader base domain seems to always be the website domain, no more "reader.futabanet"

Fixes #6472

* FIX SekaiKomik : change domain (#6477)

Fixes #6476

* FIx MangaSwat: change domain (#6492)

Fixes #6486

* 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

---------

Co-authored-by: MikeZeDev <MikeZeDev@users.noreply.github.com>
Co-authored-by: Tristan <tristan@tnet.moe>
Co-authored-by: akn19 <86169232+akn19@users.noreply.github.com>
Co-authored-by: amit34521 <amit34521@gmail.com>
Co-authored-by: Vilim Lendvaj <vilim.lendvaj@sk.t-com.hr>
Co-authored-by: Ignacio Castro <ignaciocastrom@gmail.com>
Co-authored-by: Nguyễn Tuấn Khang <63548593+Khangry@users.noreply.github.com>
Co-authored-by: ccx2 <63751016+ccx2@users.noreply.github.com>
Co-authored-by: CetaceanNation <32624140+CetaceanNation@users.noreply.github.com>
Co-authored-by: Furkan Göçmen <97408699+Furkangcmn@users.noreply.github.com>
Co-authored-by: Bapt6401 <101673058+Bapt6401@users.noreply.github.com>
Co-authored-by: WingGao <wing.gao@live.com>
Co-authored-by: apiweb <apiweb2007@gmail.com>
Co-authored-by: Akimanga <143043097+Akimanga@users.noreply.github.com>
Co-authored-by: Zen <paulphyo25@gmail.com>
Co-authored-by: jude <elastic.main@gmail.com>
Co-authored-by: rp <112440436+curp2@users.noreply.github.com>
Co-authored-by: Eliseu Pinkoski <69092302+EliseuPinkoski@users.noreply.github.com>
Co-authored-by: Phung Minh Quan <129191273+Nyaruko166@users.noreply.github.com>
Co-authored-by: ftfckr <54716748+ftfckr@users.noreply.github.com>
Co-authored-by: Elena Lorente <74774447+LorenteDev@users.noreply.github.com>
Co-authored-by: Daniel Spinola <51745663+danspinola@users.noreply.github.com>
Co-authored-by: Daniel Spinola <daniel.trindade1@ibm.com>
Co-authored-by: Noname <150990826+YainuWan11@users.noreply.github.com>
Co-authored-by: x4nk1t <47915404+x4nk1t@users.noreply.github.com>
Co-authored-by: realabertian <64790396+realabertian@users.noreply.github.com>
  • Loading branch information
1 parent 513508c commit d81c395
Show file tree
Hide file tree
Showing 232 changed files with 4,059 additions and 1,506 deletions.
33 changes: 0 additions & 33 deletions .github/ISSUE_TEMPLATE/1-connector-website-not-working.md

This file was deleted.

66 changes: 66 additions & 0 deletions .github/ISSUE_TEMPLATE/1-connector-website-not-working.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: ❗ Connector/Website not working
description: Notify that a connector is not working
title: "[<NameOfConnector>] Connector not working"
labels: ["Website Change"]
body:
- type: checkboxes
attributes:
label: Is there an existing issue for this connector?
description: Do not create duplicate of an existing issue related to the connector
options:
- label: I have searched the existing issues
required: true
- type: checkboxes
attributes:
label: Did you read the troubleshooting guide ?
description: Please check [the troubleshooting guide](https://hakuneko.download/docs/troubleshoot/) if your issue might not be related to some known cases.
options:
- label: I read it but nothing seems related
required: true
- type: checkboxes
attributes:
label: Is the website of the connector working properly ?
description: If the website isn't working, hakuneko will not solve the issue.
options:
- label: Yes i'm able to see the manga within my standard browser
required: true
- type: checkboxes
attributes:
label: Make sure to try Nightly Build
description: The [nightly build](https://github.com/manga-download/hakuneko/releases) contains latest fixes. Perhaps your problem is already solved.
options:
- label: Yes nightly build didn't fix the issue
required: true
- type: dropdown
attributes:
label: What kind of issue are you encountering
options:
- Manga list isn't refreshing
- Chapter list isn't refreshing
- Downloads aren't working
- Images are missing in the embeded viewer
- Other
validations:
required: true
- type: textarea
attributes:
label: Describe the bug
description: A clear and concise description of what the bug is.
validations:
required: true
- type: textarea
attributes:
label: To Reproduce
description: Steps to reproduce the behavior
value: |
1. Name of connector
2. Name of manga (if connector update is working)
3. Name of chapter (if manga update is working)
4. Copy any relevant error message that appears in a popup or (advanced) within the console (press F12)
validations:
required: true
- type: markdown
attributes:
value: |
**Screenshots**
If complex to describe, add screenshots to help explain your problem.
Binary file added src/web/img/connectors/bigcomics
Binary file not shown.
Binary file added src/web/img/connectors/comicride
Binary file not shown.
Binary file added src/web/img/connectors/cxc
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 added src/web/img/connectors/freakscans
Binary file not shown.
Binary file added src/web/img/connectors/futari
Binary file not shown.
Binary file added src/web/img/connectors/galaxyaction
Binary file not shown.
Binary file added src/web/img/connectors/gremorymangas
Binary file not shown.
Binary file added src/web/img/connectors/kaiscans
Binary file not shown.
Binary file added src/web/img/connectors/kanzenin
Binary file not shown.
Binary file modified src/web/img/connectors/katakomik
Binary file not shown.
Binary file added src/web/img/connectors/komikindoinfo
Binary file not shown.
Binary file added src/web/img/connectors/lunarscans
Binary file not shown.
Binary file added src/web/img/connectors/lyrascans
Binary file not shown.
Binary file added src/web/img/connectors/miscans
Binary file not shown.
Binary file added src/web/img/connectors/natsuid
Binary file not shown.
Binary file added src/web/img/connectors/netcomics
Binary file not shown.
Binary file added src/web/img/connectors/oremanga
Binary file not shown.
Binary file added src/web/img/connectors/otsugami
Binary file not shown.
Binary file added src/web/img/connectors/oxapk
Binary file not shown.
Binary file added src/web/img/connectors/ozulscans-en
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 added src/web/img/connectors/ridibooks
Binary file not shown.
Binary file added src/web/img/connectors/sectscans
Binary file not shown.
Binary file added src/web/img/connectors/shirakami
Binary file not shown.
Binary file added src/web/img/connectors/soulscans
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.
Binary file added src/web/img/connectors/tenshiid
Binary file not shown.
Binary file added src/web/img/connectors/warungkomik
Binary file not shown.
6 changes: 6 additions & 0 deletions src/web/mjs/HakuNeko.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import BookmarkManager from './engine/BookmarkManager.mjs';
import ChaptermarkManager from './engine/ChaptermarkManager.mjs';
import Connectors from './engine/Connectors.mjs';
import DownloadManager from './engine/DownloadManager.mjs';
import ComicInfoGenerator from './engine/ComicInfoGenerator.mjs';
//import HistoryWorker from './engine/HistoryWorker.mjs'
import Request from './engine/Request.mjs';
import Settings from './engine/Settings.mjs';
Expand All @@ -29,6 +30,7 @@ export default class HakuNeko {
this._connectors = new Connectors(this._request);
this._storage = new Storage();
this._bookmarkManager = new BookmarkManager(this._settings, new BookmarkImporter());
this._comicInfoGenerator = new ComicInfoGenerator();
this._chaptermarkManager = new ChaptermarkManager(this._settings);
}

Expand Down Expand Up @@ -59,6 +61,10 @@ export default class HakuNeko {
return this._bookmarkManager;
}

get ComicInfoGenerator() {
return this._comicInfoGenerator;
}

get ChaptermarkManager() {
return this._chaptermarkManager;
}
Expand Down
17 changes: 14 additions & 3 deletions src/web/mjs/connectors/AllHentai.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,19 @@ export default class AllHentai extends Connector {
super.id = 'allhentai';
super.label = 'AllHentai';
this.tags = ['hentai', 'russian'];
this.url = 'https://2023.allhen.online';
this.url = 'https://20.allhen.online';
this.links = {
login: 'https://2023.allhen.online/internal/auth'
login: 'https://20.allhen.online/internal/auth'
};
this.config = {
throttle: {
label: 'Throttle Requests [ms]',
description: 'Enter the timespan in [ms] to delay consecutive HTTP requests.\nThe website may block you for to many consecuitive requests.',
input: 'numeric',
min: 1000,
max: 7500,
value: 1500
}
};
}

Expand All @@ -27,6 +37,7 @@ export default class AllHentai extends Connector {
for (let page = 0, run = true; run; page++) {
const mangas = await this._getMangasFromPage(page);
mangas.length > 0 ? mangaList.push(...mangas) : run = false;
await this.wait(this.config.throttle.value);
}
return mangaList;
}
Expand All @@ -46,7 +57,7 @@ export default class AllHentai extends Connector {
async _getChapters(manga) {
const uri = new URL(manga.id, this.url);
const request = new Request(uri, this.requestOptions);
const data = await this.fetchDOM(request, 'div.chapters-link table tr td a[title]');
const data = await this.fetchDOM(request, 'div#chapters-list table tr td a[title]');
return data.map(element => {
return {
id: this.getRootRelativeOrAbsoluteLink(element, this.url),
Expand Down
2 changes: 1 addition & 1 deletion src/web/mjs/connectors/Allanimesite.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ export default class Allanimesite extends Connector {
const jsonExtensions = {
persistedQuery : {
version : 1,
sha256Hash : "edbe1fb23e711aa2bf493874a2d656a5438fe9b0b3a549c4b8a831cc2e929bae"
sha256Hash : "a27e57ef5de5bae714db701fb7b5cf57e13d57938fc6256f7d5c70a975d11f3d"
}
};

Expand Down
68 changes: 52 additions & 16 deletions src/web/mjs/connectors/Allanimesite2.mjs
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import Allanimesite from './Allanimesite.mjs';
import Manga from '../engine/Manga.mjs';
import FileMoon from '../videostreams/FileMoon.mjs';
import StreamSB from '../videostreams/StreamSB.mjs';

export default class Allanimesite2 extends Allanimesite {
constructor() {
Expand Down Expand Up @@ -38,7 +40,7 @@ export default class Allanimesite2 extends Allanimesite {
const jsonExtensions = {
persistedQuery : {
version : 1,
sha256Hash : "b645a686b1988327795e1203867ed24f27c6338b41e5e3412fc1478a8ab6774e"
sha256Hash : "06327bc10dd682e1ee7e07b6db9c16e9ad2fd56c1b769e47513128cd5c9fc77a"
}
};

Expand All @@ -48,20 +50,23 @@ export default class Allanimesite2 extends Allanimesite {
const data = await this.fetchJSON(request);
if (!data.data) return [];
return data.data.shows.edges.map(element => {
let id = '/anime/'+element._id+'/'+element.name.replace(/[^a-zA-Z0-9]+/g, '-').toLowerCase();
id += element.slugTime ? '-st-'+element.slugTime : '';
return {
id: '/anime/'+element._id,
id: id,
title: element.englishName ? element.englishName : element.name,
};
});
}
async _getChapters(manga) {
const request = new Request(new URL(manga.id, this.url), this.requestOptions);
let request = new Request(new URL(manga.id, this.url), this.requestOptions);
let script = `
new Promise(resolve => {
resolve(__NUXT__);
});
`;
let data = await Engine.Request.fetchUI(request, script);

let chapterlist = [];
const mangaid = manga.id.replace('/anime/', '/watch/');
let subchapters = data.fetch['anime:0'].show.availableEpisodesDetail.sub;
Expand Down Expand Up @@ -91,26 +96,57 @@ export default class Allanimesite2 extends Allanimesite {
return chapterlist;
}
async _getPages(chapter) {
const validSources = ['Default', 'Luf-hls', 'Luf-mp4', 'Fm-Hls', 'Ss-Hls'];
let request = new Request(new URL(chapter.id, this.url), this.requestOptions);
const script = `
new Promise(resolve => {
resolve(__NUXT__);
});
`;
let data = await Engine.Request.fetchUI(request, script);
const sourcesArray = data.fetch['episode:0'].episodeSelections;
const goodSource = sourcesArray.find(source => source.sourceName == 'Default');
if (!goodSource) throw new Error('No Default source found ! Hakuneko supports only default video source.');
let uri = new URL(goodSource.sourceUrl.replace('clock', 'clock.json'), 'https://blog.allanime.pro');
request = new Request(uri, this.requestOptions);
data = await this.fetchJSON(request);
let stream = [];
let link = data.links[0];
if (link.hls) {
stream = { mirrors: [ link.link ], subtitles: [], referer : 'https://blog.allanime.pro'};
} else {
stream = {video: [ link.link ], subtitles: []};
let sourcesArray = data.fetch['episode:0'].episodeSelections;
sourcesArray = sourcesArray.sort(function (a, b) {
return b.priority - a.priority;
});
const goodSource = sourcesArray.find(source => validSources.includes(source.sourceName));
if (!goodSource) throw new Error('No source found ! Hakuneko supports only some video source.');

switch (goodSource.sourceName.toLowerCase()) {
case 'fm-hls': { //FileMoon
let fMoon = new FileMoon(goodSource.sourceUrl);
let playlist = await fMoon.getPlaylist();
return {
hash: 'id,language,resolution',
mirrors: [ playlist ],
subtitles: []
};
}
case 'ss-hls': {//StreamSB
const SB = new StreamSB(goodSource.sourceUrl);
let playlist = await SB.getStream();
return {
hash: 'id,language,resolution',
mirrors: [ playlist ],
subtitles: []
};
}
default: { //"Default, Luf-hls, Luf-mp4"
let decodedurl = goodSource.sourceUrl.replace('#', '');
decodedurl = decodedurl.split(/(\w\w)/g).filter(p => !!p).map(c => String.fromCharCode(parseInt(c, 16))).join("");

let uri = new URL(decodedurl.replace('clock', 'clock.json'), 'https://blog.allanime.pro');
request = new Request(uri, this.requestOptions);
data = await this.fetchJSON(request);
let stream = [];
let link = data.links.pop();
if (link.hls) {
stream = { mirrors: [ link.link ], subtitles: [], referer : 'https://blog.allanime.pro'};
} else {
stream = {video: [ link.link ], subtitles: []};
}
return stream;
}
}
return stream;

}
}
24 changes: 21 additions & 3 deletions src/web/mjs/connectors/Alphapolis.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ export default class Alphapolis extends Connector {
async _getMangas() {
let mangaList = [];
const request = new Request(new URL('/manga/official/search', this.url), this.requestOptions);
const data = await this.fetchDOM(request, 'span:last-child > a');
const pageCount = parseInt(data[0].href.match(/(\d)+$/)[1]);
const data = await this.fetchDOM(request, 'div.paginator.section span a[rel="last"]');
const pageCount = parseInt(data[0].href.match(/(\d+)$/)[1]);
for(let page = 1; page <= pageCount; page++) {
let mangas = await this._getMangasFromPage(page);
mangaList.push(...mangas);
Expand Down Expand Up @@ -47,7 +47,11 @@ export default class Alphapolis extends Connector {
const data = await this.fetchDOM(request, 'viewer-manga-horizontal');
try {
const pages = JSON.parse(data[0].getAttribute('v-bind:pages'));
return pages.filter(element => typeof element != 'object' && !element.match('white_page')).map(element => element.replace(/\/[0-9]+x[0-9]+.([\w]+)/, '/1080x1536.$1'));
return pages.filter(element => typeof element != 'object' && !element.match('white_page'))
.map(element => {
const hiresPicture = element.replace(/\/[0-9]+x[0-9]+.([\w]+)/, '/1080x1536.$1');
return this.createConnectorURI({hiresPicture : hiresPicture, normalpicture : element});
});
} catch (error) {
throw new Error(`The chapter '${chapter.title}' is neither public, nor purchased!`);
}
Expand All @@ -63,4 +67,18 @@ export default class Alphapolis extends Connector {
};
});
}

async _handleConnectorURI(payload) {
let request = new Request(payload.hiresPicture, this.requestOptions);
let response = await fetch(request);
if (response.status != 200) {
request = new Request(payload.normalpicture, this.requestOptions);
response = await fetch(request);
}
let data = await response.blob();
data = await this._blobToBuffer(data);
this._applyRealMime(data);
return data;
}

}
2 changes: 1 addition & 1 deletion src/web/mjs/connectors/AniGliScans.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ export default class AniGliScans extends WordPressMangastream {
super.id = 'anigliscans';
super.label = 'Animated Glitched Scans';
this.tags = [ 'manga', 'english', 'scanlation' ];
this.url = 'https://anigliscans.com';
this.url = 'https://anigliscans.xyz';
this.path = '/series/?list';
}
async _getPages(chapter) {
Expand Down
2 changes: 1 addition & 1 deletion src/web/mjs/connectors/AnimeUnity.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export default class AnimeUnity extends Connector {
super.id = 'animeunity';
super.label = 'AnimeUnity';
this.tags = [ 'anime', 'italian' ];
this.url = 'https://www.animeunity.tv';
this.url = 'https://www.animeunity.to';
}
async _getMangaFromURI(uri) {
const request = new Request(uri, this.requestOptions);
Expand Down
2 changes: 1 addition & 1 deletion src/web/mjs/connectors/AresManga.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ export default class AresManga extends WordPressMangastream {
super.id = 'aresmanga';
super.label = 'Ares Manga';
this.tags = ['webtoon', 'arabic'];
this.url = 'https://aresmanga.net';
this.url = 'https://aresnov.org';
this.path = '/series/list-mode/';
}
}

0 comments on commit d81c395

Please sign in to comment.