CONECTA PRO v4.2.8版本的 MD5 值为:ad88cf9e66d8cdaae8c40233e50eb389
以下内容为反编译后的 a.java 源代码,内容仅作参考
package u8;
import a.d;
import android.content.pm.PackageManager;
import android.os.Build;
import android.preference.PreferenceManager;
import android.text.TextUtils;
import da.h;
import da.m;
import de.blinkt.openvpn.core.OpenVPNService;
import java.io.File;
import java.io.FileWriter;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import java.util.Locale;
import java.util.UUID;
import java.util.Vector;
import l9.l;
import l9.n;
import u7.c;
import v8.e;
import z8.b1;
public final class a implements Serializable, Cloneable {
public boolean A;
public String D;
public boolean E;
public String I;
public boolean K;
public boolean M;
public boolean N;
public boolean O;
public boolean P;
public boolean V;
public String f9872b0;
public String f9873c0;
public int f9874d0;
public e[] f9875e0;
public boolean f9876f0;
public String f9878h0;
public int f9879i0;
public int f9880j0;
public boolean f9881k0;
public UUID f9883m0;
public String f9885s;
public String f9886t;
public String f9888v;
public String f9889w;
public String f9890x;
public String f9892z;
public int f9884r = 2;
public String f9887u = "";
public boolean f9891y = true;
public String B = "8.8.8.8";
public String C = "8.8.4.4";
public String F = "blinkt.de";
public boolean G = true;
public boolean H = true;
public boolean J = true;
public String L = "";
public String Q = "";
public String R = "";
public boolean S = true;
public boolean T = true;
public String U = "";
public String W = "-1";
public String X = "2";
public String Y = "5";
public String Z = "";
public int f9871a0 = 3;
public HashSet f9877g0 = new HashSet();
public String f9882l0 = "openvpn.example.com";
public a() {
UUID randomUUID = UUID.randomUUID();
b1.n("randomUUID(...)", randomUUID);
this.f9883m0 = randomUUID;
this.f9885s = "converted Profile";
this.f9875e0 = new e[]{new e()};
System.currentTimeMillis();
}
public static String a(String str) {
List list;
boolean z10;
boolean z11;
b1.l(str);
List c10 = new h("/").c(0, str);
boolean isEmpty = c10.isEmpty();
List list2 = n.f7179r;
if (!isEmpty) {
ListIterator listIterator = c10.listIterator(c10.size());
while (listIterator.hasPrevious()) {
if (((String) listIterator.previous()).length() == 0) {
z11 = true;
continue;
} else {
z11 = false;
continue;
}
if (!z11) {
list = l.y(c10, listIterator.nextIndex() + 1);
break;
}
}
}
list = list2;
String[] strArr = (String[]) list.toArray(new String[0]);
if (strArr.length == 1) {
List n8 = d.n("/", 0, str.concat("/32"));
if (!n8.isEmpty()) {
ListIterator listIterator2 = n8.listIterator(n8.size());
while (true) {
if (!listIterator2.hasPrevious()) {
break;
}
if (((String) listIterator2.previous()).length() == 0) {
z10 = true;
continue;
} else {
z10 = false;
continue;
}
if (!z10) {
list2 = l.y(n8, listIterator2.nextIndex() + 1);
break;
}
}
}
strArr = (String[]) list2.toArray(new String[0]);
}
if (strArr.length != 2) {
return null;
}
try {
int parseInt = Integer.parseInt(strArr[1]);
if (parseInt >= 0 && parseInt <= 32) {
long j10 = (4294967295 << (32 - parseInt)) & 4294967295L;
String format = String.format(Locale.ENGLISH, "%d.%d.%d.%d", Arrays.copyOf(new Object[]{Long.valueOf((4278190080L & j10) >> 24), Long.valueOf((16711680 & j10) >> 16), Long.valueOf((65280 & j10) >> 8), Long.valueOf(j10 & 255)}, 4));
b1.n("format(locale, format, *args)", format);
return strArr[0] + " " + format;
}
} catch (NumberFormatException unused) {
}
return null;
}
public static Vector b(String str) {
Collection collection;
String[] strArr;
boolean z10;
Vector vector = new Vector();
if (str == null) {
return vector;
}
List n8 = d.n("[\n \t]", 0, str);
if (!n8.isEmpty()) {
ListIterator listIterator = n8.listIterator(n8.size());
while (listIterator.hasPrevious()) {
if (((String) listIterator.previous()).length() == 0) {
z10 = true;
continue;
} else {
z10 = false;
continue;
}
if (!z10) {
collection = l.y(n8, listIterator.nextIndex() + 1);
break;
}
}
}
collection = n.f7179r;
for (String str2 : (String[]) collection.toArray(new String[0])) {
if (!b1.g(str2, "")) {
String a10 = a(str2);
if (a10 == null) {
return vector;
}
vector.add(a10);
}
}
return vector;
}
public final void c(OpenVPNService openVPNService) {
String str;
String str2;
boolean z10;
String str3;
e[] eVarArr;
boolean z11;
e[] eVarArr2;
boolean z12;
int i10;
String str4;
int i11;
boolean z13;
Collection collection;
String[] strArr;
boolean z14;
int i12;
int i13;
e[] eVarArr3;
String str5;
String str6;
String str7;
String str8;
String str9;
String f10;
FileWriter fileWriter = new FileWriter(openVPNService.getCacheDir().getAbsolutePath() + "/android.conf");
File cacheDir = openVPNService.getCacheDir();
StringBuilder sb2 = new StringBuilder("# Config for OpenVPN 2.x\n# Enables connection to GUI\nmanagement ");
sb2.append(cacheDir.getAbsolutePath());
sb2.append("/openSocket unix\nmanagement-client\nmanagement-query-passwords\nmanagement-hold\n\n");
boolean z15 = true;
Object[] objArr = new Object[1];
try {
str = openVPNService.getPackageManager().getPackageInfo(openVPNService.getPackageName(), 0).versionName;
b1.n("versionName", str);
} catch (PackageManager.NameNotFoundException e10) {
e10.printStackTrace();
str = "unknown";
}
Locale locale = Locale.US;
String format = String.format(locale, "%s %s", Arrays.copyOf(new Object[]{openVPNService.getPackageName(), str}, 2));
b1.n("format(locale, format, *args)", format);
objArr[0] = c.g(format);
String format2 = String.format("setenv IV_GUI_VER %s \n", Arrays.copyOf(objArr, 1));
b1.n("format(format, *args)", format2);
sb2.append(format2);
sb2.append("setenv IV_SSO openurl,crtext\n");
Object[] objArr2 = new Object[6];
objArr2[0] = Integer.valueOf(Build.VERSION.SDK_INT);
objArr2[1] = Build.VERSION.RELEASE;
int i14 = v8.h.f10171a;
if (b1.g("robolectric", Build.FINGERPRINT)) {
str2 = "ROBO";
} else {
str2 = null;
}
objArr2[2] = str2;
objArr2[3] = Build.BRAND;
objArr2[4] = Build.BOARD;
objArr2[5] = Build.MODEL;
String format3 = String.format(locale, "%d %s %s %s %s %s", Arrays.copyOf(objArr2, 6));
b1.n("format(locale, format, *args)", format3);
String format4 = String.format("setenv IV_PLAT_VER %s\n", Arrays.copyOf(new Object[]{c.g(format3)}, 1));
b1.n("format(format, *args)", format4);
sb2.append(format4);
sb2.append("machine-readable-output\nallow-recursive-routing\nifconfig-nowarn\n");
if (this.f9884r != 4) {
z10 = true;
} else {
z10 = false;
}
if (z10 && this.H) {
str3 = "client\n";
} else if (this.H) {
str3 = "pull\n";
} else {
if (z10) {
str3 = "tls-client\n";
}
sb2.append("verb 4\n");
if (this.W == null) {
this.W = "-1";
}
if (!b1.g(this.W, "-1")) {
sb2.append("connect-retry-max ");
sb2.append(this.W);
sb2.append("\n");
}
if (TextUtils.isEmpty(this.X)) {
this.X = "2";
}
if (TextUtils.isEmpty(this.Y)) {
this.Y = "300";
}
sb2.append("connect-retry ");
sb2.append(this.X);
sb2.append(" ");
sb2.append(this.Y);
sb2.append("\nresolv-retry 60\ndev tun\n");
eVarArr = this.f9875e0;
if (eVarArr.length != 1) {
sb2.append(eVarArr[0].b());
z11 = true;
} else {
boolean z16 = true;
for (e eVar : eVarArr) {
if (z16) {
if (!TextUtils.isEmpty(eVar.f10154u) && eVar.f10155v) {
z12 = false;
} else {
z12 = true;
}
if (z12) {
z16 = true;
}
}
z16 = false;
}
if (this.f9876f0) {
sb2.append("remote-random\n");
}
if (z16) {
for (e eVar2 : this.f9875e0) {
if (eVar2.f10156w) {
sb2.append(eVar2.b());
}
}
}
z11 = z16;
}
i10 = this.f9884r;
String str10 = "ca";
if (i10 != 0) {
if (i10 != 1) {
if (i10 != 3) {
if (i10 != 5) {
if (i10 == 6) {
sb2.append("auth-user-pass\n");
sb2.append(c.f("pkcs12", this.f9892z));
}
i11 = this.f9884r;
if (i11 == 3 && i11 != 5 && i11 != 6 && i11 != 7) {
z13 = false;
} else {
z13 = true;
}
if (z13 && this.f9879i0 == 2) {
sb2.append("auth-retry nointeract\n");
}
if (!TextUtils.isEmpty(this.f9878h0)) {
sb2.append(c.f("crl-verify", this.f9878h0));
}
if (this.f9891y) {
sb2.append("comp-lzo\n");
}
if (this.A) {
String str11 = "tls-crypt";
boolean g10 = b1.g(this.f9887u, "tls-crypt");
boolean g11 = b1.g(this.f9887u, "tls-crypt-v2");
if (this.f9884r == 4) {
str11 = "secret";
} else if (!g10) {
if (g11) {
f10 = c.f("tls-crypt-v2", this.f9888v);
sb2.append(f10);
if (!TextUtils.isEmpty(this.f9887u) && !g10 && !g11) {
sb2.append("key-direction ");
sb2.append(this.f9887u);
sb2.append("\n");
}
} else {
str11 = "tls-auth";
}
}
f10 = c.f(str11, this.f9888v);
sb2.append(f10);
if (!TextUtils.isEmpty(this.f9887u)) {
sb2.append("key-direction ");
sb2.append(this.f9887u);
sb2.append("\n");
}
}
if (!this.H) {
if (!TextUtils.isEmpty(this.D)) {
sb2.append("ifconfig ");
sb2.append(a(this.D));
sb2.append("\n");
}
if (!TextUtils.isEmpty(null)) {
b1.l(null);
throw null;
}
}
if (this.H && this.M) {
sb2.append("route-nopull\n");
}
StringBuilder sb3 = new StringBuilder();
if (!this.G) {
sb3.append("route 0.0.0.0 0.0.0.0 vpn_gateway\n");
} else {
Iterator it = b(this.I).iterator();
while (it.hasNext()) {
sb3.append("route ");
sb3.append((String) it.next());
sb3.append(" vpn_gateway\n");
}
Iterator it2 = b(this.f9873c0).iterator();
while (it2.hasNext()) {
sb3.append("route ");
sb3.append((String) it2.next());
sb3.append(" net_gateway\n");
}
}
if (!this.T) {
sb2.append("route-ipv6 ::/0\n");
} else {
String str12 = this.U;
Vector vector = new Vector();
if (str12 != null) {
List n8 = d.n("[\n \t]", 0, str12);
if (!n8.isEmpty()) {
ListIterator listIterator = n8.listIterator(n8.size());
while (listIterator.hasPrevious()) {
if (((String) listIterator.previous()).length() == 0) {
z14 = true;
continue;
} else {
z14 = false;
continue;
}
if (!z14) {
collection = l.y(n8, listIterator.nextIndex() + 1);
break;
}
}
}
collection = n.f7179r;
for (String str13 : (String[]) collection.toArray(new String[0])) {
if (!b1.g(str13, "")) {
vector.add(str13);
}
}
}
Iterator it3 = vector.iterator();
while (it3.hasNext()) {
sb3.append("route-ipv6 ");
sb3.append((String) it3.next());
sb3.append("\n");
}
}
sb2.append((CharSequence) sb3);
if (!this.E || !this.H) {
if (!TextUtils.isEmpty(this.B)) {
sb2.append("dhcp-option DNS ");
sb2.append(this.B);
sb2.append("\n");
}
if (!TextUtils.isEmpty(this.C)) {
sb2.append("dhcp-option DNS ");
sb2.append(this.C);
sb2.append("\n");
}
if (!TextUtils.isEmpty(this.F)) {
sb2.append("dhcp-option DOMAIN ");
sb2.append(this.F);
sb2.append("\n");
}
}
i12 = this.f9874d0;
if (i12 != 0) {
if (i12 != 1450) {
str9 = String.format(Locale.US, "mssfix %d\n", Arrays.copyOf(new Object[]{Integer.valueOf(i12)}, 1));
b1.n("format(locale, format, *args)", str9);
} else {
str9 = "mssfix\n";
}
sb2.append(str9);
}
i13 = this.f9880j0;
if (i13 >= 48 && i13 != 1500) {
String format5 = String.format(Locale.US, "tun-mtu %d\n", Arrays.copyOf(new Object[]{Integer.valueOf(i13)}, 1));
b1.n("format(locale, format, *args)", format5);
sb2.append(format5);
}
if (this.S) {
sb2.append("nobind\n");
}
if (this.f9884r != 4) {
if (this.J) {
String str14 = this.L;
if (str14 != null && !b1.g(str14, "")) {
int i15 = this.f9871a0;
if (i15 != 0) {
if (i15 != 1) {
if (i15 != 2) {
if (i15 != 3) {
if (i15 == 4) {
sb2.append("verify-x509-name ");
sb2.append(c.g(this.L));
str7 = " name-prefix\n";
sb2.append(str7);
}
if (!TextUtils.isEmpty(this.f9872b0)) {
sb2.append("x509-username-field ");
sb2.append(c.g(this.f9872b0));
sb2.append("\n");
}
} else {
sb2.append("verify-x509-name ");
str6 = this.L;
}
} else {
sb2.append("verify-x509-name ");
sb2.append(c.g(this.L));
sb2.append("\n");
if (!TextUtils.isEmpty(this.f9872b0)) {
}
}
} else {
str8 = "compat-names no-remapping\ntls-remote ";
}
} else {
str8 = "tls-remote ";
}
sb2.append(str8);
sb2.append(c.g(this.L));
sb2.append("\n");
if (!TextUtils.isEmpty(this.f9872b0)) {
}
} else {
sb2.append("verify-x509-name ");
str6 = this.f9875e0[0].f10151r;
}
sb2.append(c.g(str6));
str7 = " name\n";
sb2.append(str7);
if (!TextUtils.isEmpty(this.f9872b0)) {
}
}
if (this.K) {
sb2.append("remote-cert-tls server\n");
}
}
if (!TextUtils.isEmpty(this.R)) {
sb2.append("cipher ");
sb2.append(this.R);
sb2.append("\n");
}
if (!TextUtils.isEmpty(this.Z)) {
sb2.append("auth ");
sb2.append(this.Z);
sb2.append("\n");
}
if (this.N) {
sb2.append("#my favorite options :)\nremote-random-hostname\n");
}
if (this.O) {
sb2.append("float\n");
}
if (this.V) {
sb2.append("persist-tun\n# persist-tun also enables pre resolving to avoid DNS resolve problem\npreresolve\n");
}
if (this.f9881k0) {
sb2.append("push-peer-info\n");
}
if (PreferenceManager.getDefaultSharedPreferences(openVPNService).getBoolean("usesystemproxy", true)) {
if (!this.P || (str5 = this.Q) == null || !m.l0(str5, "http-proxy-option ")) {
e[] eVarArr4 = this.f9875e0;
int length = eVarArr4.length;
int i16 = 0;
while (true) {
if (i16 < length) {
if (eVarArr4[i16].c()) {
break;
}
i16++;
} else {
z15 = false;
break;
}
}
}
if (!z15) {
sb2.append("# Use system proxy setting\nmanagement-query-proxy\n");
}
}
if (this.P) {
sb2.append("# Custom configuration options\n# You are on your on own here :)\n");
sb2.append(this.Q);
sb2.append("\n");
}
if (!z11) {
sb2.append("# Connection Options are at the end to allow global options (and global custom options) to influence connection blocks\n");
for (e eVar3 : this.f9875e0) {
if (eVar3.f10156w) {
sb2.append("<connection>\n");
sb2.append(eVar3.b());
sb2.append("</connection>\n");
}
}
}
String sb4 = sb2.toString();
b1.n("toString(...)", sb4);
fileWriter.write(sb4);
fileWriter.flush();
fileWriter.close();
}
sb2.append("auth-user-pass\n");
} else {
sb2.append("auth-user-pass\n");
}
str4 = this.f9890x;
} else {
sb2.append(c.f("pkcs12", this.f9892z));
}
sb2.append(c.f(str10, str4));
i11 = this.f9884r;
if (i11 == 3) {
}
z13 = true;
if (z13) {
sb2.append("auth-retry nointeract\n");
}
if (!TextUtils.isEmpty(this.f9878h0)) {
}
if (this.f9891y) {
}
if (this.A) {
}
if (!this.H) {
}
if (this.H) {
sb2.append("route-nopull\n");
}
StringBuilder sb32 = new StringBuilder();
if (!this.G) {
}
if (!this.T) {
}
sb2.append((CharSequence) sb32);
if (!this.E) {
}
if (!TextUtils.isEmpty(this.B)) {
}
if (!TextUtils.isEmpty(this.C)) {
}
if (!TextUtils.isEmpty(this.F)) {
}
i12 = this.f9874d0;
if (i12 != 0) {
}
i13 = this.f9880j0;
if (i13 >= 48) {
String format52 = String.format(Locale.US, "tun-mtu %d\n", Arrays.copyOf(new Object[]{Integer.valueOf(i13)}, 1));
b1.n("format(locale, format, *args)", format52);
sb2.append(format52);
}
if (this.S) {
}
if (this.f9884r != 4) {
}
if (!TextUtils.isEmpty(this.R)) {
}
if (!TextUtils.isEmpty(this.Z)) {
}
if (this.N) {
}
if (this.O) {
}
if (this.V) {
}
if (this.f9881k0) {
}
if (PreferenceManager.getDefaultSharedPreferences(openVPNService).getBoolean("usesystemproxy", true)) {
}
if (this.P) {
}
if (!z11) {
}
String sb42 = sb2.toString();
b1.n("toString(...)", sb42);
fileWriter.write(sb42);
fileWriter.flush();
fileWriter.close();
}
sb2.append(c.f("ca", this.f9890x));
sb2.append(c.f("key", this.f9889w));
str4 = this.f9886t;
str10 = "cert";
sb2.append(c.f(str10, str4));
i11 = this.f9884r;
if (i11 == 3) {
}
z13 = true;
if (z13) {
}
if (!TextUtils.isEmpty(this.f9878h0)) {
}
if (this.f9891y) {
}
if (this.A) {
}
if (!this.H) {
}
if (this.H) {
}
StringBuilder sb322 = new StringBuilder();
if (!this.G) {
}
if (!this.T) {
}
sb2.append((CharSequence) sb322);
if (!this.E) {
}
if (!TextUtils.isEmpty(this.B)) {
}
if (!TextUtils.isEmpty(this.C)) {
}
if (!TextUtils.isEmpty(this.F)) {
}
i12 = this.f9874d0;
if (i12 != 0) {
}
i13 = this.f9880j0;
if (i13 >= 48) {
}
if (this.S) {
}
if (this.f9884r != 4) {
}
if (!TextUtils.isEmpty(this.R)) {
}
if (!TextUtils.isEmpty(this.Z)) {
}
if (this.N) {
}
if (this.O) {
}
if (this.V) {
}
if (this.f9881k0) {
}
if (PreferenceManager.getDefaultSharedPreferences(openVPNService).getBoolean("usesystemproxy", true)) {
}
if (this.P) {
}
if (!z11) {
}
String sb422 = sb2.toString();
b1.n("toString(...)", sb422);
fileWriter.write(sb422);
fileWriter.flush();
fileWriter.close();
}
sb2.append(str3);
sb2.append("verb 4\n");
if (this.W == null) {
}
if (!b1.g(this.W, "-1")) {
}
if (TextUtils.isEmpty(this.X)) {
}
if (TextUtils.isEmpty(this.Y)) {
}
sb2.append("connect-retry ");
sb2.append(this.X);
sb2.append(" ");
sb2.append(this.Y);
sb2.append("\nresolv-retry 60\ndev tun\n");
eVarArr = this.f9875e0;
if (eVarArr.length != 1) {
}
i10 = this.f9884r;
String str102 = "ca";
if (i10 != 0) {
}
sb2.append(c.f("ca", this.f9890x));
sb2.append(c.f("key", this.f9889w));
str4 = this.f9886t;
str102 = "cert";
sb2.append(c.f(str102, str4));
i11 = this.f9884r;
if (i11 == 3) {
}
z13 = true;
if (z13) {
}
if (!TextUtils.isEmpty(this.f9878h0)) {
}
if (this.f9891y) {
}
if (this.A) {
}
if (!this.H) {
}
if (this.H) {
}
StringBuilder sb3222 = new StringBuilder();
if (!this.G) {
}
if (!this.T) {
}
sb2.append((CharSequence) sb3222);
if (!this.E) {
}
if (!TextUtils.isEmpty(this.B)) {
}
if (!TextUtils.isEmpty(this.C)) {
}
if (!TextUtils.isEmpty(this.F)) {
}
i12 = this.f9874d0;
if (i12 != 0) {
}
i13 = this.f9880j0;
if (i13 >= 48) {
}
if (this.S) {
}
if (this.f9884r != 4) {
}
if (!TextUtils.isEmpty(this.R)) {
}
if (!TextUtils.isEmpty(this.Z)) {
}
if (this.N) {
}
if (this.O) {
}
if (this.V) {
}
if (this.f9881k0) {
}
if (PreferenceManager.getDefaultSharedPreferences(openVPNService).getBoolean("usesystemproxy", true)) {
}
if (this.P) {
}
if (!z11) {
}
String sb4222 = sb2.toString();
b1.n("toString(...)", sb4222);
fileWriter.write(sb4222);
fileWriter.flush();
fileWriter.close();
}
public final Object clone() {
Object clone = super.clone();
b1.m("null cannot be cast to non-null type de.blinkt.openvpn.VpnProfile", clone);
a aVar = (a) clone;
UUID randomUUID = UUID.randomUUID();
b1.n("randomUUID(...)", randomUUID);
aVar.f9883m0 = randomUUID;
e[] eVarArr = this.f9875e0;
ArrayList arrayList = new ArrayList(eVarArr.length);
for (e eVar : eVarArr) {
arrayList.add(eVar.clone());
}
aVar.f9875e0 = (e[]) arrayList.toArray(new e[0]);
Object clone2 = this.f9877g0.clone();
b1.m("null cannot be cast to non-null type java.util.HashSet<kotlin.String?>{ kotlin.collections.TypeAliasesKt.HashSet<kotlin.String?> }", clone2);
aVar.f9877g0 = (HashSet) clone2;
return aVar;
}
public final boolean equals(Object obj) {
if (obj instanceof a) {
return b1.g(this.f9883m0, ((a) obj).f9883m0);
}
return false;
}
public final String toString() {
return this.f9885s;
}
}