From 8ccc1db550a71482326ca5ef6f6e600cd651943f Mon Sep 17 00:00:00 2001 From: masterhc Date: Wed, 17 Apr 2024 22:27:49 +0100 Subject: [PATCH] init --- .env | 2 + .gitignore | 2 + Modules/AsuraModule.js | 260 +++++ Modules/ReaperModule.js | 267 +++++ config.json | 7 + controllers/api.js | 405 +++++++ downloader.js | 286 +++++ lib.js | 478 +++++++++ models/favorite.js | 18 + models/readChapter.js | 18 + models/user.js | 16 + nodemon.json | 3 + package-lock.json | 2154 ++++++++++++++++++++++++++++++++++++++ package.json | 25 + public/css/home.css | 899 ++++++++++++++++ public/js/home.js | 6 + routes/routes.js | 30 + server.js | 26 + test.js | 22 + test2.js | 229 ++++ views/bookmark.ejs | 4 + views/bookmarked.ejs | 3 + views/chapterButton.ejs | 10 + views/chapterNav.ejs | 15 + views/config.ejs | 137 +++ views/dashboard.ejs | 0 views/display.ejs | 169 +++ views/error.ejs | 0 views/favorites.ejs | 17 + views/home.ejs | 29 + views/login.ejs | 21 + views/mangaPage.ejs | 26 + views/navBar.ejs | 49 + views/searchBar.ejs | 18 + views/searchCards.ejs | 20 + views/searchCarousel.ejs | 112 ++ views/searchResults.ejs | 9 + views/status.ejs | 5 + 38 files changed, 5797 insertions(+) create mode 100644 .env create mode 100644 .gitignore create mode 100644 Modules/AsuraModule.js create mode 100644 Modules/ReaperModule.js create mode 100644 config.json create mode 100644 controllers/api.js create mode 100644 downloader.js create mode 100644 lib.js create mode 100644 models/favorite.js create mode 100644 models/readChapter.js create mode 100644 models/user.js create mode 100644 nodemon.json create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 public/css/home.css create mode 100644 public/js/home.js create mode 100644 routes/routes.js create mode 100644 server.js create mode 100644 test.js create mode 100644 test2.js create mode 100644 views/bookmark.ejs create mode 100644 views/bookmarked.ejs create mode 100644 views/chapterButton.ejs create mode 100644 views/chapterNav.ejs create mode 100644 views/config.ejs create mode 100644 views/dashboard.ejs create mode 100644 views/display.ejs create mode 100644 views/error.ejs create mode 100644 views/favorites.ejs create mode 100644 views/home.ejs create mode 100644 views/login.ejs create mode 100644 views/mangaPage.ejs create mode 100644 views/navBar.ejs create mode 100644 views/searchBar.ejs create mode 100644 views/searchCards.ejs create mode 100644 views/searchCarousel.ejs create mode 100644 views/searchResults.ejs create mode 100644 views/status.ejs diff --git a/.env b/.env new file mode 100644 index 0000000..1ae736f --- /dev/null +++ b/.env @@ -0,0 +1,2 @@ +DATABASE_URL=mongodb://mongoadmin:something@192.168.71.137:27017 +PORT=5010 \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f42c937 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +node_modules +Saved \ No newline at end of file diff --git a/Modules/AsuraModule.js b/Modules/AsuraModule.js new file mode 100644 index 0000000..f68411e --- /dev/null +++ b/Modules/AsuraModule.js @@ -0,0 +1,260 @@ +const {parse} = require('node-html-parser'); +const {decodeHTML} = require('../lib') +module.exports = class AsuraModule +{ + /** + * @property {Scanlator} scanlator - Scanlator name + * @typedef {String} Scanlator + * @pattern /^[\w-]+-scans$/ + */ + constructor() + { + this.scanlator = 'Asura-scans' + this.BaseLink = 'https://asuratoon.com/' + } + /** + * + * @param {String} query + * @returns {Array} + * @typedef {Object} Manga + * @property {Link} link - Manga Link + * @property {String} title - Manga Title + * @property {Link} img - Image Link + * @property {Number} latestChap - Latest Chapter Number + * @typedef {String} Link + */ + async Search(query) + { + return await fetch(this.BaseLink+'?s='+query) + .then(handleResponse) + .then(handleData) + .catch(handleError); + function handleResponse(response) + { + return response.text(); + } + function handleError(error) + { + return error; + } + function handleData(data) + { + data = data.split('
')[1].split('