KLALB V3.4

This commit is contained in:
Administrator
2025-11-15 11:08:16 +08:00
parent 306bfd36f7
commit 8842566ee2
160 changed files with 18540 additions and 4512 deletions
+20 -11
View File
@@ -17,6 +17,7 @@ import javax.swing.JFrame;
import org.kne.cloud.network.MultipurposeSocketAddress;
import org.kne.cloud.network.SocketChannelListener;
import org.kne.cloud.network.SocketListener;
import org.kne.cloud.network.ipv6.IPv6NetworkLink;
import org.kne.cloud.network.ipv6.RouteItem;
import org.kne.cloud.network.klalb.ui.KLALBStateGUI2;
import org.kne.cloud.network.klalb.ui.KLALBStateGUI3;
@@ -25,6 +26,7 @@ import org.kne.cloud.network.perf.Kperf;
import org.kne.cloud.network.perf.MemcpyBenchmark;
import org.kne.cloud.network.perf.NodeBenchmark;
import org.kne.debug.Debuger;
import org.kne.debug.TimeDebugger;
public class KLALBMain {
public static KLALBStateGUI3 ksg;
@@ -36,18 +38,23 @@ public class KLALBMain {
}
System.out.println(CONST.klalb+" V"+CONST.klalbver);
Scanner scn=new Scanner(System.in);
TimeDebugger dtb=new TimeDebugger();
dtb.putTime("Start");
File configJson=new File("klalb-config.json");
KLALBProxySystem kpcje=new KLALBProxySystem();
dtb.putTime("Create");
kpcje.loadConfigJson(configJson);
dtb.putTime("Load");
System.out.println("SRv6地址:"+kpcje.getKlalbController().getSelf().getAddress().getHostAddress());
try {
if(!kpcje.getControllerConfig().isNogui())
openGUI(kpcje);
openGUI(kpcje);
}catch(Throwable e) {
e.printStackTrace();
}
dtb.putTime("UI");
//dtb.print();
/*MultipurposeSocketAddress mpa=new MultipurposeSocketAddress("127.9.9.9", 49573);
kpcje.enableRemoteManagement(mpa);
System.out.println("远程管理端口已在"+mpa+"端口上开启");*/
@@ -58,7 +65,7 @@ public class KLALBMain {
SocketChannelListener stlr=new SocketChannelListener(kpsvr);
stlr.setCon((scl)->{
try {
new Kperf(new StreamChannelKLALBPacketLink(scl)).startPerfing();
new Kperf(new StreamChannelKLALBPacketLink(scl,false)).startPerfing();
} catch (IOException e) {
e.printStackTrace();
}
@@ -92,10 +99,12 @@ public class KLALBMain {
System.out.println("线路状态:");
System.out.println("状态\t上传流量\t下载流量\t上传速度\t下载速度\t上传延迟\t下载延迟\t上传抖动\t下载抖动");
synchronized (kpcje.getKlalbController().getLines()) {
for (Iterator<KLALBRemoteLine> iterator = kpcje.getKlalbController().getLines().iterator(); iterator.hasNext();) {
KLALBRemoteLine hostPort = iterator.next();
for (Iterator<IPv6NetworkLink> iterator = kpcje.getKlalbController().getLines().iterator(); iterator.hasNext();) {
IPv6NetworkLink link=iterator.next();
if(link instanceof KLALBRemoteLine) {
KLALBRemoteLine hostPort = (KLALBRemoteLine) link;
System.out.println(hostPort .toString());
//System.out.println();
}
}
}
break;
@@ -209,13 +218,13 @@ public class KLALBMain {
}
private static void openGUI(KLALBProxySystem kpcje) throws RuntimeException{
/*JFrame jf=new JFrame();
jf.setSize(200, 200);
jf.setVisible(true);*/
if(ksg==null)
Thread t=new Thread(()->{
if(ksg==null) {
ksg=kpcje.getKLALBGUI();
}
ksg.setVisible(true);
//System.out.println("UI loaded");
});
t.start();
}
}