mirror of
https://github.com/fmz200/wool_scripts.git
synced 2025-12-19 13:41:18 +08:00
146 lines
3.8 KiB
JavaScript
146 lines
3.8 KiB
JavaScript
/*
|
|
引用地址 https://github.com/qiangxinglin/Emby/blob/main/scripts/emby.js
|
|
2020-12-20
|
|
|
|
[rewrite_local]
|
|
^https?:\/\/mb3admin\.com\/admin\/service(\/registration\/validateDevice|\/appstore\/register|\/registration\/validate|\/registration\/getStatus|\/supporter\/retrievekey) url script-echo-response https://raw.githubusercontent.com/fmz200/wool_scripts/main/Scripts/emby/unlock2.js
|
|
|
|
[mitm]
|
|
hostname = mb3admin.com
|
|
*/
|
|
|
|
var url = $request.url;
|
|
const myStatus = "HTTP/1.1 200 OK";
|
|
|
|
const myHeaders = {
|
|
Crack: "KS",
|
|
"Access-Control-Allow-Origin": "*",
|
|
"Access-Control-Allow-Headers": "*",
|
|
"Access-Control-Allow-Method": "*",
|
|
"Access-Control-Allow-Credentials": "true"
|
|
};
|
|
|
|
if (url.indexOf("/admin/service/registration/validateDevice") != -1) {
|
|
obj = {
|
|
cacheExpirationDays: 365,
|
|
message: "Device Valid",
|
|
resultCode: "GOOD"
|
|
};
|
|
} else if (url.indexOf("/admin/service/appstore/register") != -1) {
|
|
obj = {
|
|
featId: "",
|
|
registered: true,
|
|
expDate: "2099-01-01",
|
|
key: ""
|
|
};
|
|
} else if (url.indexOf("/admin/service/registration/validate") != -1) {
|
|
obj = {
|
|
featId: "",
|
|
registered: true,
|
|
expDate: "2099-01-01",
|
|
key: ""
|
|
};
|
|
} else if (url.indexOf("/admin/service/registration/getStatus") != -1) {
|
|
obj = {
|
|
planType: "Cracked",
|
|
deviceStatus: "",
|
|
subscriptions: []
|
|
};
|
|
} else if (url.indexOf("/admin/service/supporter/retrievekey") != -1) {
|
|
obj = {
|
|
Success: false,
|
|
ErrorMessage: "Supporter not found"
|
|
};
|
|
}
|
|
|
|
myData = JSON.stringify(obj);
|
|
|
|
const myResponse = {
|
|
status: myStatus,
|
|
headers: myHeaders, // Optional.
|
|
body: myData // Optional.
|
|
};
|
|
|
|
var $util = util();
|
|
//$util.notify('Emby Premiere 已激活');
|
|
$util.done(myResponse);
|
|
|
|
function util() {
|
|
const isRequest = typeof $request != "undefined";
|
|
const isSurge = typeof $httpClient != "undefined";
|
|
const isQuanX = typeof $task != "undefined";
|
|
const notify = (title, subtitle = "", message = "") => {
|
|
if (isQuanX) $notify(title, subtitle, message);
|
|
if (isSurge) $notification.post(title, subtitle, message);
|
|
};
|
|
const write = (value, key) => {
|
|
if (isQuanX) return $prefs.setValueForKey(value, key);
|
|
if (isSurge) return $persistentStore.write(value, key);
|
|
};
|
|
const read = (key) => {
|
|
if (isQuanX) return $prefs.valueForKey(key);
|
|
if (isSurge) return $persistentStore.read(key);
|
|
};
|
|
const adapterStatus = (response) => {
|
|
if (response) {
|
|
if (response.status) {
|
|
response["statusCode"] = response.status;
|
|
} else if (response.statusCode) {
|
|
response["status"] = response.statusCode;
|
|
}
|
|
}
|
|
return response;
|
|
};
|
|
const get = (options, callback) => {
|
|
if (isQuanX) {
|
|
if (typeof options == "string")
|
|
options = {
|
|
url: options,
|
|
method: "GET"
|
|
};
|
|
$task.fetch(options).then(
|
|
(response) => {
|
|
callback(null, adapterStatus(response), response.body);
|
|
},
|
|
(reason) => callback(reason.error, null, null)
|
|
);
|
|
}
|
|
if (isSurge)
|
|
$httpClient.get(options, (error, response, body) => {
|
|
callback(error, adapterStatus(response), body);
|
|
});
|
|
};
|
|
const post = (options, callback) => {
|
|
if (isQuanX) {
|
|
if (typeof options == "string")
|
|
options = {
|
|
url: options,
|
|
method: "POST"
|
|
};
|
|
$task.fetch(options).then(
|
|
(response) => {
|
|
callback(null, adapterStatus(response), response.body);
|
|
},
|
|
(reason) => callback(reason.error, null, null)
|
|
);
|
|
}
|
|
if (isSurge) {
|
|
$httpClient.post(options, (error, response, body) => {
|
|
callback(error, adapterStatus(response), body);
|
|
});
|
|
}
|
|
};
|
|
const done = (value = {}) => {
|
|
if (isQuanX) return $done(value);
|
|
if (isSurge) isRequest ? $done(value) : $done();
|
|
};
|
|
return {
|
|
isRequest,
|
|
notify,
|
|
write,
|
|
read,
|
|
get,
|
|
post,
|
|
done
|
|
};
|
|
} |