diff --git a/app/src/main/java/com/github/catvod/bean/Result.java b/app/src/main/java/com/github/catvod/bean/Result.java index 1b9fe58c..4a5abaaa 100644 --- a/app/src/main/java/com/github/catvod/bean/Result.java +++ b/app/src/main/java/com/github/catvod/bean/Result.java @@ -1,5 +1,7 @@ package com.github.catvod.bean; +import androidx.annotation.NonNull; + import com.google.gson.Gson; import com.google.gson.annotations.SerializedName; import com.google.gson.reflect.TypeToken; @@ -26,8 +28,8 @@ public class Result { private String header; @SerializedName("url") private String url; - @SerializedName("sub") - private List sub; + @SerializedName("subs") + private List subs; @SerializedName("parse") private int parse; @SerializedName("jx") @@ -129,8 +131,8 @@ public class Result { return this; } - public Result sub(List sub) { - this.sub = sub; + public Result subs(List subs) { + this.subs = subs; return this; } @@ -154,6 +156,7 @@ public class Result { return toString(); } + @NonNull @Override public String toString() { return new Gson().toJson(this); diff --git a/app/src/main/java/com/github/catvod/bean/ali/Auth.java b/app/src/main/java/com/github/catvod/bean/ali/Auth.java index 25f44a16..2e74bfa2 100644 --- a/app/src/main/java/com/github/catvod/bean/ali/Auth.java +++ b/app/src/main/java/com/github/catvod/bean/ali/Auth.java @@ -7,13 +7,10 @@ public class Auth { private String refreshToken; private String accessToken; - private long expiresTime; + private String shareToken; + private String shareId; private ImageView view; - public Auth(String refreshToken) { - this.refreshToken = refreshToken; - } - public String getRefreshToken() { return TextUtils.isEmpty(refreshToken) ? "" : refreshToken; } @@ -30,12 +27,20 @@ public class Auth { this.accessToken = accessToken; } - public long getExpiresTime() { - return expiresTime; + public String getShareToken() { + return TextUtils.isEmpty(shareToken) ? "" : shareToken; } - public void setExpiresTime(long expiresTime) { - this.expiresTime = expiresTime; + public void setShareToken(String shareToken) { + this.shareToken = shareToken; + } + + public String getShareId() { + return TextUtils.isEmpty(shareId) ? "" : shareId; + } + + public void setShareId(String shareId) { + this.shareId = shareId; } public ImageView getView() { @@ -46,17 +51,13 @@ public class Auth { this.view = view; } - public boolean needRefresh() { - return System.currentTimeMillis() > getExpiresTime(); - } - public boolean isEmpty() { - return getRefreshToken().isEmpty() || getAccessToken().isEmpty(); + return getAccessToken().isEmpty(); } public void clean() { setRefreshToken(""); setAccessToken(""); - setExpiresTime(0); + setShareId(""); } } diff --git a/app/src/main/java/com/github/catvod/spider/AList.java b/app/src/main/java/com/github/catvod/spider/AList.java index a61a2a54..ef223d88 100644 --- a/app/src/main/java/com/github/catvod/spider/AList.java +++ b/app/src/main/java/com/github/catvod/spider/AList.java @@ -125,7 +125,7 @@ public class AList extends Spider { @Override public String playerContent(String flag, String id, List vipFlags) { String[] ids = id.split("~~~"); - return Result.get().url(getDetail(ids[0]).getUrl()).sub(getSub(ids)).string(); + return Result.get().url(getDetail(ids[0]).getUrl()).subs(getSub(ids)).string(); } private Item getDetail(String id) { diff --git a/app/src/main/java/com/github/catvod/spider/Ali.java b/app/src/main/java/com/github/catvod/spider/Ali.java index 4cb9b5a7..343d2f0d 100644 --- a/app/src/main/java/com/github/catvod/spider/Ali.java +++ b/app/src/main/java/com/github/catvod/spider/Ali.java @@ -21,7 +21,6 @@ import com.github.catvod.utils.Trans; import com.google.gson.JsonObject; import org.json.JSONArray; -import org.json.JSONException; import org.json.JSONObject; import java.io.ByteArrayInputStream; @@ -44,13 +43,24 @@ public class Ali { private final Pattern pattern = Pattern.compile("www.aliyundrive.com/s/([^/]+)(/folder/([^/]+))?"); private ScheduledExecutorService service; - private Auth auth; + private final Auth auth; - public Ali token(String token) { - if (auth != null && auth.getRefreshToken().length() > 0) return this; + private static class Loader { + static volatile Ali INSTANCE = new Ali(); + } + + public static Ali get() { + return Loader.INSTANCE; + } + + public Ali() { + this.auth = new Auth(); + } + + public Ali init(String token) { if (TextUtils.isEmpty(token)) Init.show("尚未設定 Token"); if (token.startsWith("http")) token = OkHttp.string(token); - auth = new Auth(Prefers.getString("token", token)); + auth.setRefreshToken(Prefers.getString("token", token)); return this; } @@ -61,10 +71,10 @@ public class Ali { return headers; } - private HashMap getHeaders(String shareToken) { + private HashMap getAuthHeader() { HashMap headers = getHeaders(); headers.put("authorization", auth.getAccessToken()); - headers.put("x-share-token", shareToken); + headers.put("x-share-token", auth.getShareToken()); return headers; } @@ -73,56 +83,49 @@ public class Ali { return OkHttp.postJson(url, body.toString(), getHeaders()); } - private String post(String url, JSONObject body, String shareToken) { + private String postAuth(String url, JSONObject body) { url = url.startsWith("https") ? url : "https://api.aliyundrive.com/" + url; - String result = OkHttp.postJson(url, body.toString(), getHeaders(shareToken)); - if (check401(result)) return post(url, body, shareToken); + String result = OkHttp.postJson(url, body.toString(), getAuthHeader()); + if (check401(result)) return postAuth(url, body); return result; } private boolean check401(String result) { - if (!result.contains("AccessTokenInvalid")) return false; - refreshAccessToken(); - return true; + if (result.contains("AccessTokenInvalid")) return refreshAccessToken(); + if (result.contains("ShareLinkTokenInvalid")) return refreshShareToken(); + return false; } public String detailContent(List ids) throws Exception { String url = ids.get(0).trim(); Matcher matcher = pattern.matcher(url); - if (matcher.find()) return Result.string(getVod(matcher, url)); - return ""; + if (!matcher.find()) return ""; + String shareId = matcher.group(1); + String fileId = matcher.groupCount() == 3 ? matcher.group(3) : ""; + auth.setShareId(shareId); refreshShareToken(); + return Result.string(getVod(url, fileId)); } public String playerContent(String flag, String id) { - if (id.equals("Empty")) return ""; String[] ids = id.split("\\+"); - String shareId = ids[0]; - String shareToken = ids[1]; - String fileId = ids[2]; - List sub = getSub(shareId, shareToken, ids); - if (auth.needRefresh()) refreshAccessToken(); + if (auth.isEmpty()) refreshAccessToken(); if (flag.equals("原畫")) { - return Result.get().url(getDownloadUrl(shareId, shareToken, fileId)).sub(sub).header(getHeaders()).string(); + return Result.get().url(getDownloadUrl(ids[0])).subs(getSub(ids)).header(getHeaders()).string(); } else { - return Result.get().url(getPreviewUrl(shareId, shareToken, fileId)).sub(sub).header(getHeaders()).string(); + return Result.get().url(getPreviewUrl(ids[0])).subs(getSub(ids)).header(getHeaders()).string(); } } - private Vod getVod(Matcher matcher, String url) throws Exception { - String shareId = matcher.group(1); - String shareToken = getShareToken(shareId); - String fileId = matcher.groupCount() == 3 ? matcher.group(3) : ""; + private Vod getVod(String url, String fileId) throws Exception { JSONObject body = new JSONObject(); - body.put("share_id", shareId); + body.put("share_id", auth.getShareId()); String json = post("adrive/v3/share_link/get_share_by_anonymous", body); JSONObject object = new JSONObject(json); - LinkedHashMap fileMap = new LinkedHashMap<>(); + List files = new ArrayList<>(); LinkedHashMap> subMap = new LinkedHashMap<>(); - listFiles(new Item(getParentFileId(fileId, object)), fileMap, subMap, shareId, shareToken); + listFiles(new Item(getParentFileId(fileId, object)), files, subMap); List playUrls = new ArrayList<>(); - List files = new ArrayList<>(fileMap.keySet()); - for (Item file : files) playUrls.add(Trans.get(file.getDisplayName()) + "$" + fileMap.get(file) + findSubs(file.getName(), subMap)); - if (playUrls.isEmpty()) playUrls.add("Empty$Empty"); + for (Item file : files) playUrls.add(Trans.get(file.getDisplayName()) + "$" + file.getFileId() + findSubs(file.getName(), subMap)); List sourceUrls = new ArrayList<>(); sourceUrls.add(TextUtils.join("#", playUrls)); sourceUrls.add(TextUtils.join("#", playUrls)); @@ -137,25 +140,25 @@ public class Ali { return vod; } - private void listFiles(Item folder, LinkedHashMap name2id, LinkedHashMap> subMap, String shareId, String shareToken) throws Exception { - listFiles(folder, name2id, subMap, shareId, shareToken, ""); + private void listFiles(Item folder, List files, LinkedHashMap> subMap) throws Exception { + listFiles(folder, files, subMap, ""); } - private void listFiles(Item parent, LinkedHashMap name2id, LinkedHashMap> subMap, String shareId, String shareToken, String marker) throws Exception { + private void listFiles(Item parent, List files, LinkedHashMap> subMap, String marker) throws Exception { JSONObject body = new JSONObject(); List folders = new ArrayList<>(); body.put("limit", 200); - body.put("share_id", shareId); + body.put("share_id", auth.getShareId()); body.put("parent_file_id", parent.getFileId()); body.put("order_by", "name"); body.put("order_direction", "ASC"); if (marker.length() > 0) body.put("marker", marker); - Item item = Item.objectFrom(post("adrive/v3/file/list", body, shareToken)); + Item item = Item.objectFrom(postAuth("adrive/v3/file/list", body)); for (Item file : item.getItems()) { if (file.getType().equals("folder")) { folders.add(file); } else if (file.getCategory().equals("video") || file.getCategory().equals("audio")) { - name2id.put(file, shareId + "+" + shareToken + "+" + file.getFileId()); + files.add(file); } else if (Misc.isSub(file.getExt())) { String key = file.removeExt(); if (!subMap.containsKey(key)) subMap.put(key, new ArrayList<>()); @@ -163,10 +166,10 @@ public class Ali { } } if (item.getNextMarker().length() > 0) { - listFiles(parent, name2id, subMap, shareId, shareToken, item.getNextMarker()); + listFiles(parent, files, subMap, item.getNextMarker()); } for (Item folder : folders) { - listFiles(folder, name2id, subMap, shareId, shareToken); + listFiles(folder, files, subMap); } } @@ -180,25 +183,42 @@ public class Ali { return ""; } - private void refreshAccessToken() { + private boolean refreshAccessToken() { try { JSONObject body = new JSONObject(); body.put("refresh_token", auth.getRefreshToken()); body.put("grant_type", "refresh_token"); JSONObject object = new JSONObject(post("https://auth.aliyundrive.com/v2/account/token", body)); auth.setAccessToken(object.getString("token_type") + " " + object.getString("access_token")); - auth.setExpiresTime(System.currentTimeMillis() + object.getInt("expires_in") * 1000L); auth.setRefreshToken(object.getString("refresh_token")); SpiderDebug.log("refresh token: " + auth.getRefreshToken()); - } catch (JSONException e) { + return true; + } catch (Exception e) { checkService(); auth.clean(); getQRCode(); + return true; } finally { while (auth.isEmpty()) SystemClock.sleep(250); } } + private boolean refreshShareToken() { + try { + JSONObject body = new JSONObject(); + body.put("share_id", auth.getShareId()); + body.put("share_pwd", ""); + JSONObject object = new JSONObject(post("v2/share_link/get_share_token", body)); + auth.setShareToken(object.getString("share_token")); + SpiderDebug.log("share token: " + auth.getShareToken()); + return true; + } catch (Exception e) { + Init.show("來晚啦,該分享已失效。"); + e.printStackTrace(); + return false; + } + } + private String findSubs(String name, Map> subMap) { name = name.substring(0, name.lastIndexOf(".")); List subs = subMap.get(name); @@ -214,33 +234,19 @@ public class Ali { return sb.toString(); } - private List getSub(String shareId, String shareToken, String[] ids) { + private List getSub(String[] ids) { List sub = new ArrayList<>(); for (String text : ids) { if (!text.contains("@@@")) continue; String[] split = text.split("@@@"); String name = split[0]; String ext = split[1]; - String url = Proxy.getUrl() + "?do=ali&type=sub&share_id=" + shareId + "&share_token=" + shareToken + "&file_id=" + split[2]; + String url = Proxy.getUrl() + "?do=ali&type=sub" + "&file_id=" + split[2]; sub.add(Sub.create().name(name).ext(ext).url(url)); } return sub; } - private String getShareToken(String shareId) { - try { - JSONObject body = new JSONObject(); - body.put("share_id", shareId); - body.put("share_pwd", ""); - String json = post("v2/share_link/get_share_token", body); - return new JSONObject(json).getString("share_token"); - } catch (JSONException e) { - Init.show("來晚啦,該分享已失效。"); - e.printStackTrace(); - return ""; - } - } - private String getPreviewQuality(JSONArray taskList) throws Exception { for (String templateId : Arrays.asList("FHD", "HD", "SD", "LD")) { for (int i = 0; i < taskList.length(); ++i) { @@ -253,14 +259,14 @@ public class Ali { return taskList.getJSONObject(0).getString("url"); } - private String getPreviewUrl(String shareId, String shareToken, String fileId) { + private String getPreviewUrl(String fileId) { try { JSONObject body = new JSONObject(); body.put("file_id", fileId); - body.put("share_id", shareId); + body.put("share_id", auth.getShareId()); body.put("template_id", ""); body.put("category", "live_transcoding"); - String json = post("v2/file/get_share_link_video_preview_play_info", body, shareToken); + String json = postAuth("v2/file/get_share_link_video_preview_play_info", body); JSONArray taskList = new JSONObject(json).getJSONObject("video_preview_play_info").getJSONArray("live_transcoding_task_list"); Map> respHeaders = new HashMap<>(); OkHttp.stringNoRedirect(getPreviewQuality(taskList), getHeaders(), respHeaders); @@ -271,13 +277,13 @@ public class Ali { } } - private String getDownloadUrl(String shareId, String shareToken, String fileId) { + private String getDownloadUrl(String fileId) { try { JSONObject body = new JSONObject(); body.put("file_id", fileId); - body.put("share_id", shareId); + body.put("share_id", auth.getShareId()); body.put("expire_sec", 600); - String json = post("v2/file/get_share_link_download_url", body, shareToken); + String json = postAuth("v2/file/get_share_link_download_url", body); String url = new JSONObject(json).optString("download_url"); Map> respHeaders = new HashMap<>(); OkHttp.stringNoRedirect(url, getHeaders(), respHeaders); @@ -289,10 +295,8 @@ public class Ali { } public Object[] vod(Map params) { - String shareId = params.get("share_id"); - String shareToken = params.get("share_token"); String fileId = params.get("file_id"); - String text = OkHttp.string(getDownloadUrl(shareId, shareToken, fileId), getHeaders(shareToken)); + String text = OkHttp.string(getDownloadUrl(fileId), getAuthHeader()); Object[] result = new Object[3]; result[0] = 200; result[1] = "application/octet-stream"; diff --git a/app/src/main/java/com/github/catvod/spider/Init.java b/app/src/main/java/com/github/catvod/spider/Init.java index ecb45ce2..1133b8a9 100644 --- a/app/src/main/java/com/github/catvod/spider/Init.java +++ b/app/src/main/java/com/github/catvod/spider/Init.java @@ -17,7 +17,6 @@ public class Init { private final Handler handler; private Application app; - private Ali ali; private static class Loader { static volatile Init INSTANCE = new Init(); @@ -28,7 +27,6 @@ public class Init { } public Init() { - this.ali = new Ali(); this.handler = new Handler(Looper.getMainLooper()); } @@ -36,14 +34,6 @@ public class Init { return get().app; } - public static Ali getAli() { - return get().ali; - } - - public static void setAli(Ali ali) { - get().ali = ali; - } - public static void init(Context context) { SpiderDebug.log("自定義爬蟲代碼載入成功!"); get().app = ((Application) context); diff --git a/app/src/main/java/com/github/catvod/spider/PanSou.java b/app/src/main/java/com/github/catvod/spider/PanSou.java index 0b00769f..6a811a81 100644 --- a/app/src/main/java/com/github/catvod/spider/PanSou.java +++ b/app/src/main/java/com/github/catvod/spider/PanSou.java @@ -25,7 +25,6 @@ import java.util.Map; public class PanSou extends Spider { private final String siteUrl = "https://www.alipansou.com"; - private Ali ali; private Map getHeaders(String id) { HashMap headers = new HashMap<>(); @@ -37,7 +36,7 @@ public class PanSou extends Spider { @Override public void init(Context context, String extend) { - ali = Init.getAli().token(extend); + Ali.get().init(extend); } @Override @@ -46,7 +45,7 @@ public class PanSou extends Spider { Map> respHeaders = new HashMap<>(); OkHttp.stringNoRedirect(url, getHeaders(ids.get(0)), respHeaders); url = OkHttp.getRedirectLocation(respHeaders); - return ali.detailContent(Arrays.asList(url)); + return Ali.get().detailContent(Arrays.asList(url)); } @Override @@ -75,6 +74,6 @@ public class PanSou extends Spider { @Override public String playerContent(String flag, String id, List vipFlags) { - return ali.playerContent(flag, id); + return Ali.get().playerContent(flag, id); } } diff --git a/app/src/main/java/com/github/catvod/spider/Paper.java b/app/src/main/java/com/github/catvod/spider/Paper.java index 6de1257a..31df3375 100644 --- a/app/src/main/java/com/github/catvod/spider/Paper.java +++ b/app/src/main/java/com/github/catvod/spider/Paper.java @@ -32,7 +32,6 @@ public class Paper extends Spider { private final String url = "https://gitcafe.net/alipaper/"; private final String api = "https://gitcafe.net/tool/alipaper/"; private List types; - private Ali ali; private HashMap getHeaders() { HashMap headers = new HashMap<>(); @@ -43,7 +42,7 @@ public class Paper extends Spider { @Override public void init(Context context, String extend) { types = Arrays.asList("hyds", "rhds", "omds", "qtds", "hydy", "rhdy", "omdy", "qtdy", "hydm", "rhdm", "omdm", "jlp", "zyp", "jypx", "qtsp"); - ali = Init.getAli().token(extend); + Ali.get().init(extend); } @Override @@ -93,7 +92,7 @@ public class Paper extends Spider { @Override public String detailContent(List ids) throws Exception { - return ali.detailContent(ids); + return Ali.get().detailContent(ids); } @Override @@ -109,6 +108,6 @@ public class Paper extends Spider { @Override public String playerContent(String flag, String id, List vipFlags) throws Exception { - return ali.playerContent(flag, id); + return Ali.get().playerContent(flag, id); } } diff --git a/app/src/main/java/com/github/catvod/spider/Proxy.java b/app/src/main/java/com/github/catvod/spider/Proxy.java index 7d28b287..1fc399c8 100644 --- a/app/src/main/java/com/github/catvod/spider/Proxy.java +++ b/app/src/main/java/com/github/catvod/spider/Proxy.java @@ -18,7 +18,7 @@ public class Proxy extends Spider { case "ck": return new Object[]{200, "text/plain; charset=utf-8", new ByteArrayInputStream("ok".getBytes("UTF-8"))}; case "ali": - return Init.getAli().vod(params); + return Ali.get().vod(params); default: return null; } diff --git a/app/src/main/java/com/github/catvod/spider/Push.java b/app/src/main/java/com/github/catvod/spider/Push.java index 9ca09435..d38176cb 100644 --- a/app/src/main/java/com/github/catvod/spider/Push.java +++ b/app/src/main/java/com/github/catvod/spider/Push.java @@ -11,17 +11,15 @@ import java.util.List; public class Push extends Spider { - private Ali ali; - @Override public void init(Context context, String extend) { - ali = Init.getAli().token(extend); + Ali.get().init(extend); } @Override public String detailContent(List ids) throws Exception { String url = ids.get(0).trim(); - if (url.contains("aliyundrive")) return ali.detailContent(ids); + if (url.contains("aliyundrive")) return Ali.get().detailContent(ids); if (Misc.isVip(url)) return Result.string(vod(url, "官源")); if (Misc.isVideoFormat(url)) return Result.string(vod(url, "直連")); return Result.string(vod(url, "網頁")); @@ -29,7 +27,7 @@ public class Push extends Spider { @Override public String playerContent(String flag, String id, List vipFlags) { - if (flag.contains("畫")) return ali.playerContent(flag, id); + if (flag.contains("畫")) return Ali.get().playerContent(flag, id); if (flag.equals("官源")) return Result.get().parse().jx().url(id).string(); if (flag.equals("網頁")) return Result.get().parse().url(id).string(); return Result.get().url(id).string(); diff --git a/app/src/main/java/com/github/catvod/spider/UpYun.java b/app/src/main/java/com/github/catvod/spider/UpYun.java index 0099a154..f58f9071 100644 --- a/app/src/main/java/com/github/catvod/spider/UpYun.java +++ b/app/src/main/java/com/github/catvod/spider/UpYun.java @@ -22,7 +22,6 @@ public class UpYun extends Spider { private final String siteUrl = "https://www.upyunso.com/"; private final String apiUrl = "https://api.upyunso2.com/"; - private Ali ali; private Map getHeaders() { HashMap headers = new HashMap<>(); @@ -33,12 +32,12 @@ public class UpYun extends Spider { @Override public void init(Context context, String extend) { - ali = Init.getAli().token(extend); + Ali.get().init(extend); } @Override public String detailContent(List ids) throws Exception { - return ali.detailContent(Arrays.asList(ids.get(0))); + return Ali.get().detailContent(Arrays.asList(ids.get(0))); } @Override @@ -52,6 +51,6 @@ public class UpYun extends Spider { @Override public String playerContent(String flag, String id, List vipFlags) { - return ali.playerContent(flag, id); + return Ali.get().playerContent(flag, id); } } \ No newline at end of file diff --git a/app/src/main/java/com/github/catvod/spider/YiSo.java b/app/src/main/java/com/github/catvod/spider/YiSo.java index ac6aa82f..57b52908 100644 --- a/app/src/main/java/com/github/catvod/spider/YiSo.java +++ b/app/src/main/java/com/github/catvod/spider/YiSo.java @@ -20,21 +20,19 @@ import java.util.Objects; public class YiSo extends Spider { - private Ali ali; - @Override public void init(Context context, String extend) { - ali = Init.getAli().token(extend); + Ali.get().init(extend); } @Override public String detailContent(List ids) throws Exception { - return ali.detailContent(ids); + return Ali.get().detailContent(ids); } @Override public String playerContent(String flag, String id, List vipFlags) throws Exception { - return ali.playerContent(flag, id); + return Ali.get().playerContent(flag, id); } @Override diff --git a/app/src/main/java/com/github/catvod/spider/Zhaozy.java b/app/src/main/java/com/github/catvod/spider/Zhaozy.java index b5de5c7c..9aabca9a 100644 --- a/app/src/main/java/com/github/catvod/spider/Zhaozy.java +++ b/app/src/main/java/com/github/catvod/spider/Zhaozy.java @@ -25,7 +25,6 @@ public class Zhaozy extends Spider { private final Pattern regexAli = Pattern.compile("(https://www.aliyundrive.com/s/[^\"]+)"); private final Pattern regexVid = Pattern.compile("(\\S+)"); private final String siteUrl = "https://zhaoziyuan.la/"; - private Ali ali; private Map getHeader() { Map headers = new HashMap<>(); @@ -52,7 +51,7 @@ public class Zhaozy extends Spider { @Override public void init(Context context, String extend) { - ali = Init.getAli().token(extend); + Ali.get().init(extend); } @Override @@ -60,12 +59,12 @@ public class Zhaozy extends Spider { Matcher matcher = regexAli.matcher(OkHttp.string(siteUrl + ids.get(0), getHeader())); if (!matcher.find()) return ""; ids.set(0, matcher.group(1)); - return ali.detailContent(ids); + return Ali.get().detailContent(ids); } @Override public String playerContent(String flag, String id, List vipFlags) throws Exception { - return ali.playerContent(flag, id); + return Ali.get().playerContent(flag, id); } @Override diff --git a/jar/custom_spider.jar b/jar/custom_spider.jar index 014dd4e8..5261ebf7 100644 Binary files a/jar/custom_spider.jar and b/jar/custom_spider.jar differ diff --git a/jar/custom_spider.jar.md5 b/jar/custom_spider.jar.md5 index 38ca12e7..aae3ce6b 100644 --- a/jar/custom_spider.jar.md5 +++ b/jar/custom_spider.jar.md5 @@ -1 +1 @@ -0c652bdac4683c84e151f867dd3abe54 +b6cec380ddab899d275cf2fec2ed676a diff --git a/json/adult.json b/json/adult.json index 36c64a82..9e1fde28 100644 --- a/json/adult.json +++ b/json/adult.json @@ -1,5 +1,5 @@ { - "spider": "https://ghproxy.com/https://raw.githubusercontent.com/FongMi/CatVodSpider/main/jar/custom_spider.jar;md5;0c652bdac4683c84e151f867dd3abe54", + "spider": "https://ghproxy.com/https://raw.githubusercontent.com/FongMi/CatVodSpider/main/jar/custom_spider.jar;md5;b6cec380ddab899d275cf2fec2ed676a", "wallpaper": "https://gao.chuqiuyu.tk", "lives": [ { diff --git a/json/config.json b/json/config.json index 4873ae62..ab78b50a 100644 --- a/json/config.json +++ b/json/config.json @@ -1,5 +1,5 @@ { - "spider": "https://ghproxy.com/https://raw.githubusercontent.com/FongMi/CatVodSpider/main/jar/custom_spider.jar;md5;0c652bdac4683c84e151f867dd3abe54", + "spider": "https://ghproxy.com/https://raw.githubusercontent.com/FongMi/CatVodSpider/main/jar/custom_spider.jar;md5;b6cec380ddab899d275cf2fec2ed676a", "wallpaper": "http://www.kf666888.cn/api/tvbox/img", "lives": [ {