// ==UserScript==
// @name AllInOneDownloader
// @namespace AllInOne
// @version 0.8
// @description Match and then run a proper script
// @homepage https://github.com/Timesient/manga-download-scripts
// @author Timesient
// @license GPL-3.0
// @match https://www.alphapolis.co.jp/manga/official/*/*
// @match https://booklive.jp/bviewer/*
// @match https://viewer.bookwalker.jp/*/*/viewer.html*
// @match https://viewer-subscription.bookwalker.jp/*/*/viewer.html*
// @match https://comic-boost.com/viewer.html*
// @match https://comic-days.com/*/*
// @match https://shonenjumpplus.com/*/*
// @match https://kuragebunch.com/*/*
// @match https://www.sunday-webry.com/*/*
// @match https://comicbushi-web.com/*/*
// @match https://tonarinoyj.jp/*/*
// @match https://comic-gardo.com/*/*
// @match https://pocket.shonenmagazine.com/*/*
// @match https://comic-zenon.com/*/*
// @match https://comic-trail.com/*/*
// @match https://comic-action.com/*/*
// @match https://viewer.comic-earthstar.jp/viewer.html*
// @match https://comic-fuz.com/*
// @match https://www.comico.jp/*
// @match https://www.comico.kr/*
// @match https://www.pocketcomics.com/*
// @match https://comic-walker.com/viewer/*
// @match https://book.dmm.com/*
// @match https://firecross.jp/reader/*
// @match https://ganma.jp/*
// @match https://read.amazon.co.jp/manga/*
// @match https://manga.line.me/*/viewer*
// @match https://kansai.mag-garden.co.jp/assets/files/*
// @match https://mangacross.jp/*
// @match *://r-cbs.mangafactory.jp/*/*/*
// @match *://binb-cbs.mangafactory.jp/*/*/*
// @match https://mangagun.com/read-*
// @match https://seiga.nicovideo.jp/watch/*
// @match https://novema.jp/comic/serial/*/*/*
// @match https://piccoma.com/web/viewer/*/*
// @match https://comic.pixiv.net/*
// @match https://www.comicnettai.com/*/viewer.html*
// @match https://pash-up.jp/*/viewer.html*
// @match https://gammaplus.takeshobo.co.jp/manga/*
// @match https://storia.takeshobo.co.jp/_files/*
// @match https://comic-meteor.jp/ptdata/*
// @match https://www.123hon.com/vw/*
// @match https://www.comic-valkyrie.com/samplebook/*
// @match https://manga.zerosumonline.com/online/*
// @match https://comic-polaris.jp/ptdata/*
// @match https://manga-mee.jp/trial_reading/*
// @match https://to-corona-ex.com/episodes/*
// @match https://urasunday.com/title/*
// @match https://comic.webnewtype.com/contents/*/*
// @match https://weloma.art/*/*/
// @match https://yanmaga.jp/comics/*/*
// @match https://yawaspi.com/*/comic/*
// @match https://www.yomonga.com/*
// @match https://web-ace.jp/youngaceup/contents/*/episode/*
// @require https://unpkg.com/[email protected]/dist/axios.min.js
// @require https://unpkg.com/[email protected]/dist/jszip.min.js
// @require https://unpkg.com/[email protected]/dist/FileSaver.min.js
// @require https://unpkg.com/[email protected]/crypto-js.js
// @require https://greasyfork.org/scripts/451810-imagedownloaderlib/code/ImageDownloaderLib.js?version=1096733
// @require https://greasyfork.org/scripts/451811-publusconfigdecoder/code/PublusConfigDecoder.js?version=1096709
// @require https://greasyfork.org/scripts/451812-publuscoordsgenerator/code/PublusCoordsGenerator.js?version=1096723
// @require https://greasyfork.org/scripts/451813-publusnovelpage/code/PublusNovelPage.js?version=1096725
// @require https://greasyfork.org/scripts/451814-publuspage/code/PublusPage.js?version=1096727
// @grant GM_xmlhttpRequest
// @grant window.onurlchange
// @grant unsafeWindow
// ==/UserScript==
(async function(axios, JSZip, saveAs, CryptoJS, ImageDownloader, PublusConfigDecoder, PublusCoordsGenerator, PublusNovelPage, PublusPage) {
'use strict';
// map from host to script
const scriptDict = {
'www.alphapolis.co.jp': 'https://greasyfork.org/zh-CN/scripts/451858-alphapolisdownloader/code/alphapolisdownloader.js',
'booklive.jp': 'https://greasyfork.org/zh-CN/scripts/452562-booklivedownloader/code/booklivedownloader.js',
'viewer.bookwalker.jp': 'https://greasyfork.org/zh-CN/scripts/451859-bookwalkerdownloader/code/bookwalkerdownloader.js',
'viewer-subscription.bookwalker.jp': 'https://greasyfork.org/zh-CN/scripts/451859-bookwalkerdownloader/code/bookwalkerdownloader.js',
'comic-boost.com': 'https://greasyfork.org/zh-CN/scripts/451860-comicboostdownloader/code/comicboostdownloader.js',
'comic-days.com': 'https://greasyfork.org/zh-CN/scripts/451861-comicdaysdownloader/code/comicdaysdownloader.js',
'shonenjumpplus.com': 'https://greasyfork.org/zh-CN/scripts/451861-comicdaysdownloader/code/comicdaysdownloader.js',
'kuragebunch.com': 'https://greasyfork.org/zh-CN/scripts/451861-comicdaysdownloader/code/comicdaysdownloader.js',
'www.sunday-webry.com': 'https://greasyfork.org/zh-CN/scripts/451861-comicdaysdownloader/code/comicdaysdownloader.js',
'comicbushi-web.com': 'https://greasyfork.org/zh-CN/scripts/451861-comicdaysdownloader/code/comicdaysdownloader.js',
'tonarinoyj.jp': 'https://greasyfork.org/zh-CN/scripts/451861-comicdaysdownloader/code/comicdaysdownloader.js',
'comic-gardo.com': 'https://greasyfork.org/zh-CN/scripts/451861-comicdaysdownloader/code/comicdaysdownloader.js',
'pocket.shonenmagazine.com': 'https://greasyfork.org/zh-CN/scripts/451861-comicdaysdownloader/code/comicdaysdownloader.js',
'comic-zenon.com': 'https://greasyfork.org/zh-CN/scripts/451861-comicdaysdownloader/code/comicdaysdownloader.js',
'comic-trail.com': 'https://greasyfork.org/zh-CN/scripts/451861-comicdaysdownloader/code/comicdaysdownloader.js',
'comic-action.com': 'https://greasyfork.org/zh-CN/scripts/451861-comicdaysdownloader/code/comicdaysdownloader.js',
'viewer.comic-earthstar.jp': 'https://greasyfork.org/zh-CN/scripts/451862-comicearthstardownloader/code/comicearthstardownloader.js',
'comic-fuz.com': 'https://greasyfork.org/zh-CN/scripts/451863-comicfuzdownloader/code/comicfuzdownloader.js',
'www.comico.jp': 'https://greasyfork.org/zh-CN/scripts/451865-comicodownloader/code/comicodownloader.js',
'www.comico.kr': 'https://greasyfork.org/zh-CN/scripts/451865-comicodownloader/code/comicodownloader.js',
'www.pocketcomics.com': 'https://greasyfork.org/zh-CN/scripts/451865-comicodownloader/code/comicodownloader.js',
'comic-walker.com': 'https://greasyfork.org/zh-CN/scripts/451866-comicwalkerdownloader/code/comicwalkerdownloader.js',
'book.dmm.com': 'https://greasyfork.org/zh-CN/scripts/451867-dmmdownloader/code/dmmdownloader.js',
'firecross.jp': 'https://greasyfork.org/zh-CN/scripts/451868-firecrossdownloader/code/firecrossdownloader.js',
'ganma.jp': 'https://greasyfork.org/zh-CN/scripts/451869-ganmadownloader/code/ganmadownloader.js',
'read.amazon.co.jp': 'https://greasyfork.org/zh-CN/scripts/451870-kindlemangadownloader/code/kindlemangadownloader.js',
'manga.line.me': 'https://greasyfork.org/zh-CN/scripts/452814-linemangadownloader/code/linemangadownloader.js',
'kansai.mag-garden.co.jp': 'https://greasyfork.org/zh-CN/scripts/451871-maggardendownloader/code/maggardendownloader.js',
'mangacross.jp': 'https://greasyfork.org/zh-CN/scripts/451872-mangacrossdownloader/code/mangacrossdownloader.js',
'r-cbs.mangafactory.jp': 'https://greasyfork.org/zh-CN/scripts/451873-mangafactorydownloader/code/mangafactorydownloader.js',
'binb-cbs.mangafactory.jp': 'https://greasyfork.org/zh-CN/scripts/451873-mangafactorydownloader/code/mangafactorydownloader.js',
'mangagun.com': 'https://greasyfork.org/zh-CN/scripts/453154-mangagundownloader/code/mangagundownloader.js',
'seiga.nicovideo.jp': 'https://greasyfork.org/zh-CN/scripts/451874-nicomangadownloader/code/nicomangadownloader.js',
'novema.jp': 'https://greasyfork.org/zh-CN/scripts/451875-novemadownloader/code/novemadownloader.js',
'piccoma.com': 'https://greasyfork.org/zh-CN/scripts/451876-piccomadownloader/code/piccomadownloader.js',
'comic.pixiv.net': 'https://greasyfork.org/zh-CN/scripts/451877-pixivcomicdownloader/code/pixivcomicdownloader.js',
'www.comicnettai.com': 'https://greasyfork.org/zh-CN/scripts/451878-publusdownloader/code/publusdownloader.js',
'pash-up.jp': 'https://greasyfork.org/zh-CN/scripts/451878-publusdownloader/code/publusdownloader.js',
'gammaplus.takeshobo.co.jp': 'https://greasyfork.org/zh-CN/scripts/451879-speedbinbdownloader/code/speedbinbdownloader.js',
'storia.takeshobo.co.jp': 'https://greasyfork.org/zh-CN/scripts/451879-speedbinbdownloader/code/speedbinbdownloader.js',
'comic-meteor.jp': 'https://greasyfork.org/zh-CN/scripts/451879-speedbinbdownloader/code/speedbinbdownloader.js',
'www.123hon.com': 'https://greasyfork.org/zh-CN/scripts/451879-speedbinbdownloader/code/speedbinbdownloader.js',
'www.comic-valkyrie.com': 'https://greasyfork.org/zh-CN/scripts/451879-speedbinbdownloader/code/speedbinbdownloader.js',
'manga.zerosumonline.com': 'https://greasyfork.org/zh-CN/scripts/451879-speedbinbdownloader/code/speedbinbdownloader.js',
'comic-polaris.jp': 'https://greasyfork.org/zh-CN/scripts/451879-speedbinbdownloader/code/speedbinbdownloader.js',
'manga-mee.jp': 'https://greasyfork.org/zh-CN/scripts/451879-speedbinbdownloader/code/speedbinbdownloader.js',
'to-corona-ex.com': 'https://greasyfork.org/zh-CN/scripts/451880-tocoronaexdownloader/code/tocoronaexdownloader.js',
'urasunday.com': 'https://greasyfork.org/zh-CN/scripts/451881-urasundaydownloader/code/urasundaydownloader.js',
'comic.webnewtype.com': 'https://greasyfork.org/zh-CN/scripts/451882-webnewtypedownloader/code/webnewtypedownloader.js',
'weloma.art': 'https://greasyfork.org/zh-CN/scripts/451883-welomadownloader/code/welomadownloader.js',
'yanmaga.jp': 'https://greasyfork.org/zh-CN/scripts/451884-yanmagadownloader/code/yanmagadownloader.js',
'yawaspi.com': 'https://greasyfork.org/zh-CN/scripts/451885-yawaspidownloader/code/yawaspidownloader.js',
'www.yomonga.com': 'https://greasyfork.org/zh-CN/scripts/451886-yomongadownloader/code/yomongadownloader.js',
'web-ace.jp': 'https://greasyfork.org/zh-CN/scripts/451887-youngaceupdownloader/code/youngaceupdownloader.js',
}
// get and run the script
GM_xmlhttpRequest({
method: 'GET',
url: scriptDict[window.location.host],
onload: res => eval(res.response)
});
})(axios, JSZip, saveAs, CryptoJS, ImageDownloader, PublusConfigDecoder, PublusCoordsGenerator, PublusNovelPage, PublusPage);