AllInOneDownloader

Match and then run a proper script

目前為 2023-01-13 提交的版本,檢視 最新版本

// ==UserScript==
// @name         AllInOneDownloader
// @namespace    https://github.com/Timesient/manga-download-scripts
// @version      2.3
// @license      GPL-3.0
// @author       Timesient
// @description  Match and then run a proper script
// @icon         https://timesient.github.io/favicon.ico
// @homepageURL  https://greasyfork.org/zh-CN/scripts/451839-allinonedownloader
// @supportURL   https://github.com/Timesient/manga-download-scripts/issues
// @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://www.cmoa.jp/bib/speedreader/*
// @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://magcomi.com/*/*
// @match        https://viewer.heros-web.com/*/*
// @match        https://feelweb.jp/*/*
// @match        https://comicborder.com/*/*
// @match        https://comic-ogyaaa.com/*/*
// @match        https://www.corocoro.jp/*/*
// @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-ryu.jp/*/comic/*.html
// @match        https://comic-walker.com/viewer/*
// @match        https://book.dmm.com/*
// @match        https://*.ebookrenta.com/sc/view_*
// @match        https://firecross.jp/reader/*
// @match        https://www.ganganonline.com/*
// @match        https://ganma.jp/*
// @match        https://ichijin-plus.com/episodes/*
// @match        https://read.amazon.co.jp/manga/*
// @match        https://manga.line.me/*/viewer*
// @match        https://kansai.mag-garden.co.jp/assets/files/*
// @match        https://www.mangabox.me/reader/*/episodes/*
// @match        https://mangacross.jp/*
// @match        *://r-cbs.mangafactory.jp/*/*/*
// @match        https://mangagun.com/read-*
// @match        https://manga-park.com/title/*
// @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://*.papy.co.jp/sc/view_*
// @match        https://gammaplus.takeshobo.co.jp/_files/*
// @match        https://storia.takeshobo.co.jp/_files/*
// @match        https://webcomicgamma.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://web-ace.jp/*/contents/*/episode/*
// @match        https://comic.webnewtype.com/contents/*/*
// @match        https://weloma.art/*/*/
// @match        https://yanmaga.jp/comics/*/*
// @match        https://yawaspi.com/*/comic/*
// @match        https://ynjn.jp/viewer/*
// @match        https://www.yomonga.com/*
// @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=1129512
// @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=1128858
// @require      https://greasyfork.org/scripts/451814-publuspage/code/PublusPage.js?version=1124579
// @require      https://greasyfork.org/scripts/456423-speedreadertools/code/SpeedReaderTools.js?version=1128886
// @grant        GM_info
// @grant        GM_xmlhttpRequest
// @grant        unsafeWindow
// ==/UserScript==

(async function(axios, JSZip, saveAs, CryptoJS, ImageDownloader, PublusConfigDecoder, PublusCoordsGenerator, PublusNovelPage, PublusPage, SpeedReaderTools) {
  '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',
    'www.cmoa.jp': 'https://greasyfork.org/zh-CN/scripts/456424-cmoadownloader/code/cmoadownloader.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',
    'magcomi.com': 'https://greasyfork.org/zh-CN/scripts/451861-comicdaysdownloader/code/comicdaysdownloader.js',
    'viewer.heros-web.com': 'https://greasyfork.org/zh-CN/scripts/451861-comicdaysdownloader/code/comicdaysdownloader.js',
    'feelweb.jp': 'https://greasyfork.org/zh-CN/scripts/451861-comicdaysdownloader/code/comicdaysdownloader.js',
    'comicborder.com': 'https://greasyfork.org/zh-CN/scripts/451861-comicdaysdownloader/code/comicdaysdownloader.js',
    'comic-ogyaaa.com': 'https://greasyfork.org/zh-CN/scripts/451861-comicdaysdownloader/code/comicdaysdownloader.js',
    'www.corocoro.jp': '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-ryu.jp': 'https://greasyfork.org/zh-CN/scripts/455399-comicryudownloader/code/comicryudownloader.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',
    'www.ganganonline.com': 'https://greasyfork.org/zh-CN/scripts/455948-ganganonlinedownloader/code/ganganonlinedownloader.js',
    'ganma.jp': 'https://greasyfork.org/zh-CN/scripts/451869-ganmadownloader/code/ganmadownloader.js',
    'ichijin-plus.com': 'https://greasyfork.org/zh-CN/scripts/455783-ichijinplusdownloader/code/ichijinplusdownloader.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',
    'www.mangabox.me': 'https://greasyfork.org/zh-CN/scripts/455860-mangaboxdownloader/code/mangaboxdownloader.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',
    'mangagun.com': 'https://greasyfork.org/zh-CN/scripts/453154-mangagundownloader/code/mangagundownloader.js',
    'manga-park.com': 'https://greasyfork.org/zh-CN/scripts/455861-mangaparkdownloader/code/mangaparkdownloader.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',
    'webcomicgamma.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',
    'web-ace.jp': 'https://greasyfork.org/zh-CN/scripts/451887-webacedownloader/code/webacedownloader.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',
    'ynjn.jp': 'https://greasyfork.org/zh-CN/scripts/455206-ynjndownloader/code/ynjndownloader.js',
    'www.yomonga.com': 'https://greasyfork.org/zh-CN/scripts/451886-yomongadownloader/code/yomongadownloader.js',
  }

  // get and run the script
  GM_xmlhttpRequest({
    method: 'GET',
    url: scriptDict[window.location.host] || getOtherScript(),
    onload: res => eval(res.response)
  });

  function getOtherScript() {
    if (window.location.host.endsWith('papy.co.jp')) return 'https://greasyfork.org/zh-CN/scripts/456364-rentadownloader/code/rentadownloader.js';
    if (window.location.host.endsWith('ebookrenta.com')) return 'https://greasyfork.org/zh-CN/scripts/456365-ebookrentadownloader/code/ebookrentadownloader.js';
  }

})(axios, JSZip, saveAs, CryptoJS, ImageDownloader, PublusConfigDecoder, PublusCoordsGenerator, PublusNovelPage, PublusPage, SpeedReaderTools);