Automatically backup configuration files at startup

This commit is contained in:
2dust 2021-10-04 20:14:18 +08:00
parent eac7361a0b
commit 058e1aafd1
3 changed files with 34 additions and 20 deletions

View file

@ -43,6 +43,7 @@ namespace v2rayN.Forms
{ {
ConfigHandler.LoadConfig(ref config); ConfigHandler.LoadConfig(ref config);
ConfigHandler.InitBuiltinRouting(ref config); ConfigHandler.InitBuiltinRouting(ref config);
MainFormHandler.Instance.BackupGuiNConfig(config, true);
v2rayHandler = new V2rayHandler(); v2rayHandler = new V2rayHandler();
v2rayHandler.ProcessEvent += v2rayHandler_ProcessEvent; v2rayHandler.ProcessEvent += v2rayHandler_ProcessEvent;
@ -929,7 +930,7 @@ namespace v2rayN.Forms
{ {
if (!Utils.IsNullOrEmpty(MsgFilter)) if (!Utils.IsNullOrEmpty(MsgFilter))
{ {
if (!Regex.IsMatch(text,MsgFilter)) if (!Regex.IsMatch(text, MsgFilter))
{ {
return; return;
} }

View file

@ -237,30 +237,43 @@ namespace v2rayN.Handler
} }
public void BackupGuiNConfig(Config config) public void BackupGuiNConfig(Config config, bool auto = false)
{ {
SaveFileDialog fileDialog = new SaveFileDialog string fileName = string.Empty;
if (auto)
{ {
Filter = "guiNConfig|*.json", fileName = Utils.GetTempPath($"guiNConfig{DateTime.Now.ToString("yyyyMMddHHmmssfff")}.json");
FilterIndex = 2, }
RestoreDirectory = true else
}; {
if (fileDialog.ShowDialog() != DialogResult.OK) SaveFileDialog fileDialog = new SaveFileDialog
{ {
return; Filter = "guiNConfig|*.json",
FilterIndex = 2,
RestoreDirectory = true
};
if (fileDialog.ShowDialog() != DialogResult.OK)
{
return;
}
fileName = fileDialog.FileName;
} }
string fileName = fileDialog.FileName;
if (Utils.IsNullOrEmpty(fileName)) if (Utils.IsNullOrEmpty(fileName))
{ {
return; return;
} }
if (Utils.ToJsonFile(config, fileName) == 0) var ret = Utils.ToJsonFile(config, fileName);
if (!auto)
{ {
UI.Show(UIRes.I18N("OperationSuccess")); if (ret == 0)
} {
else
{ UI.Show(UIRes.I18N("OperationSuccess"));
UI.ShowWarning(UIRes.I18N("OperationFailed")); }
else
{
UI.ShowWarning(UIRes.I18N("OperationFailed"));
}
} }
} }

View file

@ -34,7 +34,7 @@ namespace v2rayN
if (!IsDuplicateInstance()) if (!IsDuplicateInstance())
{ {
Utils.SaveLog("v2rayN start up " + Utils.GetVersion()); Utils.SaveLog($"v2rayN start up | {Utils.GetVersion()} | {Utils.GetExePath()}");
//设置语言环境 //设置语言环境
string lang = Utils.RegReadValue(Global.MyRegPath, Global.MyRegKeyLanguage, "zh-Hans"); string lang = Utils.RegReadValue(Global.MyRegPath, Global.MyRegKeyLanguage, "zh-Hans");