1 line
18 KiB
JavaScript
1 line
18 KiB
JavaScript
var e=this&&this.__awaiter||function(e,a,t,l){return new(t||(t=Promise))(function(r,n){function u(e){try{o(l.next(e))}catch(e){n(e)}}function i(e){try{o(l.throw(e))}catch(e){n(e)}}function o(e){var a;e.done?r(e.value):(a=e.value,a instanceof t?a:new t(function(e){e(a)})).then(u,i)}o((l=l.apply(e,a||[])).next())})},a=this&&this.__generator||function(e,a){var t,l,r,n={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return u.next=i(0),u.throw=i(1),u.return=i(2),"function"==typeof Symbol&&(u[Symbol.iterator]=function(){return this}),u;function i(i){return function(o){return function(i){if(t)throw new TypeError("Generator is already executing.");for(;u&&(u=0,i[0]&&(n=0)),n;)try{if(t=1,l&&(r=2&i[0]?l.return:i[0]?l.throw||((r=l.return)&&r.call(l),0):l.next)&&!(r=r.call(l,i[1])).done)return r;switch(l=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return n.label++,{value:i[1],done:!1};case 5:n.label++,l=i[1],i=[0];continue;case 7:i=n.ops.pop(),n.trys.pop();continue;default:if(!(r=n.trys,(r=r.length>0&&r[r.length-1])||6!==i[0]&&2!==i[0])){n=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]<r[3])){n.label=i[1];break}if(6===i[0]&&n.label<r[1]){n.label=r[1],r=i;break}if(r&&n.label<r[2]){n.label=r[2],n.ops.push(i);break}r[2]&&n.ops.pop(),n.trys.pop();continue}i=a.call(e,n)}catch(e){i=[6,e],l=0}finally{t=r=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,o])}}},t=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.MadaraPlugin=void 0;var l=require("@libs/fetch"),r=require("cheerio"),n=require("@libs/defaultCover"),u=require("@libs/novelStatus"),i=t(require("dayjs")),o=require("@libs/storage"),s=function(e,a){return new RegExp(a.join("|")).test(e)},v=function(){function t(e){var a,t;this.hideLocked=o.storage.get("hideLocked"),this.parseData=function(e){var a,t=(0,i.default)(),l=(null===(a=e.match(/\d+/))||void 0===a?void 0:a[0])||"",r=parseInt(l,10);if(!l)return e;if(s(e,["detik","segundo","second","วินาที"]))t=t.subtract(r,"second");else if(s(e,["menit","dakika","min","minute","minuto","นาที","دقائق"]))t=t.subtract(r,"minute");else if(s(e,["jam","saat","heure","hora","hour","ชั่วโมง","giờ","ore","ساعة","小时"]))t=t.subtract(r,"hours");else if(s(e,["hari","gün","jour","día","dia","day","วัน","ngày","giorni","أيام","天"]))t=t.subtract(r,"days");else if(s(e,["week","semana"]))t=t.subtract(r,"week");else if(s(e,["month","mes"]))t=t.subtract(r,"month");else{if(!s(e,["year","año"]))return"Invalid Date"!==(0,i.default)(e).format("LL")?(0,i.default)(e).format("LL"):e;t=t.subtract(r,"year")}return t.format("LL")},this.id=e.id,this.name=e.sourceName,this.icon="multisrc/madara/".concat(e.id.toLowerCase(),"/icon.png"),this.site=e.sourceSite;var l=(null===(a=e.options)||void 0===a?void 0:a.versionIncrements)||0;this.version="2.2.".concat(l),this.options=e.options,this.filters=e.filters,(null===(t=this.options)||void 0===t?void 0:t.hasLocked)&&(this.pluginSettings={hideLocked:{value:"",label:"Hide locked chapters",type:"Switch"}})}return t.prototype.translateDragontea=function(e){var a;if("dragontea"!==this.id)return e;var t=(0,r.load)((null===(a=e.html())||void 0===a?void 0:a.replace("\n","").replace(/<br\s*\/?>/g,"\n"))||"");return e.html(t.html()),e.find("*").addBack().contents().filter(function(e,a){return 3===a.nodeType}).each(function(e,a){var l=t(a),r=l.text().normalize("NFD").split("").map(function(e){var a=e.normalize("NFC"),t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(a);return t>=0?"zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA"[t]+e.slice(a.length):e}).join("");l.replaceWith(r.replace("\n","<br>"))}),e},t.prototype.getHostname=function(e){var a=(e=e.split("/")[2]).split(".");return a.pop(),a.join(".")},t.prototype.getCheerio=function(t,n){return e(this,void 0,void 0,function(){var e,u,i,o;return a(this,function(a){switch(a.label){case 0:return[4,(0,l.fetchApi)(t)];case 1:if(!(e=a.sent()).ok&&1!=n)throw new Error("Could not reach site ("+e.status+") try to open in webview.");return i=r.load,[4,e.text()];case 2:if(u=i.apply(void 0,[a.sent()]),o=u("title").text().trim(),this.getHostname(t)!=this.getHostname(e.url)||"Bot Verification"==o||"You are being redirected..."==o||"Un instant..."==o||"Just a moment..."==o||"Redirecting..."==o)throw new Error("Captcha error, please open in webview");return[2,u]}})})},t.prototype.parseNovels=function(e){var a=[];return e(".manga-title-badges").remove(),e(".page-item-detail, .c-tabs-item__content").each(function(t,l){var r=e(l).find(".post-title").text().trim(),u=e(l).find(".post-title").find("a").attr("href")||"";if(r&&u){var i=e(l).find("img"),o={name:r,cover:i.attr("data-src")||i.attr("src")||i.attr("data-lazy-srcset")||n.defaultCover,path:u.replace(/https?:\/\/.*?\//,"")};a.push(o)}}),a},t.prototype.popularNovels=function(t,l){return e(this,arguments,void 0,function(e,t){var l,r,n,u,i,o,s=t.filters,v=t.showLatestNovels;return a(this,function(a){switch(a.label){case 0:for(r in l=this.site+"/page/"+e+"/?s=&post_type=wp-manga",s||(s=this.filters||{}),v&&(l+="&m_orderby=latest"),s)if("object"==typeof s[r].value)for(n=0,u=s[r].value;n<u.length;n++)i=u[n],l+="&".concat(r,"=").concat(i);else s[r].value&&(l+="&".concat(r,"=").concat(s[r].value));return[4,this.getCheerio(l,1!=e)];case 1:return o=a.sent(),[2,this.parseNovels(o)]}})})},t.prototype.parseNovel=function(t){return e(this,void 0,void 0,function(){var e,o,s,v,c,b,p,h,d,m,f,g,y,x,w,k,_=this;return a(this,function(a){switch(a.label){case 0:return[4,this.getCheerio(this.site+t,!1)];case 1:return(e=a.sent())(".manga-title-badges, #manga-title span").remove(),(o={path:t,name:e(".post-title h1").text().trim()||e("#manga-title h1").text().trim()||e(".manga-title").text().trim()||""}).cover=e(".summary_image > a > img").attr("data-lazy-src")||e(".summary_image > a > img").attr("data-src")||e(".summary_image > a > img").attr("src")||n.defaultCover,e(".post-content_item, .post-content").each(function(){var a=e(this).find("h5").text().trim(),t=e(this).find(".summary-content")||e(this).find(".summary_content");switch(a){case"Genre(s)":case"Genre":case"Tags(s)":case"Tag(s)":case"Tags":case"Género(s)":case"Kategori":case"التصنيفات":o.genres?o.genres+=", "+t.find("a").map(function(a,t){return e(t).text()}).get().join(", "):o.genres=t.find("a").map(function(a,t){return e(t).text()}).get().join(", ");break;case"Author(s)":case"Author":case"Autor(es)":case"المؤلف":case"المؤلف (ين)":o.author=t.text().trim();break;case"Translator(s)":case"Translator":case"Translators":o.author||(o.author=t.text().trim());break;case"Status":case"Novel":case"Estado":case"Durum":o.status=t.text().trim().includes("OnGoing")||t.text().trim().includes("مستمرة")?u.NovelStatus.Ongoing:u.NovelStatus.Completed;break;case"Artist(s)":o.artist=t.text().trim()}}),o.genres||(o.genres=e(".genres-content").text().trim()),o.status||(o.status=e(".manga-status").text().trim().includes("OnGoing")?u.NovelStatus.Ongoing:u.NovelStatus.Completed),o.author||(o.author=e(".manga-author a").text().trim()),o.rating||(o.rating=parseFloat(e(".post-rating span").text().trim())),o.author||(o.author=e(".manga-authors").text().trim()),e("div.summary__content .code-block,script,noscript").remove(),o.summary=this.translateDragontea(e("div.summary__content")).text().trim()||e("#tab-manga-about").text().trim()||e('.post-content_item h5:contains("Summary")').next().find("span").map(function(a,t){return e(t).text()}).get().join("\n\n").trim()||e('.post-content_item h5:contains("Summary")').next().find("p").map(function(a,t){return e(t).text()}).get().join("\n\n").trim()||e(".manga-summary p").map(function(a,t){return e(t).text()}).get().join("\n\n").trim()||e(".manga-excerpt p").map(function(a,t){return e(t).text()}).get().join("\n\n").trim(),s=[],v="",(null===(k=this.options)||void 0===k?void 0:k.useNewChapterEndpoint)?[4,(0,l.fetchApi)(this.site+t+"ajax/chapters/",{method:"POST",referrer:this.site+t}).then(function(e){return e.text()})]:[3,7];case 2:if(v=a.sent(),c=(0,r.load)(v),!((b=c(".pagination a[data-page]")).length>0))return[3,6];if(p=Math.max.apply(Math,b.map(function(e,a){return parseInt(c(a).attr("data-page")||"1",10)}).get()),h=b.last().attr("href")||"",-1===(d=h.indexOf("?")))return[3,6];m=h.slice(d).replace(/\d+$/,""),f=2,a.label=3;case 3:return f<=p?[4,(0,l.fetchApi)(this.site+t+"ajax/chapters/"+m+f,{method:"POST",referrer:this.site+t}).then(function(e){return e.text()})]:[3,6];case 4:(g=a.sent())&&"0"!==g&&(v+=g),a.label=5;case 5:return f++,[3,3];case 6:return[3,9];case 7:return y=e(".rating-post-id").attr("value")||e("#manga-chapters-holder").attr("data-id")||"",(x=new FormData).append("action","manga_get_chapters"),x.append("manga",y),[4,(0,l.fetchApi)(this.site+"wp-admin/admin-ajax.php",{method:"POST",body:x}).then(function(e){return e.text()})];case 8:v=a.sent(),a.label=9;case 9:return"0"!==v&&(e=(0,r.load)(v)),w=e(".wp-manga-chapter").length,e(".wp-manga-chapter").each(function(a,t){var l=e(t).find("a").text().trim(),r=t.attribs.class.includes("premium-block");r&&(l="🔒 "+l);var n=e(t).find("span.chapter-release-date").text().trim();n=n?_.parseData(n):(0,i.default)().format("LL");var u=e(t).find("a").attr("href")||"";!u||"#"==u||r&&_.hideLocked||s.push({name:l,path:u.replace(/https?:\/\/.*?\//,""),releaseTime:n||null,chapterNumber:w-a})}),o.chapters=s.reverse(),[2,o]}})})},t.prototype.parseChapter=function(t){return e(this,void 0,void 0,function(){var e,l,r;return a(this,function(a){switch(a.label){case 0:return[4,this.getCheerio(this.site+t,!1)];case 1:return e=a.sent(),l=e(".text-left")||e(".text-right")||e(".entry-content")||e(".c-blog-post > div > div:nth-child(2)"),null===(r=this.options)||void 0===r||r.customJs,[2,this.translateDragontea(l).html()||""]}})})},t.prototype.searchNovels=function(t,l){return e(this,void 0,void 0,function(){var e,r;return a(this,function(a){switch(a.label){case 0:return e=this.site+"/page/"+l+"/?s="+encodeURIComponent(t)+"&post_type=wp-manga",[4,this.getCheerio(e,!0)];case 1:return r=a.sent(),[2,this.parseNovels(r)]}})})},t}();exports.MadaraPlugin=v;var c=new v({id:"olaoe",sourceSite:"https://olaoe.cyou/",sourceName:"Olaoe.cyou",options:{useNewChapterEndpoint:!0,lang:"Arabic",down:!0,downSince:1768289212938},filters:{"genre[]":{type:"Checkbox",label:"Genre",value:[],options:[{label:"+13",value:"13"},{label:"+16",value:"16"},{label:"+17",value:"17"},{label:"Custom Genre 1",value:"custom-genre-1"},{label:"Custom Genre 2",value:"custom-genre-2"},{label:"Custom Genre 3",value:"custom-genre-3"},{label:"أكشن",value:"أكشن"},{label:"إثارة",value:"إثارة"},{label:"إعادة إحياء",value:"إعادة-إحياء"},{label:"إنتقام",value:"إنتقام"},{label:"إيتشي",value:"إيتشي"},{label:"اثارة",value:"اثارة"},{label:"اثاره",value:"اثاره"},{label:"اساطير",value:"اساطير"},{label:"اشباح",value:"اشباح"},{label:"اضطهاد",value:"اضطهاد"},{label:"اعادة احياء",value:"اعادة-احياء"},{label:"اعاده بحث",value:"اعاده-بحث"},{label:"اقتباس مانجا",value:"اقتباس-مانجا"},{label:"اقتباس مانهوا",value:"اقتباس-مانهوا"},{label:"اقتباس مانهوا",value:"اقتباس-مانهوا-انمي"},{label:"اكشن",value:"اكشن"},{label:"الحياة المدرسيه",value:"الحياة-المدرسيه"},{label:"الحياة اليومية",value:"الحياة-اليومية"},{label:"السفر عبر الزمن",value:"السفر-عبر-الزمن"},{label:"العاب",value:"العاب"},{label:"العاب الكترونية",value:"العاب-الكترونية"},{label:"العاب فيديو",value:"العاب-فيديو"},{label:"النجاة",value:"النجاة"},{label:"الهة",value:"الهة"},{label:"الهه",value:"الهه"},{label:"الواقع الافتراضي",value:"الواقع-الافتراضي"},{label:"امرأة شريرة",value:"امرأة-شريرة"},{label:"انتقام",value:"انتقام"},{label:"انمي",value:"انمي"},{label:"انمي ياباني",value:"انمي-ياباني"},{label:"ايتشى",value:"ايتشى"},{label:"ايتشي",value:"ايتشي"},{label:"ايسكاى",value:"ايسكاى"},{label:"بالغ",value:"بالغ"},{label:"بطل خارق",value:"بطل-خارق"},{label:"بطل غير اعتيادي",value:"بطل-غير-اعتيادي"},{label:"بوليسي",value:"بوليسي"},{label:"تاريخى",value:"تاريخى"},{label:"تاريخي",value:"تاريخي"},{label:"تجسيد",value:"تجسيد"},{label:"تحقيق",value:"تحقيق"},{label:"تراجيدي",value:"تراجيدي"},{label:"ترجمة جوجل",value:"ترجمة-جوجل"},{label:"تشويق",value:"تشويق"},{label:"تناسخ",value:"تناسخ"},{label:"تناسخ الارواح",value:"تناسخ-الارواح"},{label:"جريمة",value:"جريمة"},{label:"جريمه",value:"جريمه"},{label:"جندر اسواب",value:"جندر-اسواب"},{label:"جوسى",value:"جوسى"},{label:"جوسي",value:"جوسي"},{label:"جوسيه",value:"جوسيه"},{label:"حائز على جائزة",value:"حائز-على-جائزة"},{label:"حائز علي جائزة",value:"حائز-علي-جائزة"},{label:"حديث",value:"حديث"},{label:"حربى",value:"حربى"},{label:"حربي",value:"حربي"},{label:"حريم",value:"حريم"},{label:"حياة",value:"حياة"},{label:"حياة مدرسية",value:"حياة-مدرسية"},{label:"حياة يومية",value:"حياة-يومية"},{label:"خارق",value:"خارق"},{label:"خارق لطبيعية",value:"خارق-لطبيعية"},{label:"خارق للطبيعة",value:"خارق-للطبيعة"},{label:"خارق للطبيعه",value:"خارق-للطبيعه"},{label:"خارق للعادة",value:"خارق-للعادة"},{label:"خيال",value:"خيال"},{label:"خيال علمى",value:"خيال-علمى"},{label:"خيال علمي",value:"خيال-علمي"},{label:"خيالي",value:"خيالي"},{label:"دراما",value:"دراما"},{label:"دماء",value:"دماء"},{label:"دموى",value:"دموى"},{label:"راشد",value:"راشد"},{label:"رعب",value:"رعب"},{label:"رواية خفيفة",value:"رواية-خفيفة"},{label:"رومانسى",value:"رومانسى"},{label:"رومانسي",value:"رومانسي"},{label:"رياضة",value:"رياضة"},{label:"رياضه",value:"رياضه"},{label:"رياضى",value:"رياضى"},{label:"رياضي",value:"رياضي"},{label:"زراعة",value:"زراعة"},{label:"زمكانى",value:"زمكانى"},{label:"زمكاني",value:"زمكاني"},{label:"زمنكاني",value:"زمنكاني"},{label:"زومبي",value:"زومبي"},{label:"ساخر",value:"ساخر"},{label:"ساموراي",value:"ساموراي"},{label:"سباق",value:"سباق"},{label:"سحر",value:"سحر"},{label:"سينين",value:"سينين"},{label:"شرطة",value:"شرطة"},{label:"شريحة من الحياة",value:"شريحة-من-الحياة"},{label:"شرير",value:"شرير"},{label:"شوجو",value:"شوجو"},{label:"شونين",value:"شونين"},{label:"شياطين",value:"شياطين"},{label:"صقل",value:"صقل"},{label:"طبخ",value:"طبخ"},{label:"ّعامل مكتبي",value:"ّعامل-مكتبي"},{label:"عسكري",value:"عسكري"},{label:"عسكريه",value:"عسكريه"},{label:"علم نفس",value:"علم-نفس"},{label:"عنف",value:"عنف"},{label:"غموض",value:"غموض"},{label:"فضاء",value:"فضاء"},{label:"فلسفه",value:"فلسفه"},{label:"فلم انمي",value:"فلم-انمي"},{label:"فنتازيا",value:"فنتازيا"},{label:"فنون قتال",value:"فنون-قتال"},{label:"فنون قتالية",value:"فنون-قتالية"},{label:"فنون قتاليه",value:"فنون-قتاليه"},{label:"قتال",value:"قتال"},{label:"قوة خارقة",value:"قوة-خارقة"},{label:"قوى خارقة",value:"قوى-خارقة"},{label:"كومديا",value:"كومديا"},{label:"كوميدى",value:"كوميدى"},{label:"كوميدي",value:"كوميدي"},{label:"كوميديا",value:"كوميديا"},{label:"لعبة",value:"لعبة"},{label:"لعبه",value:"لعبه"},{label:"مأساة",value:"مأساة"},{label:"ماساة",value:"ماساة"},{label:"مافيا",value:"مافيا"},{label:"مانجا",value:"مانجا"},{label:"مانجا على الانترنت",value:"مانجا-على-الانترنت"},{label:"مانها",value:"مانها"},{label:"مانهوا",value:"مانهوا"},{label:"مجموعة قصص",value:"مجموعة-قصص"},{label:"محاكاة ساخرة",value:"محاكاة-ساخرة"},{label:"مدرسه",value:"مدرسه"},{label:"مدرسي",value:"مدرسي"},{label:"مصاصى الدماء",value:"مصاصى-الدماء"},{label:"مصاصي دماء",value:"مصاصي-دماء"},{label:"مغامرات",value:"مغامرات"},{label:"مغامرة",value:"مغامرة"},{label:"مقتبسة",value:"مقتبسة"},{label:"موريم",value:"موريم"},{label:"موسيقى",value:"موسيقى"},{label:"موسيقي",value:"موسيقي"},{label:"ميكا",value:"ميكا"},{label:"ناضج",value:"ناضج"},{label:"نظام",value:"نظام"},{label:"نفسى",value:"نفسى"},{label:"نفسي",value:"نفسي"},{label:"نينجا",value:"نينجا"},{label:"وحوش",value:"وحوش"},{label:"ويب تون",value:"ويب-تون"}]},op:{type:"Switch",label:"having all selected genres",value:!1},author:{type:"Text",label:"Author",value:""},artist:{type:"Text",label:"Artist",value:""},release:{type:"Text",label:"Year of Released",value:""},adult:{type:"Picker",label:"Adult content",value:"",options:[{label:"All",value:""},{label:"None adult content",value:"0"},{label:"Only adult content",value:"1"}]},"status[]":{type:"Checkbox",label:"Status",value:[],options:[{label:"مستمر",value:"on-going"},{label:"مكتمل",value:"end"},{label:"ملغى",value:"canceled"},{label:"في الانتظار",value:"on-hold"},{label:"قادم قريبا",value:"upcoming"}]},m_orderby:{type:"Picker",label:"Order by",value:"",options:[{label:"Relevance",value:""},{label:"Latest",value:"latest"},{label:"A-Z",value:"alphabet"},{label:"Rating",value:"rating"},{label:"Trending",value:"trending"},{label:"Most Views",value:"views"},{label:"New",value:"new-manga"}]}}});exports.default=c; |