diff --git a/SrcAutoX.js b/SrcJyAuto.js similarity index 93% rename from SrcAutoX.js rename to SrcJyAuto.js index 3fe989db..6fbc84aa 100644 --- a/SrcAutoX.js +++ b/SrcJyAuto.js @@ -5,7 +5,93 @@ var SrcVersion = 6.23; //载入断插主控js -eval(fetch('hiker://files/cache/Parse_Dn.js')); +var cfgfile = "hiker://files/rules/Src/Juying/config.json"; +var Juyingcfg=fetch(cfgfile); +if(Juyingcfg != ""){ + eval("var JYconfig=" + Juyingcfg+ ";"); +} +var parseRoute = JYconfig.dnfile?JYconfig.dnfile:'hiker://files/rules/DuanNian/MyParse.json'; +var MyParseS = {}; +var mySet = {}; +if (fileExist(parseRoute)) { + eval('var parseFile =' + (/^http/.test(parseRoute)?fetchCache(parseRoute, 24):fetch(parseRoute))); + MyParseS = parseFile.codes; + mySet = parseFile.settings; +} + +var tools = { + MD5: function(data) { + eval(getCryptoJS()); + return CryptoJS.MD5(data).toString(CryptoJS.enc.Hex); + }, + AES: function(text, key, iv, isEncrypt) { + eval(getCryptoJS()); + var key = CryptoJS.enc.Utf8.parse(key); + var iv = CryptoJS.enc.Utf8.parse(iv); + if (isEncrypt) { + return CryptoJS.AES.encrypt(text, key, { + iv: iv, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.Pkcs7 + }).toString(); + }; + return CryptoJS.AES.decrypt(text, key, { + iv: iv, + padding: CryptoJS.pad.Pkcs7 + }).toString(CryptoJS.enc.Utf8); + }, + //ascii + nextCharacter: function(asciiValue, k) { + var s = asciiValue; + return String.fromCharCode(s + k); + }, + //凯撒 + caesarCipher: function(stringValue, k) { + var newString = ""; + for (var i = 0; i < stringValue.length; i++) { + newString += this.nextCharacter(stringValue[i].charCodeAt(), k); + } + return newString; + } +}; + +var ParseS = {}; +var originalParseS = { + maoss: function(jxurl, ref, key) { + try { + var getVideoInfo = function(text) { + return tools.AES(text, key, iv); + }; + key = key == undefined ? 'dvyYRQlnPRCMdQSe' : key; + if (ref) { + var html = request(jxurl, { + headers: { + 'Referer': ref + } + }); + } else { + var html = request(jxurl); + } + if (html.indexOf('&btwaf=') != -1) { + html = request(jxurl + '&btwaf' + html.match(/&btwaf(.*?)"/)[1], { + headers: { + 'Referer': ref + } + }) + } + var iv = html.split('_token = "')[1].split('"')[0]; + eval(html.match(/var config = {[\s\S]*?}/)[0] + ''); + if (config.url.slice(0, 4) != 'http') { + config.url = decodeURIComponent(tools.AES(config.url, key, iv)); + } + return config.url; + } catch (e) { + return ''; + } + } +}; +Object.assign(ParseS, originalParseS, MyParseS); +//覆盖顺序,第三个覆盖第二个然后覆盖第一个 //------参数设置------ var defaultconfig = {