From dacd4d4cea5410059066961115bc95ad3095042e Mon Sep 17 00:00:00 2001 From: yangqiang3504 <412594121@qq.com> Date: Thu, 8 Sep 2022 09:45:22 +0800 Subject: [PATCH] add - remark111899 --- .../com/github/catvod/parser/Base64Utils.java | 2 +- .../com/github/catvod/spider/PushAgent.java | 39 +++++++++---------- .../java/com/github/catvod/utils/Misc.java | 1 + 3 files changed, 20 insertions(+), 22 deletions(-) diff --git a/app/src/main/java/com/github/catvod/parser/Base64Utils.java b/app/src/main/java/com/github/catvod/parser/Base64Utils.java index 5964773..83af15a 100644 --- a/app/src/main/java/com/github/catvod/parser/Base64Utils.java +++ b/app/src/main/java/com/github/catvod/parser/Base64Utils.java @@ -43,7 +43,7 @@ public class Base64Utils { if (zt.contains("4K")||zt.contains("4k")) { remark = " 4K"; }else if(zt.contains("1080")) remark = " 1080P"; - if(!remark.equals("")||!ctime.equals(""))remark = "/" + remark + " "+ctime; + if(!remark.equals("")||!ctime.equals(""))remark = remark + " "+ctime; uri = o.optString("page_url", ""); o2.put("title", title); o2.put("remark", remark); diff --git a/app/src/main/java/com/github/catvod/spider/PushAgent.java b/app/src/main/java/com/github/catvod/spider/PushAgent.java index 80c3989..bee9d65 100644 --- a/app/src/main/java/com/github/catvod/spider/PushAgent.java +++ b/app/src/main/java/com/github/catvod/spider/PushAgent.java @@ -9,9 +9,7 @@ import com.github.catvod.utils.Misc; import com.github.catvod.utils.okhttp.OKCallBack; import com.github.catvod.utils.okhttp.OkHttpUtil; import okhttp3.Call; -import okhttp3.OkHttpClient; import okhttp3.Response; -import okhttp3.ResponseBody; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; @@ -30,7 +28,6 @@ import java.util.regex.Pattern; public class PushAgent extends Spider { private static long timeToken = 0; private static String accessToken = ""; - private static String refreshToken = "http://catvod.fun:8001/tv/ali.txt"; private static Map shareToken = new HashMap<>(); private static Map shareExpires = new HashMap<>(); private static final Map> videosMap = new HashMap<>(); @@ -39,8 +36,6 @@ public class PushAgent extends Spider { public static Pattern regexAli = Pattern.compile("(https://www.aliyundrive.com/s/[^\"]+)"); public static Pattern regexAliFolder = Pattern.compile("www.aliyundrive.com/s/([^/]+)(/folder/([^/]+))?"); - public static JSONObject siteRule = null; - public static Integer type=1; @Override public void init(Context context, String extend) { super.init(context, extend); @@ -54,13 +49,13 @@ public class PushAgent extends Spider { public static void getToken(String token){ if (token.startsWith("http")) { - refreshToken = OkHttpUtil.string(token, null); - }else refreshToken = token; + Misc.refreshToken = OkHttpUtil.string(token, null); + }else Misc.refreshToken = token; } public static JSONObject fetchRule(boolean flag,int t) { try { - if (flag || siteRule == null) { + if (flag || Misc.siteRule == null) { String json = OkHttpUtil.string(Misc.jsonUrl+"?t="+Time(), null); JSONObject jo = new JSONObject(json); if(t==0) { @@ -69,18 +64,18 @@ public class PushAgent extends Spider { String[] info = fenlei.split("\\$"); jo.remove(info[1]); } - siteRule = jo; - String tk = siteRule.optString("token",""); + Misc.siteRule = jo; + String tk = Misc.siteRule.optString("token",""); if(!tk.equals("")){ getToken(tk); } - type = siteRule.optInt("ua", 1); + Misc.type = Misc.siteRule.optInt("ua", 1); } return jo; } } catch (JSONException e) { } - return siteRule; + return Misc.siteRule; } public static String getRuleVal(JSONObject o,String key, String defaultVal) { @@ -134,7 +129,7 @@ public class PushAgent extends Spider { if (accessToken.isEmpty() || timeToken - timeSys <= 600) { try { JSONObject json = new JSONObject(); - json.put("refresh_token", refreshToken); + json.put("refresh_token", Misc.refreshToken); JSONObject response = new JSONObject(postJson("https://api.aliyundrive.com/token/refresh", json.toString(), getHeaders())); accessToken = response.getString("token_type") + " " + response.getString("access_token"); timeToken = response.getLong("expires_in") + timeSys; @@ -324,7 +319,7 @@ public class PushAgent extends Spider { } - public static void listFiles(Map map, String shareId, String shareToken, String fileId) { + public static void listFiles(Map map, String shareId, String shareToken, String fileId,String _url) { try { String url = "https://api.aliyundrive.com/adrive/v3/file/list"; HashMap headers = getHeaders(); @@ -355,7 +350,7 @@ public class PushAgent extends Spider { //vnd.rn-realmedia-vbr 为rmvb格式 if (item.getString("mime_type").contains("video")||item.getString("mime_type").contains("vnd.rn-realmedia-vbr")) { String replace = item.getString("name").replace("#", "_").replace("$", "_"); - map.put(replace, shareId + "+" + shareToken + "+" + item.getString("file_id")+"+"+item.getString("category")); + map.put(replace, shareId + "+" + shareToken + "+" + item.getString("file_id")+"+"+item.getString("category")+"+"+_url); } } } @@ -364,7 +359,7 @@ public class PushAgent extends Spider { for (String item : arrayList) { try { - listFiles(map, shareId, shareToken, item); + listFiles(map, shareId, shareToken, item,_url); } catch (Exception e) { SpiderDebug.log(e); return; @@ -418,7 +413,7 @@ public class PushAgent extends Spider { } String shareTk = getShareTk(shareId, ""); Map hashMap = new HashMap<>(); - listFiles(hashMap, shareId, shareTk, fileId); + listFiles(hashMap, shareId, shareTk, fileId,url); ArrayList arrayList2 = new ArrayList<>(hashMap.keySet()); Collections.sort(arrayList2); for (String item : arrayList2) { @@ -476,7 +471,7 @@ public class PushAgent extends Spider { vodAtom.put("vod_pic", pic); vodAtom.put("type_name", typeName); vodAtom.put("vod_content", url); - vodAtom.put("vod_area", type + refreshToken); + vodAtom.put("vod_area", Misc.btype); if (Misc.isVip(url) && !url.contains("qq.com") && !url.contains("mgtv.com")) { Elements playListA = null; Document doc = Jsoup.parse(OkHttpUtil.string(url, Misc.Headers(0,url))); @@ -605,6 +600,7 @@ public class PushAgent extends Spider { return result.toString(); } else if (regexAli.matcher(url).find()) { if(VodName!=null) vodAtom.put("vod_name", VodName); + vodAtom.put("vod_id", TextUtils.join("$$$",idInfo)); return getAliContent(url,vodAtom); } else if (url.startsWith("http://") || url.startsWith("https://")) { Document doc = null; @@ -792,14 +788,14 @@ public class PushAgent extends Spider { result.put("playUrl", ""); if(id.contains("bilibili")){ result.put("header", Misc.jHeaders(0,id).toString()); - } else result.put("header", Misc.jHeaders(type,id).toString()); + } else result.put("header", Misc.jHeaders(Misc.type,id).toString()); return result.toString(); } case "player": { result.put("parse", 0); result.put("playUrl", ""); result.put("url", id); - result.put("header", Misc.jHeaders(type,id).toString()); + result.put("header", Misc.jHeaders(Misc.type,id).toString()); return result.toString(); } case "AliYun": @@ -811,6 +807,7 @@ public class PushAgent extends Spider { result.put("playUrl", ""); result.put("url", url); result.put("header", ""); + Misc.btype = split[4]; return result.toString(); case "4K原画": { split = id.split("\\+"); @@ -827,7 +824,7 @@ public class PushAgent extends Spider { } } if(flag.startsWith("嗅探")){ - result.put("header", Misc.jHeaders(type,id).toString()); + result.put("header", Misc.jHeaders(Misc.type,id).toString()); } if(id.contains("b23.tv"))result.put("header", Misc.jHeaders(1,id).toString()); result.put("parse", 1); diff --git a/app/src/main/java/com/github/catvod/utils/Misc.java b/app/src/main/java/com/github/catvod/utils/Misc.java index 9dba0f8..75b786b 100644 --- a/app/src/main/java/com/github/catvod/utils/Misc.java +++ b/app/src/main/java/com/github/catvod/utils/Misc.java @@ -19,6 +19,7 @@ public class Misc { public static String refreshToken="http://catvod.fun:8001/tv/ali.txt"; public static JSONObject siteRule = null; public static Integer type=1; + public static String btype=""; public static boolean isVip(String url) { // 适配2.0.6的调用应用内解析列表的支持, 需要配合直连分析一起使用,参考cjt影视和极品直连 try {