CCIPTV PRO v3.0.9.1版本的 MD5 值为:e78d4d980447be4a9f823314f45bbf03

以下内容为反编译后的 c.java 源代码,内容仅作参考


package f.j.a.h.i;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
public class c extends Thread {
    public HashMap<Integer, String> b = new HashMap<>();
    public HashMap<Integer, List<String>> c = new HashMap<>();
    public double f10108d = 0.0d;
    public double f10109e = 0.0d;
    public boolean f10110f = false;

    public HashMap<Integer, String> a() {
        return this.b;
    }

    public double b() {
        return this.f10108d;
    }

    public double c() {
        return this.f10109e;
    }

    public HashMap<Integer, List<String>> d() {
        return this.c;
    }

    public boolean e() {
        return this.f10110f;
    }

    @Override
    public void run() {
        try {
            HttpURLConnection httpURLConnection = (HttpURLConnection) new URL("https://www.speedtest.net/speedtest-config.php").openConnection();
            httpURLConnection.getContentLength();
            char c = 0;
            char c2 = 1;
            if (httpURLConnection.getResponseCode() == 200) {
                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream()));
                while (true) {
                    String readLine = bufferedReader.readLine();
                    if (readLine != null) {
                        if (readLine.contains("isp=")) {
                            this.f10108d = Double.parseDouble(readLine.split("lat=\"")[1].split(" ")[0].replace("\"", ""));
                            this.f10109e = Double.parseDouble(readLine.split("lon=\"")[1].split(" ")[0].replace("\"", ""));
                            break;
                        }
                    } else {
                        break;
                    }
                }
                bufferedReader.close();
            }
            try {
                HttpURLConnection httpURLConnection2 = (HttpURLConnection) new URL("https://www.speedtest.net/speedtest-servers-static.php").openConnection();
                if (httpURLConnection2.getResponseCode() == 200) {
                    BufferedReader bufferedReader2 = new BufferedReader(new InputStreamReader(httpURLConnection2.getInputStream()));
                    int i2 = 0;
                    while (true) {
                        String readLine2 = bufferedReader2.readLine();
                        if (readLine2 == null) {
                            break;
                        } else if (readLine2.contains("<server url")) {
                            String str = readLine2.split("server url=\"")[c2].split("\"")[c];
                            String str2 = readLine2.split("lat=\"")[c2].split("\"")[c];
                            String str3 = readLine2.split("lon=\"")[c2].split("\"")[c];
                            String str4 = readLine2.split("name=\"")[c2].split("\"")[c];
                            String str5 = readLine2.split("country=\"")[c2].split("\"")[c];
                            String str6 = readLine2.split("cc=\"")[c2].split("\"")[c];
                            String str7 = readLine2.split("sponsor=\"")[c2].split("\"")[c];
                            c = 0;
                            List<String> asList = Arrays.asList(str2, str3, str4, str5, str6, str7, readLine2.split("host=\"")[c2].split("\"")[0]);
                            this.b.put(Integer.valueOf(i2), str);
                            this.c.put(Integer.valueOf(i2), asList);
                            i2++;
                            c2 = 1;
                        }
                    }
                    bufferedReader2.close();
                }
            } catch (Exception e2) {
                e2.printStackTrace();
            }
            this.f10110f = true;
        } catch (Exception e3) {
            e3.printStackTrace();
        }
    }
}