proxy list taken out to config.json

This commit is contained in:
BelPE 2023-03-29 17:12:35 +08:00
parent 9b3e1182ab
commit 00dca3eea7
3 changed files with 53 additions and 1 deletions

6
.idea/vcs.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

View File

@ -8,10 +8,12 @@ import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.net.*;
import java.util.List;
import java.util.Locale;
import static javax.swing.JOptionPane.showMessageDialog;
import static org.dhaverdLogs.DhaverdLogs.*;
import static org.proxy.loadConfig.getProxyList;
import static org.proxy.loadConfig.getSocketPort;
public class Main {
@ -53,7 +55,7 @@ public class Main {
setLog(context, "Local Socket Address: "+serverSocket.getLocalSocketAddress(), true, false);
}
public static void systemTray() throws IOException {
public static void systemTray() throws IOException, ParseException {
String context = "SystemTray";
if(! SystemTray.isSupported() ) {
setLog(context,"System tray is unsupported!", true, false);
@ -65,6 +67,17 @@ public class Main {
} else {
trayFont = new Font("Arial", Font.PLAIN, 12);
}
List<String> proxyList = getProxyList();
int counter = 1;
PopupMenu trayMenu = new PopupMenu();
for (String prox : proxyList){
MenuItem proxy = new MenuItem(prox);
counter++;
proxy.setFont(trayFont);
proxy.addActionListener(proxyListener(prox));
trayMenu.add(proxy);
}
/*
PopupMenu trayMenu = new PopupMenu();
MenuItem proxyOn = new MenuItem("Proxy On");
proxyOn.setFont(trayFont);
@ -72,11 +85,14 @@ public class Main {
MenuItem proxyOff = new MenuItem("Proxy Off");
proxyOff.setFont(trayFont);
proxyOff.addActionListener(proxyOffListener());
*/
MenuItem trayExit = new MenuItem("Exit");
trayExit.setFont(trayFont);
trayExit.addActionListener(trayExitListener());
/*
trayMenu.add(proxyOn);
trayMenu.add(proxyOff);
*/
trayMenu.add(trayExit);
Image icon;
if (isLinux){
@ -130,6 +146,20 @@ public class Main {
return listener;
}
public static ActionListener proxyListener(String proxyStr) {
ActionListener listener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
setProxy(proxyStr);
} catch (IOException | InterruptedException ex) {
exeptionActions("ProxyOn", ex);
}
}
};
return listener;
}
public static ActionListener proxyOffListener() {
ActionListener listener = new ActionListener() {
@Override
@ -144,6 +174,11 @@ public class Main {
return listener;
}
public static void setProxy(String proxyStr) throws IOException, InterruptedException {
execute("reg delete \"HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\" /v AutoConfigURL /f");
execute("reg add \"HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\" /v AutoConfigURL /t REG_SZ /d \"" + proxyStr + "\"");
}
public static void setProxyOn() throws IOException, InterruptedException {
execute("reg delete \"HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\" /v AutoConfigURL /f");
execute("reg add \"HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\" /v AutoConfigURL /t REG_SZ /d \"http://proxy.mcs.br:8080/array.dll?Get.Routing.Script\"");

View File

@ -8,6 +8,7 @@ import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.List;
import static org.dhaverdLogs.DhaverdLogs.setLog;
@ -53,4 +54,14 @@ public class loadConfig {
return Integer.parseInt(result);
}
public static List<String> getProxyList() throws IOException, ParseException {
JSONObject jo = getJsonObjConfig();
List<String> result = (List<String>) jo.get("proxyList");
setLog("Config Loading", "Proxy list loaded. Items count: " + result.size(), true, false);
for (String line : result) {
setLog("Config Loading", "Proxy list item: " + line, false, true);
}
return result;
}
}