diff --git a/.gitignore b/.gitignore index d0e735c3..bd8b3b4d 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,6 @@ .idea *build *.jks -*i.java -*r.java +*ni.java +*ar.java /local.properties \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 5e07de9c..eda60875 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -40,6 +40,7 @@ dependencies { implementation('com.github.thegrizzlylabs:sardine-android:0.8') { exclude group: 'com.squareup.okhttp3', module: 'okhttp' } implementation 'com.googlecode.juniversalchardet:juniversalchardet:1.0.3' implementation('com.squareup.okhttp3:okhttp:3.12.13') { force = true } + implementation 'wang.harlon.quickjs:wrapper-android:0.20.2' implementation 'com.google.net.cronet:cronet-okhttp:0.1.0' implementation 'com.google.code.gson:gson:2.8.6' implementation 'cn.wanghaomiao:JsoupXpath:2.5.1' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 221b781a..34e4ff12 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,7 +1,10 @@ + + @@ -10,8 +13,9 @@ android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:usesCleartextTraffic="true"> + diff --git a/app/src/main/java/com/github/catvod/crawler/Spider.java b/app/src/main/java/com/github/catvod/crawler/Spider.java index 67ebed5a..29da127b 100644 --- a/app/src/main/java/com/github/catvod/crawler/Spider.java +++ b/app/src/main/java/com/github/catvod/crawler/Spider.java @@ -34,15 +34,22 @@ public abstract class Spider { return ""; } + public String searchContent(String key, boolean quick, String pg) throws Exception { + return ""; + } + public String playerContent(String flag, String id, List vipFlags) throws Exception { return ""; } - public boolean manualVideoCheck() { + public boolean manualVideoCheck() throws Exception { return false; } - public boolean isVideoFormat(String url) { + public boolean isVideoFormat(String url) throws Exception { return false; } + + public void destroy() { + } } diff --git a/app/src/main/java/com/github/catvod/demo/MainActivity.java b/app/src/main/java/com/github/catvod/debug/MainActivity.java similarity index 94% rename from app/src/main/java/com/github/catvod/demo/MainActivity.java rename to app/src/main/java/com/github/catvod/debug/MainActivity.java index 80e5f8cd..0a6b1e34 100644 --- a/app/src/main/java/com/github/catvod/demo/MainActivity.java +++ b/app/src/main/java/com/github/catvod/debug/MainActivity.java @@ -1,4 +1,4 @@ -package com.github.catvod.demo; +package com.github.catvod.debug; import android.app.Activity; import android.os.Bundle; diff --git a/app/src/main/java/com/github/catvod/js/JSLoader.java b/app/src/main/java/com/github/catvod/js/JSLoader.java new file mode 100644 index 00000000..bbbbd08c --- /dev/null +++ b/app/src/main/java/com/github/catvod/js/JSLoader.java @@ -0,0 +1,14 @@ +package com.github.catvod.js; + +import com.whl.quickjs.android.QuickJSLoader; + +public class JSLoader { + + public static void init() { + try { + QuickJSLoader.init(); + } catch (Throwable ignored) { + } + } +} + diff --git a/app/src/main/java/com/github/catvod/js/Method.java b/app/src/main/java/com/github/catvod/js/Method.java new file mode 100644 index 00000000..a30d6c2f --- /dev/null +++ b/app/src/main/java/com/github/catvod/js/Method.java @@ -0,0 +1,4 @@ +package com.github.catvod.js; + +public class Method { +} diff --git a/app/src/main/java/com/github/catvod/spider/Bili.java b/app/src/main/java/com/github/catvod/spider/Bili.java index 2168f202..fe3a2fb5 100644 --- a/app/src/main/java/com/github/catvod/spider/Bili.java +++ b/app/src/main/java/com/github/catvod/spider/Bili.java @@ -210,7 +210,7 @@ public class Bili extends Spider { String mpd = getMpd(dash, videoList.toString(), audioList.toString()); String url = "data:application/dash+xml;base64," + Base64.encodeToString(mpd.getBytes(), 0); - return Result.get().url(url).header(getMember()).string(); + return Result.get().url(url).dash().header(getMember()).string(); } private String getMedia(Media media) { 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 2b4f357e..6e3e7d9c 100644 --- a/app/src/main/java/com/github/catvod/spider/Init.java +++ b/app/src/main/java/com/github/catvod/spider/Init.java @@ -7,6 +7,7 @@ import android.os.Handler; import android.os.Looper; import com.github.catvod.crawler.SpiderDebug; +import com.github.catvod.js.JSLoader; import java.lang.reflect.Field; import java.util.Map; @@ -39,6 +40,7 @@ public class Init { public static void init(Context context) { get().app = ((Application) context); SpiderDebug.log("自定義爬蟲代碼載入成功!"); + JSLoader.init(); } public static void execute(Runnable runnable) { diff --git a/app/src/main/java/com/github/catvod/spider/JSDemo.java b/app/src/main/java/com/github/catvod/spider/JSDemo.java new file mode 100644 index 00000000..e4a84767 --- /dev/null +++ b/app/src/main/java/com/github/catvod/spider/JSDemo.java @@ -0,0 +1,26 @@ +package com.github.catvod.spider; + +import android.content.Context; + +import com.github.catvod.crawler.Spider; +import com.github.catvod.crawler.SpiderDebug; +import com.whl.quickjs.wrapper.QuickJSContext; + +public class JSDemo extends Spider { + + private QuickJSContext jsContext; + + @Override + public void init(Context context, String extend) { + jsContext = QuickJSContext.create(); + jsContext.evaluate("var text = 'Hello QuickJS';"); + String text = jsContext.getGlobalObject().getString("text"); + SpiderDebug.log(text); + } + + @Override + public void destroy() { + super.destroy(); + jsContext.destroy(); + } +} diff --git a/app/src/main/java/com/github/catvod/spider/XPath.java b/app/src/main/java/com/github/catvod/spider/XPath.java index 4e4605f3..c260a9b9 100644 --- a/app/src/main/java/com/github/catvod/spider/XPath.java +++ b/app/src/main/java/com/github/catvod/spider/XPath.java @@ -32,12 +32,7 @@ public class XPath extends Spider { } @Override - public void init(Context context) { - super.init(context); - } - public void init(Context context, String extend) { - super.init(context, extend); this.ext = extend; } diff --git a/jar/custom_spider.jar b/jar/custom_spider.jar index 9754398d..35029ac8 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 9a3806c3..597dc138 100644 --- a/jar/custom_spider.jar.md5 +++ b/jar/custom_spider.jar.md5 @@ -1 +1 @@ -d4dab21a9595058b00f4ad2ce977baf4 +bdaba6bfae7ce2c142343af8e9731c4d diff --git a/json/adult.json b/json/adult.json index 9801f15f..25bba444 100644 --- a/json/adult.json +++ b/json/adult.json @@ -1,5 +1,5 @@ { - "spider": "https://raw.githubusercontent.com/FongMi/CatVodSpider/main/jar/custom_spider.jar;md5;d4dab21a9595058b00f4ad2ce977baf4", + "spider": "https://raw.githubusercontent.com/FongMi/CatVodSpider/main/jar/custom_spider.jar;md5;bdaba6bfae7ce2c142343af8e9731c4d", "wallpaper": "https://gao.chuqiuyu.tk", "sites": [ { diff --git a/json/config.json b/json/config.json index f779e7c2..9660627a 100644 --- a/json/config.json +++ b/json/config.json @@ -1,5 +1,5 @@ { - "spider": "https://raw.githubusercontent.com/FongMi/CatVodSpider/main/jar/custom_spider.jar;md5;d4dab21a9595058b00f4ad2ce977baf4", + "spider": "https://raw.githubusercontent.com/FongMi/CatVodSpider/main/jar/custom_spider.jar;md5;bdaba6bfae7ce2c142343af8e9731c4d", "wallpaper": "http://饭太硬.top/深色壁纸/api.php", "sites": [ {