add - remark111899

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