Add files via upload
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
package com.github.catvod.spider;
|
||||
|
||||
import android.util.Base64;
|
||||
|
||||
import com.github.catvod.crawler.Spider;
|
||||
import com.github.catvod.crawler.SpiderDebug;
|
||||
import com.github.catvod.live.TxtSubscribe;
|
||||
import com.github.catvod.utils.okhttp.OkHttpUtil;
|
||||
import com.github.catvod.parser.MixDemo;
|
||||
import com.github.catvod.parser.MixWeb;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.util.Map;
|
||||
|
||||
public class Proxy extends Spider {
|
||||
|
||||
public static int localPort = -1;
|
||||
|
||||
static void adjustLocalPort() {
|
||||
if (localPort > 0)
|
||||
return;
|
||||
int port = 9978;
|
||||
while (port < 10000) {
|
||||
String resp = OkHttpUtil.string("http://127.0.0.1:" + port + "/proxy?do=ck", null);
|
||||
if (resp.equals("ok")) {
|
||||
SpiderDebug.log("Found local server port " + port);
|
||||
localPort = port;
|
||||
break;
|
||||
}
|
||||
port++;
|
||||
}
|
||||
}
|
||||
|
||||
public static String localProxyUrl() {
|
||||
adjustLocalPort();
|
||||
return "http://127.0.0.1:" + Proxy.localPort + "/proxy";
|
||||
}
|
||||
|
||||
public static Object[] proxy(Map<String, String> params) {
|
||||
try {
|
||||
String what = params.get("do");
|
||||
if (what.equals("live")) {
|
||||
String type = params.get("type");
|
||||
if (type.equals("txt")) {
|
||||
String ext = params.get("ext");
|
||||
if (!ext.startsWith("http")) {
|
||||
ext = new String(Base64.decode(ext, Base64.DEFAULT | Base64.URL_SAFE | Base64.NO_WRAP), "UTF-8");
|
||||
}
|
||||
return TxtSubscribe.load(ext);
|
||||
}
|
||||
} else if (what.equals("ck")) {
|
||||
Object[] result = new Object[3];
|
||||
result[0] = 200;
|
||||
result[1] = "text/plain; charset=utf-8";
|
||||
ByteArrayInputStream baos = new ByteArrayInputStream("ok".getBytes("UTF-8"));
|
||||
result[2] = baos;
|
||||
return result;
|
||||
}
|
||||
else if (what.equals("MixWeb")) {
|
||||
return MixWeb.loadHtml(params.get("flag"), params.get("url"));
|
||||
}
|
||||
|
||||
} catch (Throwable th) {
|
||||
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user