diff --git a/app/src/main/java/com/github/catvod/ali/API.java b/app/src/main/java/com/github/catvod/ali/API.java index 5319b9a9..59b463fb 100644 --- a/app/src/main/java/com/github/catvod/ali/API.java +++ b/app/src/main/java/com/github/catvod/ali/API.java @@ -349,7 +349,7 @@ public class API { String[] split = text.split("@@@"); String name = split[0]; String ext = split[1]; - String url = Proxy.getUrl() + "?do=ali&type=sub" + "&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; 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 c21f4dc3..23af329b 100644 --- a/app/src/main/java/com/github/catvod/spider/AList.java +++ b/app/src/main/java/com/github/catvod/spider/AList.java @@ -18,6 +18,7 @@ import com.github.catvod.utils.Utils; import org.json.JSONObject; +import java.io.ByteArrayInputStream; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -25,8 +26,11 @@ import java.util.HashMap; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; +import java.util.Map; import java.util.concurrent.CountDownLatch; +import okhttp3.Response; + public class AList extends Spider { private List drives; @@ -256,9 +260,20 @@ public class AList extends Spider { String[] split = text.split("@@@"); String name = split[0]; String ext = split[1]; - String url = getDetail(split[2]).getUrl(); + String url = Proxy.getUrl() + "?do=alist&url=" + getDetail(split[2]).getUrl(); sub.add(Sub.create().name(name).ext(ext).url(url)); } return sub; } + + public static Object[] proxy(Map params) throws Exception { + String url = params.get("url"); + Response res = OkHttp.newCall(url); + byte[] body = Utils.toUtf8(res.body().bytes()); + Object[] result = new Object[3]; + result[0] = 200; + result[1] = "application/octet-stream"; + result[2] = new ByteArrayInputStream(body); + return result; + } } \ No newline at end of file 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 fa3602bd..8689e850 100644 --- a/app/src/main/java/com/github/catvod/spider/Proxy.java +++ b/app/src/main/java/com/github/catvod/spider/Proxy.java @@ -20,6 +20,8 @@ public class Proxy extends Spider { return Ali.proxy(params); case "webdav": return WebDAV.vod(params); + case "alist": + return AList.proxy(params); default: return null; } diff --git a/jar/custom_spider.jar b/jar/custom_spider.jar index dd5c88f3..2a722728 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 93bbfd46..910b4c16 100644 --- a/jar/custom_spider.jar.md5 +++ b/jar/custom_spider.jar.md5 @@ -1 +1 @@ -493c8d428897bd6133ffd22eb1cb0495 +1aa6c09c2ed0f3d11db69b6c15e7a1cd