From 93ad5fe0108f2b53368fa1fcc8d7369ec65cdaa2 Mon Sep 17 00:00:00 2001 From: FongMi Date: Fri, 2 Feb 2024 17:26:18 +0800 Subject: [PATCH] Clean code --- .../java/com/github/catvod/api/AliYun.java | 27 ++++++------------ .../com/github/catvod/utils/ProxyVideo.java | 4 +-- jar/custom_spider.jar | Bin 338943 -> 338434 bytes jar/custom_spider.jar.md5 | 2 +- 4 files changed, 10 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/com/github/catvod/api/AliYun.java b/app/src/main/java/com/github/catvod/api/AliYun.java index d963c143..e0497f55 100644 --- a/app/src/main/java/com/github/catvod/api/AliYun.java +++ b/app/src/main/java/com/github/catvod/api/AliYun.java @@ -456,7 +456,7 @@ public class AliYun { } private String proxyVideoUrl(String cate, String shareId, String fileId) { - return ProxyVideo.url(String.format(Proxy.getUrl() + "?do=ali&type=video&cate=%s&shareId=%s&fileId=%s", cate, shareId, fileId), 20); + return String.format(Proxy.getUrl() + "?do=ali&type=video&cate=%s&shareId=%s&fileId=%s", cate, shareId, fileId); } private String proxyVideoUrl(String cate, String shareId, String fileId, String templateId) { @@ -480,7 +480,6 @@ public class AliYun { public Object[] proxyVideo(Map params) throws Exception { if (dialog != null && dialog.isShowing()) return null; String templateId = params.get("templateId"); - String response = params.get("response"); String shareId = params.get("shareId"); String mediaId = params.get("mediaId"); String fileId = params.get("fileId"); @@ -488,7 +487,7 @@ public class AliYun { String downloadUrl = ""; if ("preview".equals(cate)) { - return previewProxy(shareId, fileId, templateId); + return new Object[]{200, "application/vnd.apple.mpegurl", new ByteArrayInputStream(getM3u8(shareId, fileId, templateId).getBytes())}; } if ("open".equals(cate)) { @@ -506,24 +505,14 @@ public class AliYun { downloadUrl = mediaUrl; } - if ("url".equals(response)) return new Object[]{200, "text/plain; charset=utf-8", new ByteArrayInputStream(downloadUrl.getBytes("UTF-8"))}; Map headers = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); - for (String key : params.keySet()) headers.put(key, params.get(key)); - headers.remove("do"); - headers.remove("host"); - headers.remove("type"); - headers.remove("cate"); - headers.remove("fileId"); - headers.remove("shareId"); - headers.remove("mediaId"); - headers.remove("templateId"); - headers.remove("remote-addr"); - headers.remove("http-client-ip"); - return new Object[]{ProxyVideo.proxy(downloadUrl, headers)}; - } + for (String key : params.keySet()) { + if (key.equals("referer") || key.equals("icy-metadata") || key.equals("range") || key.equals("connection") || key.equals("accept-encoding") || key.equals("user-agent")) { + headers.put(key, params.get(key)); + } + } - private Object[] previewProxy(String shareId, String fileId, String templateId) { - return new Object[]{200, "application/vnd.apple.mpegurl", new ByteArrayInputStream(getM3u8(shareId, fileId, templateId).getBytes())}; + return new Object[]{ProxyVideo.proxy(downloadUrl, headers)}; } private String getM3u8Url(String shareId, String fileId, String templateId) { diff --git a/app/src/main/java/com/github/catvod/utils/ProxyVideo.java b/app/src/main/java/com/github/catvod/utils/ProxyVideo.java index 468abfef..dcdcba0d 100644 --- a/app/src/main/java/com/github/catvod/utils/ProxyVideo.java +++ b/app/src/main/java/com/github/catvod/utils/ProxyVideo.java @@ -44,15 +44,13 @@ public class ProxyVideo { } public static NanoHTTPD.Response proxy(String url, Map headers) throws Exception { - Status status = headers.containsKey("Range") ? Status.PARTIAL_CONTENT : Status.OK; - if (!headers.containsKey("Range")) headers.put("Range", "bytes=0-"); Response response = OkHttp.newCall(url, headers); String contentType = response.headers().get("Content-Type"); String hContentLength = response.headers().get("Content-Length"); String contentDisposition = response.headers().get("Content-Disposition"); long contentLength = hContentLength != null ? Long.parseLong(hContentLength) : 0; if (contentDisposition != null) contentType = getMimeType(contentDisposition); - NanoHTTPD.Response resp = newFixedLengthResponse(status, contentType, response.body().byteStream(), contentLength); + NanoHTTPD.Response resp = newFixedLengthResponse(Status.PARTIAL_CONTENT, contentType, response.body().byteStream(), contentLength); for (String key : response.headers().names()) resp.addHeader(key, response.headers().get(key)); return resp; } diff --git a/jar/custom_spider.jar b/jar/custom_spider.jar index eab91be703ec6465d5ae754abf6bfb45a58df81b..1970f091012eb69fd1c356d70b8310d183f508da 100644 GIT binary patch literal 338434 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