mirror of
https://github.com/kodjodevf/mangayomi-extensions.git
synced 2026-02-14 10:51:17 +00:00
extension(soaper): Added download server
This commit is contained in:
@@ -6,7 +6,7 @@ const mangayomiSources = [{
|
|||||||
"iconUrl": "https://www.google.com/s2/favicons?sz=128&domain=https://soaper.cc/",
|
"iconUrl": "https://www.google.com/s2/favicons?sz=128&domain=https://soaper.cc/",
|
||||||
"typeSource": "multi",
|
"typeSource": "multi",
|
||||||
"isManga": false,
|
"isManga": false,
|
||||||
"version": "1.0.1",
|
"version": "1.0.2",
|
||||||
"dateFormat": "",
|
"dateFormat": "",
|
||||||
"dateFormatLocale": "",
|
"dateFormatLocale": "",
|
||||||
"pkgPath": "anime/src/all/soaper.js"
|
"pkgPath": "anime/src/all/soaper.js"
|
||||||
@@ -24,7 +24,7 @@ class DefaultExtension extends MProvider {
|
|||||||
return new SharedPreferences().get(key);
|
return new SharedPreferences().get(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
getBasueUrl(){
|
getBasueUrl() {
|
||||||
return this.getPreference("soaper_override_base_url")
|
return this.getPreference("soaper_override_base_url")
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -36,10 +36,10 @@ class DefaultExtension extends MProvider {
|
|||||||
return doc
|
return doc
|
||||||
}
|
}
|
||||||
|
|
||||||
async requestJSON(slug,data) {
|
async requestJSON(slug, data) {
|
||||||
const baseUrl = this.getBasueUrl()
|
const baseUrl = this.getBasueUrl()
|
||||||
var url = `${baseUrl}/${slug}`
|
var url = `${baseUrl}/${slug}`
|
||||||
var res = await new Client().post(url, this.getHeaders(baseUrl),data);
|
var res = await new Client().post(url, this.getHeaders(baseUrl), data);
|
||||||
return JSON.parse(res.body);
|
return JSON.parse(res.body);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -171,30 +171,31 @@ class DefaultExtension extends MProvider {
|
|||||||
async getVideoList(url) {
|
async getVideoList(url) {
|
||||||
var body = await this.request(url)
|
var body = await this.request(url)
|
||||||
var baseUrl = this.getBasueUrl()
|
var baseUrl = this.getBasueUrl()
|
||||||
|
var streams = []
|
||||||
|
|
||||||
|
// Traditional servers
|
||||||
var eId = body.selectFirst("#hId").attr('value')
|
var eId = body.selectFirst("#hId").attr('value')
|
||||||
var hIsW = body.selectFirst("#hIsW").attr('value')
|
var hIsW = body.selectFirst("#hIsW").attr('value')
|
||||||
var apiType = url[0].toUpperCase()
|
var apiType = url[0].toUpperCase()
|
||||||
|
|
||||||
var streams = []
|
var servers = [0, 1]
|
||||||
var servers = [0,1]
|
for (var serverNum of servers) {
|
||||||
for(var serverNum of servers){
|
|
||||||
var serverName = body.selectFirst(`#server_button_${serverNum}`).text
|
var serverName = body.selectFirst(`#server_button_${serverNum}`).text
|
||||||
if(serverName.length < 1) continue;
|
if (serverName.length < 1) continue;
|
||||||
var data ={
|
var data = {
|
||||||
pass:eId,
|
pass: eId,
|
||||||
param:"",
|
param: "",
|
||||||
extra:"1",
|
extra: "1",
|
||||||
e2:hIsW,
|
e2: hIsW,
|
||||||
server: ""+serverNum,
|
server: "" + serverNum,
|
||||||
}
|
}
|
||||||
var res = await this.requestJSON(`home/index/Get${apiType}InfoAjax`,data)
|
var res = await this.requestJSON(`home/index/Get${apiType}InfoAjax`, data)
|
||||||
|
|
||||||
var streamUrl = baseUrl+res.val
|
var streamUrl = baseUrl + res.val
|
||||||
var subs = []
|
var subs = []
|
||||||
for (var sub of res.subs) {
|
for (var sub of res.subs) {
|
||||||
subs.push({
|
subs.push({
|
||||||
file: baseUrl+sub.path,
|
file: baseUrl + sub.path,
|
||||||
label: sub.name
|
label: sub.name
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -202,13 +203,32 @@ class DefaultExtension extends MProvider {
|
|||||||
url: streamUrl,
|
url: streamUrl,
|
||||||
originalUrl: streamUrl,
|
originalUrl: streamUrl,
|
||||||
quality: serverName,
|
quality: serverName,
|
||||||
subtitles:subs
|
subtitles: subs
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Download servers
|
||||||
|
var modal_footer = body.select(".modal-footer > a")
|
||||||
|
if (modal_footer.length > 0) {
|
||||||
|
|
||||||
|
modal_footer.reverse()
|
||||||
|
for (var item of modal_footer) {
|
||||||
|
var dSlug = item.getHref
|
||||||
|
var dBody = await this.request(dSlug)
|
||||||
|
|
||||||
|
var res = dBody.selectFirst("#res").attr('value')
|
||||||
|
var mb = dBody.selectFirst("#mb").attr('value')
|
||||||
|
var streamLink = dBody.selectFirst("#link").attr('value')
|
||||||
|
|
||||||
|
streams.push({
|
||||||
|
url: streamLink,
|
||||||
|
originalUrl: streamLink,
|
||||||
|
quality: `Download Server: ${res} [${mb}]`,
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return streams
|
return streams
|
||||||
|
|
||||||
}
|
}
|
||||||
// For manga chapter pages
|
// For manga chapter pages
|
||||||
async getPageList() {
|
async getPageList() {
|
||||||
|
|||||||
Reference in New Issue
Block a user