1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- function isSub(ext) {
- return ext == "srt" || ext == "ass" || ext == "ssa";
- }
- function getSize(size) {
- if (size <= 0) return "";
- if (size > 1024 * 1024 * 1024 * 1024.0) {
- size /= (1024 * 1024 * 1024 * 1024.0);
- return size.toFixed(2) + "TB";
- } else if (size > 1024 * 1024 * 1024.0) {
- size /= (1024 * 1024 * 1024.0);
- return size.toFixed(2) + "GB";
- } else if (size > 1024 * 1024.0) {
- size /= (1024 * 1024.0);
- return size.toFixed(2) + "MB";
- } else {
- size /= 1024.0;
- return size.toFixed(2) + "KB";
- }
- }
- function removeExt(text) {
- return text.indexOf('.') > -1 ? text.substring(0, text.lastIndexOf(".")) : text;
- }
- async function log(str) {
- console.debug(str);
- }
- function isVideoFormat(url) {
- var RULE = /http((?!http).){12,}?\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg|m4a|mp3)\?.*|http((?!http).){12,}\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg|m4a|mp3)|http((?!http).)*?video\/tos*/;
- if (url.indexOf("url=http") > -1 || url.indexOf(".js") > -1 || url.indexOf(".css") > -1 || url.indexOf(".html") > -1) {
- return false;
- }
- return RULE.test(url);
- }
- function jsonParse(input, json) {
- var jsonPlayData = JSON.parse(json);
- var url = jsonPlayData.url;
- if (url.startsWith("//")) {
- url = "https:" + url;
- }
- if (!url.startsWith("http")) {
- return null;
- }
- if (url === input) {
- if (!isVideoFormat(url)) {
- return null;
- }
- }
- var headers = {};
- var ua = jsonPlayData["user-agent"] || "";
- if (ua.trim().length > 0) {
- headers["User-Agent"] = " " + ua;
- }
- var referer = jsonPlayData.referer || "";
- if (referer.trim().length > 0) {
- headers["Referer"] = " " + referer;
- }
- var taskResult = {
- header: headers,
- url: url
- };
- return taskResult;
- }
- function debug(obj) {
- for (var a in obj) {
- if (typeof(obj[a]) == "object") {
- debug(obj[a]); //递归遍历
- } else {
- console.debug(a + "=" + obj[a]);
- }
- }
- }
- export { isSub, getSize, removeExt, log, isVideoFormat, jsonParse, debug};
|