Clean catvod code

release
FongMi 1 month ago
parent 8c50808dc3
commit 87265ed79f
  1. 3
      catvod/src/main/java/com/github/catvod/bean/Proxy.java
  2. 2
      catvod/src/main/java/com/github/catvod/net/OkAuthenticator.java
  3. 4
      catvod/src/main/java/com/github/catvod/net/OkProxySelector.java
  4. 1
      catvod/src/main/java/com/github/catvod/net/interceptor/ResponseInterceptor.java
  5. 11
      catvod/src/main/java/com/github/catvod/utils/Auth.java
  6. 3
      catvod/src/main/java/com/github/catvod/utils/Util.java

@ -10,12 +10,9 @@ import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.net.InetSocketAddress;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
public class Proxy implements Comparable<Proxy> {

@ -7,10 +7,10 @@ import androidx.annotation.Nullable;
import com.github.catvod.bean.Proxy;
import com.github.catvod.utils.Auth;
import com.github.catvod.utils.Util;
import com.google.common.net.HttpHeaders;
import java.net.InetSocketAddress;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;

@ -7,12 +7,8 @@ import java.io.IOException;
import java.net.ProxySelector;
import java.net.SocketAddress;
import java.net.URI;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.function.Consumer;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class OkProxySelector extends ProxySelector {

@ -9,7 +9,6 @@ import com.github.catvod.utils.Util;
import com.google.common.net.HttpHeaders;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;

@ -2,6 +2,7 @@ package com.github.catvod.utils;
import android.util.Base64;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@ -14,11 +15,11 @@ import okhttp3.Request;
public class Auth {
private static final Pattern DIGEST = Pattern.compile("(\\w+)=\\s*([^,]+)\\s*");
private static final Pattern DIGEST = Pattern.compile("(\\w+)=(?:\"([^\"]*)\"|([^,\\s\"]+))");
public static String basic(String userInfo) {
if (!userInfo.contains(":")) userInfo += ":";
return "Basic " + Base64.encodeToString(userInfo.getBytes(), Base64.NO_WRAP);
return "Basic " + Base64.encodeToString(userInfo.getBytes(StandardCharsets.UTF_8), Base64.NO_WRAP);
}
public static String digest(String userInfo, String header, Request request) {
@ -77,7 +78,11 @@ public class Auth {
private static Map<String, String> parseDigest(String header) {
Map<String, String> params = new HashMap<>();
Matcher matcher = DIGEST.matcher(header.trim());
while (matcher.find()) params.put(matcher.group(1), matcher.group(2).replaceAll("\"", "").trim());
while (matcher.find()) {
String key = matcher.group(1);
String value = matcher.group(2) != null ? matcher.group(2) : matcher.group(3);
if (value != null) params.put(key, value.trim());
}
return params;
}
}

@ -14,6 +14,7 @@ import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Enumeration;
@ -65,7 +66,7 @@ public class Util {
try {
if (TextUtils.isEmpty(src)) return "";
MessageDigest digest = MessageDigest.getInstance("MD5");
byte[] bytes = digest.digest(src.getBytes());
byte[] bytes = digest.digest(src.getBytes(StandardCharsets.UTF_8));
BigInteger no = new BigInteger(1, bytes);
StringBuilder sb = new StringBuilder(no.toString(16));
while (sb.length() < 32) sb.insert(0, "0");

Loading…
Cancel
Save