pull/123/head
FongMi 3 years ago
parent 28df0380a7
commit 03e14d44e3
  1. 2
      app/src/main/java/com/fongmi/android/tv/model/SiteViewModel.java
  2. 1
      app/src/main/java/com/fongmi/android/tv/net/SSLSocketFactoryCompat.java
  3. 5
      app/src/main/java/com/fongmi/android/tv/ui/custom/CustomWebView.java
  4. 6
      app/src/main/java/com/fongmi/android/tv/utils/Sniffer.java
  5. 1
      drpy/src/main/java/com/hiker/drpy/net/SSLSocketFactoryCompat.java

@ -162,7 +162,7 @@ public class SiteViewModel extends ViewModel {
result.setUrl(url);
result.setFlag(flag);
result.setPlayUrl(site.getPlayUrl());
result.setParse(Sniffer.isVideo(url) && result.getPlayUrl().isEmpty() ? 0 : 1);
result.setParse(Sniffer.isVideoFormat(url) && result.getPlayUrl().isEmpty() ? 0 : 1);
return result;
}
});

@ -20,7 +20,6 @@ public class SSLSocketFactoryCompat extends SSLSocketFactory {
public static final HostnameVerifier hostnameVerifier = (hostname, session) -> true;
public static final X509TrustManager trustAllCert = new X509TrustManager() {
@Override
public void checkClientTrusted(X509Certificate[] chain, String authType) {
}

@ -21,7 +21,6 @@ import com.fongmi.android.tv.api.ApiConfig;
import com.fongmi.android.tv.bean.Site;
import com.fongmi.android.tv.impl.ParseCallback;
import com.fongmi.android.tv.utils.Sniffer;
import com.fongmi.android.tv.utils.Utils;
import com.github.catvod.crawler.Spider;
import java.io.ByteArrayInputStream;
@ -114,9 +113,9 @@ public class CustomWebView extends WebView {
Site site = ApiConfig.get().getSite(key);
Spider spider = ApiConfig.get().getCSP(site);
if (spider.manualVideoCheck()) return spider.isVideoFormat(url);
return Sniffer.isVideo(url, headers);
return Sniffer.isVideoFormat(url, headers);
} catch (Exception ignored) {
return Sniffer.isVideo(url, headers);
return Sniffer.isVideoFormat(url, headers);
}
}

@ -14,11 +14,11 @@ public class Sniffer {
public static final String CHROME = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36";
public static final Pattern RULE = Pattern.compile("http((?!http).){12,}?\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg|m4a|mp3)\\?.*|http((?!http).){12,}\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg|m4a|mp3)|http((?!http).)*?video/tos*");
public static boolean isVideo(String url) {
return isVideo(url, new HashMap<>());
public static boolean isVideoFormat(String url) {
return isVideoFormat(url, new HashMap<>());
}
public static boolean isVideo(String url, Map<String, String> headers) {
public static boolean isVideoFormat(String url, Map<String, String> headers) {
if (matchOrContain(url)) return true;
if (headers.containsKey("Accept") && headers.get("Accept").startsWith("image")) return false;
if (url.contains("url=http") || url.contains("v=http") || url.contains(".css") || url.contains(".html")) return false;

@ -20,7 +20,6 @@ public class SSLSocketFactoryCompat extends SSLSocketFactory {
public static final HostnameVerifier hostnameVerifier = (hostname, session) -> true;
public static final X509TrustManager trustAllCert = new X509TrustManager() {
@Override
public void checkClientTrusted(X509Certificate[] chain, String authType) {
}

Loading…
Cancel
Save