-
Notifications
You must be signed in to change notification settings - Fork 466
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* 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: 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> Co-authored-by: akn19 <86169232+akn19@users.noreply.github.com> Co-authored-by: Ronny <wegener.ronny@gmail.com>
- Loading branch information
1 parent
05fb18d
commit d746ddf
Showing
21 changed files
with
87 additions
and
145 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,59 +1,12 @@ | ||
import Connector from '../engine/Connector.mjs'; | ||
import Manga from '../engine/Manga.mjs'; | ||
import YoungChampion from './YoungChampion.mjs'; | ||
|
||
export default class MagKan extends Connector { | ||
export default class MagKan extends YoungChampion { | ||
|
||
constructor() { | ||
super(); | ||
super.id = 'magkan'; | ||
super.label = 'MagKan'; | ||
this.tags = [ 'manga', 'japanese' ]; | ||
this.url = 'http://kansai.mag-garden.co.jp'; | ||
this.url = 'https://kansai.mag-garden.co.jp'; | ||
} | ||
|
||
async _getMangaFromURI(uri) { | ||
const request = new Request(uri, this.requestOptions); | ||
const data = await this.fetchDOM(request, 'meta[property="og:title"]'); | ||
return new Manga(this, uri.pathname, data[0].content.trim()); | ||
} | ||
|
||
async _getMangas() { | ||
const uri = new URL(this.url); | ||
const request = new Request(uri, this.requestOptions); | ||
const data = await this.fetchDOM(request, 'div#main div.panel div.box div.inner'); | ||
return data.map(element => { | ||
return { | ||
id: this.getRootRelativeOrAbsoluteLink(element.querySelector('a'), this.url), | ||
title: element.querySelector('h2.comic_name').textContent.trim() | ||
}; | ||
}); | ||
} | ||
|
||
async _getChapters(manga) { | ||
const uri = new URL(manga.id, this.url); | ||
const request = new Request(uri, this.requestOptions); | ||
const body = await this.fetchDOM(request); | ||
const current = [...body.querySelectorAll('div#main div.update_summary div.exp ul.btn li a[href*="/assets/files/"]')].map(element => { | ||
return { | ||
id: this.getRootRelativeOrAbsoluteLink(element, this.url).replace(/\/HTML5\/?$/i, ''), | ||
title: element.text.replace('を読む', '').trim() | ||
}; | ||
}); | ||
const previous = [...body.querySelectorAll('div#main div.sam_exp div.exp')].map(element => { | ||
return { | ||
id: this.getRootRelativeOrAbsoluteLink(element.querySelector('ul.btn li a[href*="/assets/files/"]'), this.url).replace(/\/HTML5\/?$/i, ''), | ||
title: element.querySelector('div.back_number_summary div.ttl').textContent.trim() | ||
}; | ||
}); | ||
return [ ...current, ...previous ]; | ||
} | ||
|
||
async _getPages(chapter) { | ||
const uri = new URL(chapter.id + '/iPhone/ibook.xml', this.url); | ||
const request = new Request(uri, this.requestOptions); | ||
const response = await fetch(request); | ||
const data = await response.text(); | ||
const pages = parseInt(data.match(/<total>(\d+)<\/total>/)[1]); | ||
return new Array(pages).fill().map((_, index) => this.getAbsolutePath(`${chapter.id}/books/images/2/${index + 1}.jpg`, request.url)); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,70 +1,40 @@ | ||
import Connector from '../engine/Connector.mjs'; | ||
import Manga from '../engine/Manga.mjs'; | ||
import MojoPortalComic from './templates/MojoPortalComic.mjs'; | ||
|
||
export default class MangaSect extends Connector { | ||
export default class MangaSect extends MojoPortalComic { | ||
|
||
constructor() { | ||
super(); | ||
super.id = 'mangasect'; | ||
super.label = 'MangaSect'; | ||
this.tags = [ 'webtoon', 'english' ]; | ||
this.url = 'https://mangasect.com'; | ||
this.url = 'https://mangasect.net'; | ||
this.path = '/all-manga/'; | ||
} | ||
|
||
async _getMangaFromURI(uri) { | ||
const request = new Request(uri, this.requestOptions); | ||
const data = await this.fetchDOM(request, 'header h1'); | ||
return new Manga(this, uri.pathname, data[0].textContent.trim()); | ||
} | ||
async _getPages(chapter) { | ||
const request = new Request(new URL(chapter.id, this.url), this.requestOptions); | ||
const script = ` | ||
new Promise(resolve => { | ||
async _getMangas() { | ||
let mangaList = []; | ||
const uri = new URL(this.path, this.url); | ||
const request = new Request(uri, this.requestOptions); | ||
const data = await this.fetchDOM(request, 'div.blog-pager span:last-of-type a'); | ||
const pageCount = parseInt(data[0].href.match(/\/(\d)+\//)[1]); | ||
for(let page = 1; page <= pageCount; page++) { | ||
const mangas = await this._getMangasFromPage(page); | ||
mangaList.push(...mangas); | ||
} | ||
return mangaList; | ||
} | ||
function parseResults(data) { | ||
const dom = new DOMParser().parseFromString(data, 'text/html'); | ||
let nodes = [...dom.querySelectorAll('img')]; | ||
resolve(nodes.map(element => element.dataset.original)); | ||
} | ||
async _getMangasFromPage(page) { | ||
const uri = new URL(this.path + page, this.url); | ||
const request = new Request(uri, this.requestOptions); | ||
const data = await this.fetchDOM(request, 'div.grid div.text-center > a'); | ||
return data.map(element => { | ||
return { | ||
id: this.getRootRelativeOrAbsoluteLink(element, this.url), | ||
title: element.text.trim() | ||
}; | ||
}); | ||
const ajaxendpoint = new URL('/ajax/image/list/chap/' + CHAPTER_ID, window.location.href); | ||
fetch(ajaxendpoint, { | ||
headers: { | ||
'X-Requested-With': 'XMLHttpRequest', | ||
} | ||
}) | ||
.then(response => response.json()) | ||
.then(jsonData => { | ||
parseResults(jsonData.html); | ||
}); | ||
}); | ||
`; | ||
return Engine.Request.fetchUI(request, script); | ||
} | ||
|
||
async _getChapters(manga) { | ||
const uri = new URL(manga.id, this.url); | ||
const request = new Request(uri, this.requestOptions); | ||
const data = await this.fetchDOM(request, 'li.chapter > a'); | ||
return data.map(element => { | ||
return { | ||
id: this.getRootRelativeOrAbsoluteLink(element, this.url), | ||
title: element.text.trim() | ||
}; | ||
}); | ||
} | ||
|
||
async _getPages(chapter) { | ||
const referer = new URL(chapter.id, this.url); | ||
const chapterid = chapter.id.match(/\/([\d]+)$/)[1]; | ||
const uri = new URL ('/ajax/image/list/chap/' + chapterid, this.url); | ||
const request = new Request(uri, this.requestOptions); | ||
request.headers.set('x-referer', referer); | ||
request.headers.set('X-Requested-With', 'XMLHttpRequest'); | ||
const response = await this.fetchJSON(request); | ||
const dom = this.createDOM(response.html); | ||
const data = dom.querySelectorAll('source[data-src]'); | ||
return Array.from(data).map(image => this.getAbsolutePath(image.dataset['src'], request.url)); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
import WordPressMangastream from './templates/WordPressMangastream.mjs'; | ||
|
||
export default class MonzeeKomik extends WordPressMangastream { | ||
|
||
constructor() { | ||
super(); | ||
super.id = 'monzeekomik'; | ||
super.label = 'MonzeeKomik'; | ||
this.tags = ['manga', 'manhwa', 'indonesian']; | ||
this.url = 'https://monzeekomik.my.id'; | ||
this.path = '/manga/list-mode/'; | ||
} | ||
|
||
async _getMangas() { | ||
const mangas = await super._getMangas(); | ||
mangas.forEach(manga => manga.title = manga.title.replace(/Bahasa Indonesia$/i, '').trim()); | ||
return mangas; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.