Skip to content

Commit

Permalink
Merge branch 'master' into MZD-dev2
Browse files Browse the repository at this point in the history
  • Loading branch information
MikeZeDev committed Nov 24, 2024
2 parents c7df0ba + 256cae9 commit ec09924
Show file tree
Hide file tree
Showing 593 changed files with 12,219 additions and 3,291 deletions.
30 changes: 0 additions & 30 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.
2 changes: 1 addition & 1 deletion .github/workflows/ci-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
- name: Install NodeJS
uses: actions/setup-node@v1
with:
node-version: 16
node-version: 20
- name: Install NPM Packages
run: npm install
- name: Lint
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/continuous-deployment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
- name: Install NodeJS
uses: actions/setup-node@v1
with:
node-version: 16
node-version: 20
- name: Install NPM Packages
run: npm install
- name: Lint
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/continuous-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
- name: Install NodeJS
uses: actions/setup-node@v1
with:
node-version: 16
node-version: 20
- name: Install NPM Packages
run: npm install
- name: Lint
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,5 @@ cache
/redist/*.zip
/test/*.log
junit.xml
.idea/
.idea/
.vs
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/FMTeam
Binary file not shown.
Binary file added src/web/img/connectors/GalaxyManga
Binary file not shown.
Binary file added src/web/img/connectors/agitoon
Binary file not shown.
Binary file added src/web/img/connectors/ainzscans
Binary file not shown.
Binary file added src/web/img/connectors/alceascan
Binary file not shown.
Binary file added src/web/img/connectors/allanimesite
Binary file not shown.
Binary file added src/web/img/connectors/anigliscans
Binary file not shown.
Binary file added src/web/img/connectors/animeparadise
Binary file not shown.
Binary file added src/web/img/connectors/animeunity
Binary file not shown.
Binary file added src/web/img/connectors/arcanescans
Binary file not shown.
Binary file added src/web/img/connectors/ascalon
Binary file not shown.
Binary file added src/web/img/connectors/astralmanga
Binary file not shown.
Binary file added src/web/img/connectors/asuralightnovel
Binary file not shown.
Binary file added src/web/img/connectors/bentomanga
Binary file not shown.
Binary file added src/web/img/connectors/bigcomics
Binary file not shown.
Binary file added src/web/img/connectors/bokugents
Binary file not shown.
Binary file added src/web/img/connectors/cocorip
Binary file not shown.
Binary file added src/web/img/connectors/coffeemanga
Binary file not shown.
Binary file added src/web/img/connectors/comicbushi
Binary file not shown.
Binary file added src/web/img/connectors/comicfuz
Binary file not shown.
Binary file added src/web/img/connectors/comicgrast
Binary file not shown.
Binary file modified src/web/img/connectors/comickiba
Binary file not shown.
Binary file added src/web/img/connectors/comicride
Binary file not shown.
Binary file added src/web/img/connectors/constellarscans
Binary file not shown.
Binary file added src/web/img/connectors/cosmicscans
Binary file not shown.
Binary file added src/web/img/connectors/cosmicscansid
Binary file not shown.
Binary file added src/web/img/connectors/covenscan
Binary file not shown.
Binary file added src/web/img/connectors/culturedworks
Binary file not shown.
Binary file added src/web/img/connectors/cuutruyen
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 modified src/web/img/connectors/desu
Binary file not shown.
Binary file added src/web/img/connectors/digitalmargaret
Binary file not shown.
Binary file added src/web/img/connectors/doujinku
Binary file not shown.
Binary file added src/web/img/connectors/doujinza
Binary file not shown.
Binary file added src/web/img/connectors/duniakomik
Binary file not shown.
Binary file added src/web/img/connectors/fayscans
Binary file not shown.
Binary file added src/web/img/connectors/fbsquads
Binary file not shown.
Binary file added src/web/img/connectors/fizmanga
Binary file not shown.
Binary file added src/web/img/connectors/foxwhitescan
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/hinapyon
Binary file not shown.
Binary file added src/web/img/connectors/hqnow
Binary file not shown.
Binary file added src/web/img/connectors/imperiodabritannia
Binary file not shown.
Binary file added src/web/img/connectors/infrafandub
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 added src/web/img/connectors/karatcamscans
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/komiklab
Binary file not shown.
Binary file added src/web/img/connectors/kuroimanga
Binary file not shown.
Binary file added src/web/img/connectors/leercapitulo
Binary file not shown.
Binary file added src/web/img/connectors/leryaoi
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/mangaarabics
Binary file not shown.
Binary file modified src/web/img/connectors/mangachill
Binary file not shown.
Binary file modified src/web/img/connectors/mangacross
Binary file not shown.
Binary file not shown.
Binary file added src/web/img/connectors/mangafire
Binary file not shown.
Binary file added src/web/img/connectors/mangagalaxy
Binary file not shown.
Binary file added src/web/img/connectors/mangaindoMe
Binary file not shown.
Binary file added src/web/img/connectors/mangajp
Binary file not shown.
Binary file modified src/web/img/connectors/mangalike
Binary file not shown.
Binary file added src/web/img/connectors/mangame
Binary file not shown.
Binary file added src/web/img/connectors/mangaokutr
Binary file not shown.
Binary file added src/web/img/connectors/mangaowlio
Binary file not shown.
Binary file modified src/web/img/connectors/mangaraw
Binary file not shown.
Binary file added src/web/img/connectors/mangarawto
Binary file not shown.
Binary file added src/web/img/connectors/mangareaderpro
Binary file not shown.
Binary file added src/web/img/connectors/mangasect
Binary file not shown.
Binary file added src/web/img/connectors/mangastk
Binary file not shown.
Binary file added src/web/img/connectors/mangasusuku
Binary file not shown.
Binary file added src/web/img/connectors/manhuaindex
Binary file not shown.
Binary file added src/web/img/connectors/manhwa68
Binary file not shown.
Binary file modified src/web/img/connectors/manhwaclub
Binary file not shown.
Binary file added src/web/img/connectors/manhwafreak
Binary file not shown.
Binary file added src/web/img/connectors/manhwahub
Binary file not shown.
Binary file added src/web/img/connectors/manhwalist
Binary file not shown.
Binary file added src/web/img/connectors/manhwax
Binary file not shown.
Binary file added src/web/img/connectors/miauscan
Binary file not shown.
Binary file added src/web/img/connectors/mikoroku
Binary file not shown.
Binary file added src/web/img/connectors/miscans
Binary file not shown.
Binary file added src/web/img/connectors/monzeekomik
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/nextscan
Binary file not shown.
Binary file added src/web/img/connectors/nhentaicom
Binary file not shown.
Binary file added src/web/img/connectors/nightscans
Binary file not shown.
Binary file added src/web/img/connectors/nirvanamanga
Binary file not shown.
Binary file added src/web/img/connectors/nonbiri
Binary file not shown.
Binary file added src/web/img/connectors/noromax
Binary file not shown.
Binary file removed src/web/img/connectors/ntsvoidscans
Binary file not shown.
Binary file added src/web/img/connectors/nyrax
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/peanutoon
Binary file not shown.
Binary file added src/web/img/connectors/perfscan
Binary file not shown.
Binary file added src/web/img/connectors/phenixscans
Binary file not shown.
Binary file added src/web/img/connectors/piscans
Binary file not shown.
Binary file modified src/web/img/connectors/prismascans
Binary file not shown.
Binary file added src/web/img/connectors/raijinscans
Binary file not shown.
Binary file modified src/web/img/connectors/randomscan
Binary file not shown.
Binary file added src/web/img/connectors/readallcomics
Binary file not shown.
Binary file added src/web/img/connectors/reaperscansid
Binary file not shown.
Binary file added src/web/img/connectors/ridibooks
Binary file not shown.
Binary file added src/web/img/connectors/rightdarkscan
Binary file not shown.
Binary file added src/web/img/connectors/riwyat
Binary file not shown.
Binary file added src/web/img/connectors/sakuranovel
Binary file not shown.
Binary file added src/web/img/connectors/scansraw
Binary file not shown.
Binary file added src/web/img/connectors/sectscans
Binary file not shown.
Binary file added src/web/img/connectors/sheakomik
Binary file not shown.
Binary file added src/web/img/connectors/shiraiscans
Binary file not shown.
Binary file added src/web/img/connectors/shirakami
Binary file not shown.
Binary file added src/web/img/connectors/shojoscans
Binary file not shown.
Binary file added src/web/img/connectors/sirenkomik
Binary file not shown.
Binary file added src/web/img/connectors/smangavfws
Binary file not shown.
Binary file added src/web/img/connectors/soulscans
Binary file not shown.
Binary file added src/web/img/connectors/spartanmanga
Binary file not shown.
Binary file added src/web/img/connectors/sugarlab
Binary file not shown.
Binary file added src/web/img/connectors/summanga
Binary file not shown.
Binary file added src/web/img/connectors/summertoon
Binary file not shown.
Binary file added src/web/img/connectors/tempestscans
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/tenshimoe
Binary file not shown.
Binary file added src/web/img/connectors/titanmanga
Binary file not shown.
Binary file added src/web/img/connectors/tmomanga
Binary file not shown.
Binary file added src/web/img/connectors/toomtam
Binary file not shown.
Binary file added src/web/img/connectors/truemanga
Binary file not shown.
Binary file added src/web/img/connectors/truyenchapvn
Binary file not shown.
Binary file added src/web/img/connectors/tukangkomik
Binary file not shown.
Binary file added src/web/img/connectors/vermanhwas
Binary file not shown.
Binary file modified src/web/img/connectors/vortexscans
Binary file not shown.
Binary file added src/web/img/connectors/warungkomik
Binary file not shown.
Binary file added src/web/img/connectors/yanpfansub
Binary file not shown.
Binary file added src/web/img/connectors/youngchampion
Binary file not shown.
Binary file added src/web/img/connectors/yumekomik
Binary file not shown.
8 changes: 4 additions & 4 deletions src/web/js/pdfkit.standalone.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions src/web/mjs/HakuNeko.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,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 @@ -32,6 +33,7 @@ export default class HakuNeko {
this._connectors = new Connectors(ipc);
this._storage = new Storage();
this._bookmarkManager = new BookmarkManager(this._settings, new BookmarkImporter());
this._comicInfoGenerator = new ComicInfoGenerator();
this._chaptermarkManager = new ChaptermarkManager(this._settings);
this._discordPresence = new DiscordPresence(this._settings);
}
Expand Down Expand Up @@ -63,6 +65,10 @@ export default class HakuNeko {
return this._bookmarkManager;
}

get ComicInfoGenerator() {
return this._comicInfoGenerator;
}

get ChaptermarkManager() {
return this._chaptermarkManager;
}
Expand Down
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;
}
}
115 changes: 115 additions & 0 deletions src/web/mjs/connectors/Agitoon.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
import Connector from '../engine/Connector.mjs';
import Manga from '../engine/Manga.mjs';

export default class Agitoon extends Connector {

constructor() {
super();
super.id = 'agitoon';
super.label = 'Agitoon';
this.tags = [ 'webtoon', 'korean' ];
this.url = 'https://agit185.com';
this.cdns = [];
this.img_per = [];

}

async _initializeConnector() {
await this._getNeededValues();
}

async _getNeededValues() {
const uri = new URL(`/data/azitoon.js?v=${Math.random()}`, this.url);
const request = new Request(uri, this.requestOptions);
request.headers.set('x-referer', this.url);
let response = await fetch(request);
response = await response.text();

let matches = undefined;
const imgRgx = /var img_domain\d?\s*=\s*"([\S]+)";/g;
this.cdns = [];
// eslint-disable-next-line no-cond-assign
while (matches = imgRgx.exec(response)) {
this.cdns.push(matches[1]);
}

const img_perRgx = /var img_per\d?\s*=\s*"([\S]+)";/g;
this.img_per = [];
// eslint-disable-next-line no-cond-assign
while (matches= img_perRgx.exec(response)) {
this.img_per.push(parseInt(matches[1]));
}
}

//CDN is calculated from CHAPTER ID
_getMangaCDN(chapterid) { //adapted from chapter html page script "show_content_img"
if(chapterid % 100< this.img_per[1]) {
return this.cdns[1];
} else if(chapterid % 100<this.img_per[1]+this.img_per[2]) {
return this.cdns[2];
} else if(chapterid % 100<this.img_per[1]+this.img_per[2] + this.img_per[3]) {
return this.cdns[3];
} else if(chapterid % 100<this.img_per[1]+this.img_per[2] + this.img_per[3] + this.img_per[4]) {
return this.cdns[4];
} else{
return this.cdns[0];
}

}

async _getMangaFromURI(uri) {
let request = new Request(uri, this.requestOptions);
let data = await this.fetchDOM(request, 'title');
let id = uri.pathname.match(/\/azi_toon\/(\d+)\.html/)[1];
let title = data[0].text.split(' - ')[1].trim();
return new Manga(this, id, title);
}

async _getMangas() {
const paths = ['/data/azi_webtoon_0.js?v=_', '/data/azi_webtoon_1.js?v=_'];
const mangalist = [];
for (const path of paths) {
mangalist.push(... await this._fetchJSONMangas(path));
}
return mangalist;

}

async _fetchJSONMangas(path) {
const request = new Request(new URL(path, this.url));
request.headers.set('x-referer', this.url);
let response = await fetch(request);
response = await response.text();
const data = JSON.parse(response.match(/var data\d{1}\s*=\s*([\W\S]+);/)[1]);
return data.map(element => {
return {
id: element.x,
title: element.t.trim()
};
});
}
async _getChapters(manga) {
const uri = new URL(`/data/toonlist/${manga.id}.js?v=${Math.random()}`, this.url);
const request = new Request(uri, this.requestOptions );
request.headers.set('x-referer', this.url);
let response = await fetch(request);
response = await response.text();
const data = JSON.parse(response.match(/var clist\s*=\s*([\W\S]+);/)[1]);
return data.map(element => {
return {
id: element.u,
title: element.t.replace(manga.title, '').replace('- ', '').trim(),
};
});
}

async _getPages(chapter) {
const chapterid = chapter.id.match(/\/(\d+)\.html/)[1];
const mangadomain = this._getMangaCDN(chapterid);
const uri = new URL(chapter.id, this.url);
const request = new Request(uri, this.requestOptions );
const data = await this.fetchDOM(request, 'div#toon_content_imgs source');
return data.map(link => this.getAbsolutePath(link.getAttribute('o_src'), mangadomain));
}

}
13 changes: 13 additions & 0 deletions src/web/mjs/connectors/Alceascan.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import WordPressMangastream from './templates/WordPressMangastream.mjs';

export default class Alceascan extends WordPressMangastream {

constructor() {
super();
super.id = 'alceascan';
super.label = 'Alceascan';
this.tags = ['manga', 'indonesian', 'scanlation'];
this.url = 'https://alceascan.my.id';
this.path = '/manga/list-mode/';
}
}
Loading

0 comments on commit ec09924

Please sign in to comment.