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 f5264612..bd4c36f5 100644 --- a/app/src/main/java/com/github/catvod/spider/AList.java +++ b/app/src/main/java/com/github/catvod/spider/AList.java @@ -129,11 +129,21 @@ public class AList extends Spider { vod.setVodPic(vodPic); List playUrls = new ArrayList<>(); List parents = getList(path, false); - for (Item item : parents) if (item.isMedia(drive.isNew())) playUrls.add(item.getName() + "$" + item.getVodId(path) + findSubs(path, parents)); + for (Item item : parents) if (item.isMedia(drive.isNew())) playUrls.add(item.getName() + "$" + encodeVodId(item.getVodId(path) + findSubs(path, parents))); vod.setVodPlayUrl(TextUtils.join("#", playUrls)); return Result.string(vod); } + private String encodeVodId(String vodId) { + if (vodId.contains("#")) return vodId.replace("#", "***"); + return vodId; + } + + private String decodeVodId(String vodId) { + if (vodId.contains("***")) return vodId.replace("***", "#"); + return vodId; + } + @Override public String searchContent(String keyword, boolean quick) throws Exception { fetchRule(); @@ -147,7 +157,7 @@ public class AList extends Spider { @Override public String playerContent(String flag, String id, List vipFlags) { - String[] ids = id.split("~~~"); + String[] ids = decodeVodId(id).split("~~~"); String url = getDetail(ids[0]).getUrl(); return Result.get().url(url).header(getPlayHeader(url)).subs(getSubs(ids)).string(); } @@ -156,8 +166,8 @@ public class AList extends Spider { try { Uri uri = Uri.parse(url); Map header = new HashMap<>(); - if (uri.getHost().contains("115.com")) header.put("User-Agent", Util.CHROME); - else if (uri.getHost().contains("baidupcs.com")) header.put("User-Agent", "pan.baidu.com"); + if (uri.getHost().contains("115")) header.put("User-Agent", Util.CHROME); + if (uri.getHost().contains("baidupcs.com")) header.put("User-Agent", "pan.baidu.com"); return header; } catch (Exception e) { return new HashMap<>(); diff --git a/app/src/main/java/com/github/catvod/utils/Util.java b/app/src/main/java/com/github/catvod/utils/Util.java index b59f81dc..486b846d 100644 --- a/app/src/main/java/com/github/catvod/utils/Util.java +++ b/app/src/main/java/com/github/catvod/utils/Util.java @@ -22,7 +22,7 @@ public class Util { public static final Pattern RULE = Pattern.compile("http((?!http).){12,}?\\.(m3u8|mp4|mkv|flv|mp3|m4a|aac)\\?.*|http((?!http).){12,}\\.(m3u8|mp4|mkv|flv|mp3|m4a|aac)|http((?!http).)*?video/tos*"); public static final Pattern THUNDER = Pattern.compile("(magnet|thunder|ed2k):.*"); - public static final String CHROME = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"; + public static final String CHROME = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36"; public static final List MEDIA = Arrays.asList("mp4", "mkv", "wmv", "flv", "avi", "iso", "mpg", "ts", "mp3", "aac", "flac", "m4a", "ape", "ogg"); public static final List SUB = Arrays.asList("srt", "ass", "ssa", "vtt"); diff --git a/jar/custom_spider.jar b/jar/custom_spider.jar index c9df1bf0..6066b2ed 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 d31c132c..d3981a05 100644 --- a/jar/custom_spider.jar.md5 +++ b/jar/custom_spider.jar.md5 @@ -1 +1 @@ -2f4edf2bed2c6bfc906049428f875e5b +9b46b06c77887786037d2ab277b4b607