From e979a01a897e2362a50e7718a3d14beda4132813 Mon Sep 17 00:00:00 2001 From: FongMi Date: Sun, 20 Apr 2025 16:57:36 +0800 Subject: [PATCH] Bypass virtual nif --- .../java/com/github/catvod/utils/Util.java | 29 ++++++++++--------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/catvod/src/main/java/com/github/catvod/utils/Util.java b/catvod/src/main/java/com/github/catvod/utils/Util.java index a6e5e064c..c2133336a 100644 --- a/catvod/src/main/java/com/github/catvod/utils/Util.java +++ b/catvod/src/main/java/com/github/catvod/utils/Util.java @@ -126,6 +126,22 @@ public class Util { } } + private static String getHostAddress() throws SocketException { + for (Enumeration en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements(); ) { + NetworkInterface networkInterface = en.nextElement(); + byte[] mac = networkInterface.getHardwareAddress(); + String name = networkInterface.getName(); + if (mac == null || name.startsWith("veth") || name.startsWith("tun") || name.startsWith("tap")) continue; + for (Enumeration addresses = networkInterface.getInetAddresses(); addresses.hasMoreElements(); ) { + InetAddress inetAddress = addresses.nextElement(); + if (!inetAddress.isLoopbackAddress() && inetAddress instanceof Inet4Address) { + return inetAddress.getHostAddress(); + } + } + } + return ""; + } + public static String digest(String userInfo, String header, Request request) { Map params = parse(header.substring(7)); String[] parts = userInfo.split(":", 2); @@ -154,19 +170,6 @@ public class Util { return auth.toString(); } - private static String getHostAddress() throws SocketException { - for (Enumeration en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements(); ) { - NetworkInterface interfaces = en.nextElement(); - for (Enumeration addresses = interfaces.getInetAddresses(); addresses.hasMoreElements(); ) { - InetAddress inetAddress = addresses.nextElement(); - if (!inetAddress.isLoopbackAddress() && inetAddress instanceof Inet4Address) { - return inetAddress.getHostAddress(); - } - } - } - return ""; - } - private static Map parse(String header) { Map params = new HashMap<>(); for (String part : header.split(",\\s*")) {