Merge branch 'FongMi:main' into main
This commit is contained in:
commit
dbdb7dd128
|
|
@ -28,6 +28,8 @@ public class Result {
|
||||||
private String format;
|
private String format;
|
||||||
@SerializedName("danmaku")
|
@SerializedName("danmaku")
|
||||||
private String danmaku;
|
private String danmaku;
|
||||||
|
@SerializedName("msg")
|
||||||
|
private String msg;
|
||||||
@SerializedName("url")
|
@SerializedName("url")
|
||||||
private Object url;
|
private Object url;
|
||||||
@SerializedName("subs")
|
@SerializedName("subs")
|
||||||
|
|
@ -85,6 +87,10 @@ public class Result {
|
||||||
return Result.get().vod(item).string();
|
return Result.get().vod(item).string();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String error(String msg) {
|
||||||
|
return Result.get().vod(Collections.emptyList()).msg(msg).string();
|
||||||
|
}
|
||||||
|
|
||||||
public static Result get() {
|
public static Result get() {
|
||||||
return new Result();
|
return new Result();
|
||||||
}
|
}
|
||||||
|
|
@ -159,6 +165,11 @@ public class Result {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Result msg(String msg) {
|
||||||
|
this.msg = msg;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public Result format(String format) {
|
public Result format(String format) {
|
||||||
this.format = format;
|
this.format = format;
|
||||||
return this;
|
return this;
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,19 @@
|
||||||
package com.github.catvod.debug;
|
package com.github.catvod.debug;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.os.Bundle;
|
import android.os.*;
|
||||||
|
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.webkit.CookieManager;
|
||||||
|
import android.webkit.WebView;
|
||||||
|
import android.webkit.WebViewClient;
|
||||||
import com.github.catvod.R;
|
import com.github.catvod.R;
|
||||||
import com.github.catvod.spider.Init;
|
import com.github.catvod.net.OkHttp;
|
||||||
|
import com.github.catvod.spider.*;
|
||||||
|
import org.apache.commons.lang3.StringEscapeUtils;
|
||||||
|
|
||||||
|
import static com.github.catvod.utils.Util.addView;
|
||||||
|
import static com.github.catvod.utils.Util.removeView;
|
||||||
|
|
||||||
public class MainActivity extends Activity {
|
public class MainActivity extends Activity {
|
||||||
|
|
||||||
|
|
@ -14,12 +23,64 @@ public class MainActivity extends Activity {
|
||||||
setContentView(R.layout.activity_main);
|
setContentView(R.layout.activity_main);
|
||||||
//Logger.addLogAdapter(new AndroidLogAdapter());
|
//Logger.addLogAdapter(new AndroidLogAdapter());
|
||||||
Init.init(getApplicationContext());
|
Init.init(getApplicationContext());
|
||||||
|
// It is usually init in the application.
|
||||||
new Thread(() -> {
|
new Thread(() -> {
|
||||||
try {
|
try {
|
||||||
|
|
||||||
|
bypassCf("https://www.czzy88.com/xssearch?q=斗罗");
|
||||||
|
while (cookie[0] == null) SystemClock.sleep(1000);
|
||||||
|
System.out.println(html);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}).start();
|
}).start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static final String[] cookie = new String[1];
|
||||||
|
static String html = "";
|
||||||
|
public static void bypassCf(String url) {
|
||||||
|
String content = OkHttp.string(url);
|
||||||
|
if (content.contains("Just a moment...")) {
|
||||||
|
Init.run(() -> {
|
||||||
|
WebView webView = new WebView(Init.context());
|
||||||
|
webView.getSettings().setDatabaseEnabled(true);
|
||||||
|
webView.getSettings().setDomStorageEnabled(true);
|
||||||
|
webView.getSettings().setJavaScriptEnabled(true);
|
||||||
|
ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams(0, 0);
|
||||||
|
addView(webView, layoutParams);
|
||||||
|
webView.setWebViewClient(new WebViewClient() {
|
||||||
|
@Override
|
||||||
|
public void onPageFinished(WebView view, String url1) {
|
||||||
|
cookie[0] = CookieManager.getInstance().getCookie(url1);
|
||||||
|
if (cookie[0] != null && cookie[0].contains("cf_clearance")) {
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
|
||||||
|
view.evaluateJavascript("(function() { return document.documentElement.outerHTML; })();",
|
||||||
|
html -> {
|
||||||
|
if (html != null && !html.isEmpty()) {
|
||||||
|
String htmlString = html.replaceAll("^\"+|\"+$", "");
|
||||||
|
MainActivity.html = StringEscapeUtils.unescapeJava(htmlString);
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (view != null) {
|
||||||
|
new Handler(Looper.getMainLooper()).post(() -> {
|
||||||
|
removeView(webView);
|
||||||
|
webView.destroy();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
webView.loadUrl(url);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
html = content;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -84,13 +84,14 @@ public class Kanqiu extends Spider {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String detailContent(List<String> ids) throws Exception {
|
public String detailContent(List<String> ids) throws Exception {
|
||||||
Document doc = Jsoup.parse(OkHttp.string(ids.get(0) + "-url", getHeader()));
|
if (ids.get(0).equals(siteUrl)) return Result.error("比賽尚未開始");
|
||||||
JSONArray jsonArray = new JSONArray(doc.text());
|
String content = OkHttp.string(ids.get(0) + "-url", getHeader());
|
||||||
|
JSONArray linksArray = new JSONObject(content).getJSONArray("links");
|
||||||
List<String> vodItems = new ArrayList<>();
|
List<String> vodItems = new ArrayList<>();
|
||||||
for (int i = 0; i < jsonArray.length(); i++) {
|
for (int i = 0; i < linksArray.length(); i++) {
|
||||||
JSONObject dataObject = jsonArray.getJSONObject(i);
|
JSONObject linkObject = linksArray.getJSONObject(i);
|
||||||
String text = dataObject.optString("name");
|
String text = linkObject.optString("name");
|
||||||
String href = dataObject.optString("url");
|
String href = linkObject.optString("url");
|
||||||
vodItems.add(text + "$" + href);
|
vodItems.add(text + "$" + href);
|
||||||
}
|
}
|
||||||
String vod_play_from = "Qile";
|
String vod_play_from = "Qile";
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ public class Zhaozy extends Ali {
|
||||||
|
|
||||||
private final Pattern regexAli = Pattern.compile("(https://www.aliyundrive.com/s/[^\"]+)");
|
private final Pattern regexAli = Pattern.compile("(https://www.aliyundrive.com/s/[^\"]+)");
|
||||||
private final Pattern regexVid = Pattern.compile("(\\S+)");
|
private final Pattern regexVid = Pattern.compile("(\\S+)");
|
||||||
private final String siteUrl = "https://zhaoziyuan.me/";
|
private final String siteUrl = "https://zhaoziyuan.pw/";
|
||||||
private String username;
|
private String username;
|
||||||
private String password;
|
private String password;
|
||||||
|
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -1 +1 @@
|
||||||
d793cc92ea62550b731392d15bacb859
|
55c157414346e3ff571baad0a223bf15
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"spider": "https://fm.t4tv.hz.cz/jar/custom_spider.jar;md5;d793cc92ea62550b731392d15bacb859",
|
"spider": "https://fm.t4tv.hz.cz/jar/custom_spider.jar;md5;55c157414346e3ff571baad0a223bf15",
|
||||||
"wallpaper": "https://gao.chuqiuyu.workers.dev",
|
"wallpaper": "https://gao.chuqiuyu.workers.dev",
|
||||||
"sites": [
|
"sites": [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"spider": "https://fm.t4tv.hz.cz/jar/custom_spider.jar;md5;d793cc92ea62550b731392d15bacb859",
|
"spider": "https://fm.t4tv.hz.cz/jar/custom_spider.jar;md5;55c157414346e3ff571baad0a223bf15",
|
||||||
"wallpaper": "http://饭太硬.top/深色壁纸/api.php",
|
"wallpaper": "http://饭太硬.top/深色壁纸/api.php",
|
||||||
"sites": [
|
"sites": [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue