Skip to content
This repository has been archived by the owner on Dec 28, 2023. It is now read-only.

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
4ra1n committed Jan 30, 2023
1 parent 90e47b6 commit c4552a0
Show file tree
Hide file tree
Showing 4 changed files with 65 additions and 1 deletion.
4 changes: 3 additions & 1 deletion CHANGELOG.MD
Original file line number Diff line number Diff line change
Expand Up @@ -253,5 +253,7 @@ Others:
## 1.5

更新内容:
- [important] 提供MacOS的APP版本 #141
- [important] [feat] 支持拖拽xray文件加载 #140
- [bug] CPU占用较高问题RAD修复不完善 #139
- [bug] CPU占用较高问题RAD修复不完善 #139
- [feat] 增加一键修复/还原的功能 #143
61 changes: 61 additions & 0 deletions src/main/java/com/chaitin/xray/form/MainForm.java
Original file line number Diff line number Diff line change
Expand Up @@ -1990,6 +1990,67 @@ private static JMenu createAboutMenu() {
}
});

JMenuItem repairItem = new JMenuItem("自动修复");
is = MainForm.class.getClassLoader().getResourceAsStream("fix.png");
if (is == null) {
return null;
}
imageIcon = new ImageIcon(ImageIO.read(is));
repairItem.setIcon(imageIcon);
aboutMenu.add(repairItem);

repairItem.addActionListener(e -> {
int i = JOptionPane.showConfirmDialog(instance.SuperXray,
"修复将会删除所有相关的数据,你确定吗?");
if (i == 2 || i == 1) {
return;
}

instance.outputTextArea.setText(null);

instance.outputTextArea.append("正在停止所有进程...\n");

instance.stop = true;
if (instance.radInstance != null) {
instance.radInstance.stop = true;
}
if (instance.subdomainInstance != null) {
instance.subdomainInstance.stop = true;
}
if (instance.ajpInstance != null) {
instance.ajpInstance.stop = true;
}
try {
Thread.sleep(1000);
} catch (Exception ignored) {
}

String p = instance.xrayPathTextField.getText();
if (StringUtil.notEmpty(p)) {
instance.outputTextArea.append("删除xray临时文件...\n");
String tp = Paths.get(p).toFile().getParent();
XrayUtil.rmAllConfig(tp);
try {
Files.delete(Paths.get(tp + Const.ConfigYaml));
} catch (Exception ignored) {
}
}

try {
instance.outputTextArea.append("删除xray配置文件...\n");
Files.delete(Paths.get(Const.ConfigYaml));
} catch (Exception ignored) {
}

try {
instance.outputTextArea.append("删除保存的数据...\n");
Files.delete(Paths.get(Const.DBFile));
} catch (Exception ignored) {
}

instance.outputTextArea.append("修复完毕请重启...\n");
});

return aboutMenu;
} catch (Exception ex) {
return null;
Expand Down
1 change: 1 addition & 0 deletions src/main/java/com/chaitin/xray/model/Const.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,5 @@ public interface Const {
String XrayYaml = String.format(".%s%s", File.separator, "xray.yaml");
String PluginXrayYaml = String.format(".%s%s", File.separator, "plugin.xray.yaml");
String ConfigYaml = String.format(".%s%s", File.separator, "config.yaml");
String DBFile = String.format(".%s%s", File.separator, "super-xray.db");
}
Binary file added src/main/resources/fix.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit c4552a0

Please sign in to comment.