正在查看: КЛ£ v1.0.0 应用的 NetWorkManager.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: КЛ£ v1.0.0 应用的 NetWorkManager.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package im.pggrnmxjgs.network;
import android.util.Log;
import com.app.protect.AppProtectManager;
import com.csm.shield.FunctionPointer;
import com.csm.shield.GameShield;
import com.king.zxing.util.LogUtils;
import im.pggrnmxjgs.messenger.AndroidUtilities;
import im.pggrnmxjgs.messenger.ApplicationLoader;
import im.pggrnmxjgs.messenger.FileLog;
import im.pggrnmxjgs.messenger.NotificationCenter;
import im.pggrnmxjgs.messenger.UserConfig;
import im.pggrnmxjgs.network.DohNet;
import im.pggrnmxjgs.network.DotNet;
import im.pggrnmxjgs.network.NetWorkManager;
import im.pggrnmxjgs.network.OSSNet;
import im.pggrnmxjgs.tgnet.ConnectionsManager;
import im.pggrnmxjgs.tgnet.NetBean;
import im.pggrnmxjgs.ui.utils.AesUtils;
import java.util.ArrayList;
public class NetWorkManager {
private static NetWorkManager instance;
public ArrayList<NetBean> connInfos = new ArrayList<>();
private DotNet dotNet = new DotNet();
private DohNet dohNet = new DohNet();
private OSSNet ossNet = new OSSNet();
protected int currentAccount = UserConfig.selectedAccount;
private String ymStr = "server 1";
private boolean isInitB = false;
private boolean isInitA = false;
private int connectPort = NetworkConstant.APORT;
private boolean isConnecting = false;
private ArrayList<NetBean> dotList = new ArrayList<>();
private boolean isGetDotIng = false;
private ArrayList<NetBean> dohList = new ArrayList<>();
private boolean isGetDohIng = false;
private ArrayList<NetBean> ossList = new ArrayList<>();
private boolean isGetOssIng = false;
public static synchronized NetWorkManager getInstance() {
NetWorkManager netWorkManager;
synchronized (NetWorkManager.class) {
if (instance == null) {
instance = new NetWorkManager();
}
netWorkManager = instance;
}
return netWorkManager;
}
public void initNetWork() {
Log.d("bond", "网络数据初始化");
setServer2("server 0");
connectsNet(this.currentAccount);
}
public void setServer2(final String str) {
AndroidUtilities.runOnUIThread(new Runnable() {
@Override
public final void run() {
NotificationCenter.getInstance(0).postNotificationName(NotificationCenter.getBackupIpStatus, str);
}
});
}
public void restartApplication() {
this.isInitA = false;
connectsNet(this.currentAccount);
}
private void connectsNet2(int currentAccount) {
if (!this.isInitB) {
GameShield.sdkInitEx(NetworkConstant.BKEY, new FunctionPointer() {
public final void Run(int i) {
NetWorkManager.this.lambda$connectsNet2$1$NetWorkManager(i);
}
});
}
for (int i = 0; i < 3; i++) {
ConnectionsManager.getInstance(i).setAddress(currentAccount, "127.0.0.1", getGameShieldConfig());
}
}
public void lambda$connectsNet2$1$NetWorkManager(int status) {
FileLog.d("游戏盾初始化 完成initExGame---> " + status);
boolean z = status == 0;
this.isInitB = z;
setServer2(z ? "server 2" : "server 1");
Log.d("bond", "游戏盾初始化 = " + status);
}
private int getGameShieldConfig() {
int listenPort = GameShield.getListenPort(NetworkConstant.BPORT);
Log.d("bond", "游戏盾端口 = " + listenPort);
if (listenPort <= 0) {
return NetworkConstant.BPORT;
}
return listenPort;
}
private void connectsNet(int currentAccount) {
if (!this.isInitA) {
String start = AppProtectManager.init(ApplicationLoader.applicationContext, NetworkConstant.AKEY, "Tsss", String.valueOf(NetworkConstant.APORT));
String[] ports = start.split(",");
this.isInitA = ports.length >= 2;
if (ports.length > 0 && Integer.parseInt(ports[ports.length - 1]) > 1) {
this.connectPort = Integer.parseInt(ports[ports.length - 1]);
}
setServer2(this.isInitA ? "server 2" : "server 1");
Log.d("bond", "connectsNet = " + start);
}
for (int i = 0; i < 3; i++) {
ConnectionsManager.getInstance(i).setAddress(currentAccount, "127.0.0.1", this.connectPort);
}
}
public void reassignIP() {
boolean isreass = AppProtectManager.reassignIP();
if (!isreass) {
int test = AppProtectManager.testActivity();
if (test > 0) {
restartApplication();
}
}
}
public void conenctNetWork(ArrayList<NetBean> list) {
Log.d("bond", "网络节点连接");
this.connInfos.addAll(list);
if (this.isConnecting) {
return;
}
applyDatacenterAddress(this.currentAccount, false);
}
public void applyDatacenterAddress(int currentAccount, boolean isDel) {
connectsNet(currentAccount);
}
private void initDot() {
Log.d("bond", "初始化dot isGetDotIng = " + this.isGetDotIng);
if (this.isGetDotIng) {
return;
}
this.isGetDotIng = true;
this.dotNet.sendDoTRequest(new AnonymousClass1());
}
class AnonymousClass1 implements DotNet.DotCallback {
AnonymousClass1() {
}
@Override
public void onSuccess(final ArrayList<NetBean> data) {
AndroidUtilities.runOnUIThread(new Runnable() {
@Override
public final void run() {
NetWorkManager.AnonymousClass1.this.lambda$onSuccess$0$NetWorkManager$1(data);
}
});
NetWorkManager.this.isGetDotIng = false;
}
public void lambda$onSuccess$0$NetWorkManager$1(ArrayList data) {
NetWorkManager.this.dotList.clear();
NetWorkManager.this.dotList.addAll(data);
NetWorkManager.this.setServer2(NetWorkManager.this.ymStr + "+dot");
NetWorkManager netWorkManager = NetWorkManager.this;
netWorkManager.conenctNetWork(netWorkManager.dotList);
}
@Override
public void onFail(String msg) {
NetWorkManager.this.isGetDotIng = false;
}
}
private void initDOH() {
Log.d("bond", "初始化doh isGetDohIng = " + this.isGetDohIng);
if (this.isGetDohIng) {
return;
}
this.isGetDohIng = true;
this.dohNet.sendDohRequest(new AnonymousClass2());
}
class AnonymousClass2 implements DohNet.DohCallback {
AnonymousClass2() {
}
@Override
public void onSuccess(final DOHBean bean) {
AndroidUtilities.runOnUIThread(new Runnable() {
@Override
public final void run() {
NetWorkManager.AnonymousClass2.this.lambda$onSuccess$0$NetWorkManager$2(bean);
}
});
NetWorkManager.this.isGetDohIng = false;
}
public void lambda$onSuccess$0$NetWorkManager$2(DOHBean bean) {
NetWorkManager.this.dohList.clear();
if (bean != null && bean.getAnswer() != null) {
for (int i = 0; i < bean.getAnswer().size(); i++) {
String ipAddress = bean.getAnswer().get(i).getData();
NetBean netBean = new NetBean(null, ipAddress, NetworkConstant.PORT);
NetWorkManager.this.dohList.add(netBean);
Log.d("bond", "doh IP====" + i + "====" + ipAddress);
}
NetWorkManager.this.setServer2(NetWorkManager.this.ymStr + "+doh");
NetWorkManager netWorkManager = NetWorkManager.this;
netWorkManager.conenctNetWork(netWorkManager.dohList);
}
}
@Override
public void onFail() {
NetWorkManager.this.isGetDohIng = false;
}
}
private void initOss() {
Log.d("bond", "初始化oss isGetOssIng = " + this.isGetOssIng);
if (this.isGetOssIng) {
return;
}
this.ossNet.initOssNet(new AnonymousClass3());
}
class AnonymousClass3 implements OSSNet.OSSCallback {
AnonymousClass3() {
}
@Override
public void onSuccess(final String text) {
AndroidUtilities.runOnUIThread(new Runnable() {
@Override
public final void run() {
NetWorkManager.AnonymousClass3.this.lambda$onSuccess$0$NetWorkManager$3(text);
}
});
NetWorkManager.this.isGetOssIng = false;
}
public void lambda$onSuccess$0$NetWorkManager$3(String text) {
NetWorkManager.this.ossList.clear();
try {
byte[] rets = AesUtils.decryptYunceng(text);
String retStr = new String(rets);
LogUtils.e("oss获取成功====" + retStr);
Log.d("bond", "oss获取成功====" + retStr);
String[] arrConn = retStr.split(",", 3);
for (int i = 0; i < arrConn.length; i++) {
String connInfo = arrConn[i];
if (i != arrConn.length - 1) {
String[] split = connInfo.split(":", 2);
NetBean netBean = new NetBean(null, split[0], split[1]);
NetWorkManager.this.ossList.add(netBean);
} else {
String[] split2 = connInfo.split("#", 3);
NetBean netBean2 = new NetBean(split2[0], split2[1], split2[2]);
NetWorkManager.this.ossList.add(netBean2);
}
}
NetWorkManager.this.setServer2(NetWorkManager.this.ymStr + "+oss");
NetWorkManager.this.conenctNetWork(NetWorkManager.this.ossList);
} catch (Exception e) {
Log.d("bond", "oss解密失败====");
}
}
@Override
public void onFail() {
NetWorkManager.this.isGetOssIng = false;
}
}
}