This commit is contained in:
GH Action - Upstream Sync 2023-09-19 12:31:41 +00:00
commit 465f66c600
5 changed files with 44 additions and 4 deletions

View File

@ -1,13 +1,20 @@
package com.github.catvod.net; package com.github.catvod.net;
import android.net.Uri;
import android.text.TextUtils;
import com.github.catvod.crawler.Spider; import com.github.catvod.crawler.Spider;
import java.io.IOException; import java.io.IOException;
import java.net.Authenticator;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import okhttp3.Call; import okhttp3.Call;
import okhttp3.Credentials;
import okhttp3.Dns; import okhttp3.Dns;
import okhttp3.Headers; import okhttp3.Headers;
import okhttp3.OkHttpClient; import okhttp3.OkHttpClient;
@ -36,7 +43,9 @@ public class OkHttp {
} }
public static OkHttpClient.Builder getBuilder() { public static OkHttpClient.Builder getBuilder() {
return new OkHttpClient.Builder().dns(safeDns()).readTimeout(30, TimeUnit.SECONDS).writeTimeout(30, TimeUnit.SECONDS).connectTimeout(30, TimeUnit.SECONDS).hostnameVerifier(SSLCompat.VERIFIER).sslSocketFactory(new SSLCompat(), SSLCompat.TM); OkHttpClient.Builder builder = new OkHttpClient.Builder().dns(safeDns()).readTimeout(30, TimeUnit.SECONDS).writeTimeout(30, TimeUnit.SECONDS).connectTimeout(30, TimeUnit.SECONDS).hostnameVerifier(SSLCompat.VERIFIER).sslSocketFactory(new SSLCompat(), SSLCompat.TM);
if (!TextUtils.isEmpty(proxy())) setProxy(builder);
return builder;
} }
public static OkHttpClient client() { public static OkHttpClient client() {
@ -55,6 +64,22 @@ public class OkHttp {
} }
} }
public static String proxy() {
try {
return (String) Spider.class.getMethod("proxy").invoke(null);
} catch (Exception e) {
return null;
}
}
public static Authenticator auth() {
try {
return (Authenticator) Spider.class.getMethod("auth").invoke(null);
} catch (Exception e) {
return null;
}
}
public static Response newCall(String url) throws IOException { public static Response newCall(String url) throws IOException {
return client().newCall(new Request.Builder().url(url).build()).execute(); return client().newCall(new Request.Builder().url(url).build()).execute();
} }
@ -138,4 +163,19 @@ public class OkHttp {
if (headers.containsKey("Location")) return headers.get("Location").get(0); if (headers.containsKey("Location")) return headers.get("Location").get(0);
return null; return null;
} }
private static void setProxy(OkHttpClient.Builder builder) {
Uri uri = Uri.parse(proxy());
String userInfo = uri.getUserInfo();
if (uri.getScheme() != null && uri.getScheme().startsWith("socks")) {
builder.proxy(new Proxy(Proxy.Type.SOCKS, InetSocketAddress.createUnresolved(uri.getHost(), uri.getPort())));
}
if (uri.getScheme() != null && uri.getScheme().startsWith("http")) {
builder.proxy(new Proxy(Proxy.Type.HTTP, InetSocketAddress.createUnresolved(uri.getHost(), uri.getPort())));
if (userInfo != null && userInfo.contains(":")) builder.proxyAuthenticator((route, response) -> {
String credential = Credentials.basic(userInfo.split(":")[0], userInfo.split(":")[1]);
return response.request().newBuilder().header("Proxy-Authorization", credential).build();
});
}
}
} }

Binary file not shown.

View File

@ -1 +1 @@
805e97263746889cf1405e74ec9d0824 17be876e842892abafa9dd0306e63cc3

View File

@ -1,5 +1,5 @@
{ {
"spider": "https://fongmi.cachefly.net/FongMi/CatVodSpider/main/jar/custom_spider.jar;md5;805e97263746889cf1405e74ec9d0824", "spider": "https://fongmi.cachefly.net/FongMi/CatVodSpider/main/jar/custom_spider.jar;md5;17be876e842892abafa9dd0306e63cc3",
"wallpaper": "https://gao.chuqiuyu.tk", "wallpaper": "https://gao.chuqiuyu.tk",
"sites": [ "sites": [
{ {

View File

@ -1,5 +1,5 @@
{ {
"spider": "https://fongmi.cachefly.net/FongMi/CatVodSpider/main/jar/custom_spider.jar;md5;805e97263746889cf1405e74ec9d0824", "spider": "https://fongmi.cachefly.net/FongMi/CatVodSpider/main/jar/custom_spider.jar;md5;17be876e842892abafa9dd0306e63cc3",
"wallpaper": "http://饭太硬.top/深色壁纸/api.php", "wallpaper": "http://饭太硬.top/深色壁纸/api.php",
"sites": [ "sites": [
{ {