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 495b5958..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 @@ -11,10 +11,6 @@ public class Auth { private String shareId; private ImageView view; - public Auth(String refreshToken) { - this.refreshToken = refreshToken; - } - public String getRefreshToken() { return TextUtils.isEmpty(refreshToken) ? "" : refreshToken; } @@ -56,7 +52,7 @@ public class Auth { } public boolean isEmpty() { - return getRefreshToken().isEmpty(); + return getAccessToken().isEmpty(); } public void clean() { 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 105f96ba..343d2f0d 100644 --- a/app/src/main/java/com/github/catvod/spider/Ali.java +++ b/app/src/main/java/com/github/catvod/spider/Ali.java @@ -43,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; } 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 1ab42454..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 57c07956..aae3ce6b 100644 --- a/jar/custom_spider.jar.md5 +++ b/jar/custom_spider.jar.md5 @@ -1 +1 @@ -462dc3df9ddfcbb3c1933c172f634f7c +b6cec380ddab899d275cf2fec2ed676a