From 364ac21a06e330d5b7f442a6e252e77d34dedd08 Mon Sep 17 00:00:00 2001 From: src48597962 <48597962@qq.com> Date: Sun, 30 Jun 2024 14:16:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20'SrcJyPublic.js'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SrcJyPublic.js | 85 +++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 77 insertions(+), 8 deletions(-) diff --git a/SrcJyPublic.js b/SrcJyPublic.js index ee0c9813..c11d33ca 100644 --- a/SrcJyPublic.js +++ b/SrcJyPublic.js @@ -26,13 +26,47 @@ function getFile(lx) { //获取所有接口或解析 function getDatas(lx, isyx) { let datalist = []; - let sourcefile = getFile(lx); - let sourcedata = fetch(sourcefile); - if(sourcedata != ""){ - try{ - eval("datalist=" + sourcedata+ ";"); - }catch(e){ - datalist = []; + if(getItem('runMode','1')=='1'){ + let sourcefile = getFile(lx); + let sourcedata = fetch(sourcefile); + if(sourcedata != ""){ + try{ + eval("datalist=" + sourcedata+ ";"); + }catch(e){ + datalist = []; + } + } + }else if(getItem('runMode','1')=='2'){ + if(Juconfig['dySource']){ + let dyJkTmpFile = "hiker://files/_cache/"+md5(Juconfig['dySource'])+".txt"; + if(!fileExist(dyJkTmpFile)){ + let contnet = getJkContnet(Juconfig['dySource']); + if(contnet){ + writeFile(dyJkTmpFile, contnet); + } + } + if(fileExist(dyJkTmpFile)){ + try{ + let data = JSON.parse(fetch(dyJkTmpFile)); + let jklist = data.sites || []; + jklist.forEach(obj=>{ + let arr; + if(/^csp_AppYs/.test(obj.api)){ + arr = { "name": obj.name, "url": obj.ext, "type": getapitype(obj.ext)}; + }else if((obj.type==1||obj.type==0)&&obj.api.indexOf('cms.nokia.press')==-1){ + arr = { "name": obj.name, "url": obj.api, "type": "cms"}; + if(obj.categories){ + arr["categories"] = obj.categories; + } + }else if(obj.type==4){ + arr = { "name": obj.name, "url": obj.api, "type": "t4", "ext": obj.ext}; + } + if(arr){ + datalist.push(arr); + } + }) + }catch(e){} + } } } @@ -47,7 +81,22 @@ function getDatas(lx, isyx) { let result = withoutStop.concat(withStop); return result; } - +//获取在线文件内容 +function getJkContnet(url) { + if(!url.startsWith('http')){ + return ''; + } + if(url.startsWith('https://raw.github')){ + let proxys = $.require('ghproxy').getproxy(); + for(let i=0;i') && !content.startsWith('')) { + return content; + } + } + } + return fetch(url, {timeout:10000}); +} //获取分组接口列表 function getGroupLists(datas, k) { k = k=="全部"?"":k; @@ -320,6 +369,26 @@ function sortByPinyin(arr) { } return arrNew } +//app类接口类型自动 +function getapitype(apiurl) { + if(apiurl){ + if(apiurl.includes('.vod')){ + return "v1"; + }else if(apiurl.includes('/app/')){ + return "app"; + }else if(apiurl.includes('app.php')){ + return "v2"; + }else if(/iptv|Chengcheng/.test(apiurl)){ + return "iptv"; + }else if(apiurl.includes('provide/vod/')){ + return "cms"; + }else{ + return ""; + } + }else{ + return ""; + } +} //文字上色 function colorTitle(title, Color) { return '' + title + '';