mirror of
https://github.com/2dust/v2rayN.git
synced 2025-07-02 04:52:09 +00:00
BackupGuiConfig
This commit is contained in:
parent
777427787a
commit
03dec5b604
4 changed files with 133 additions and 90 deletions
19
v2rayN/v2rayN/Forms/MainForm.Designer.cs
generated
19
v2rayN/v2rayN/Forms/MainForm.Designer.cs
generated
|
@ -110,6 +110,8 @@
|
||||||
this.tsbSetting = new System.Windows.Forms.ToolStripDropDownButton();
|
this.tsbSetting = new System.Windows.Forms.ToolStripDropDownButton();
|
||||||
this.tsbOptionSetting = new System.Windows.Forms.ToolStripMenuItem();
|
this.tsbOptionSetting = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.tsbRoutingSetting = new System.Windows.Forms.ToolStripMenuItem();
|
this.tsbRoutingSetting = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.toolStripSeparator14 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
|
this.tsbBackupGuiNConfig = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
|
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
this.tsbReload = new System.Windows.Forms.ToolStripButton();
|
this.tsbReload = new System.Windows.Forms.ToolStripButton();
|
||||||
this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator();
|
this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
|
@ -711,7 +713,9 @@
|
||||||
resources.ApplyResources(this.tsbSetting, "tsbSetting");
|
resources.ApplyResources(this.tsbSetting, "tsbSetting");
|
||||||
this.tsbSetting.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.tsbSetting.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
this.tsbOptionSetting,
|
this.tsbOptionSetting,
|
||||||
this.tsbRoutingSetting});
|
this.tsbRoutingSetting,
|
||||||
|
this.toolStripSeparator14,
|
||||||
|
this.tsbBackupGuiNConfig});
|
||||||
this.tsbSetting.Image = global::v2rayN.Properties.Resources.option;
|
this.tsbSetting.Image = global::v2rayN.Properties.Resources.option;
|
||||||
this.tsbSetting.Name = "tsbSetting";
|
this.tsbSetting.Name = "tsbSetting";
|
||||||
//
|
//
|
||||||
|
@ -727,6 +731,17 @@
|
||||||
this.tsbRoutingSetting.Name = "tsbRoutingSetting";
|
this.tsbRoutingSetting.Name = "tsbRoutingSetting";
|
||||||
this.tsbRoutingSetting.Click += new System.EventHandler(this.tsbRoutingSetting_Click);
|
this.tsbRoutingSetting.Click += new System.EventHandler(this.tsbRoutingSetting_Click);
|
||||||
//
|
//
|
||||||
|
// toolStripSeparator14
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.toolStripSeparator14, "toolStripSeparator14");
|
||||||
|
this.toolStripSeparator14.Name = "toolStripSeparator14";
|
||||||
|
//
|
||||||
|
// tsbBackupGuiNConfig
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.tsbBackupGuiNConfig, "tsbBackupGuiNConfig");
|
||||||
|
this.tsbBackupGuiNConfig.Name = "tsbBackupGuiNConfig";
|
||||||
|
this.tsbBackupGuiNConfig.Click += new System.EventHandler(this.tsbBackupGuiNConfig_Click);
|
||||||
|
//
|
||||||
// toolStripSeparator5
|
// toolStripSeparator5
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.toolStripSeparator5, "toolStripSeparator5");
|
resources.ApplyResources(this.toolStripSeparator5, "toolStripSeparator5");
|
||||||
|
@ -970,6 +985,8 @@
|
||||||
private System.Windows.Forms.ToolStripMenuItem menuMsgBoxCopy;
|
private System.Windows.Forms.ToolStripMenuItem menuMsgBoxCopy;
|
||||||
private System.Windows.Forms.ToolStripMenuItem menuMsgBoxAddRoutingRule;
|
private System.Windows.Forms.ToolStripMenuItem menuMsgBoxAddRoutingRule;
|
||||||
private System.Windows.Forms.ToolStripMenuItem menuMsgBoxCopyAll;
|
private System.Windows.Forms.ToolStripMenuItem menuMsgBoxCopyAll;
|
||||||
|
private System.Windows.Forms.ToolStripSeparator toolStripSeparator14;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem tsbBackupGuiNConfig;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -33,14 +33,7 @@ namespace v2rayN.Forms
|
||||||
|
|
||||||
Application.ApplicationExit += (sender, args) =>
|
Application.ApplicationExit += (sender, args) =>
|
||||||
{
|
{
|
||||||
v2rayHandler.V2rayStop();
|
MyAppExit();
|
||||||
|
|
||||||
//HttpProxyHandle.CloseHttpAgent(config);
|
|
||||||
HttpProxyHandle.UpdateSysProxy(config, true);
|
|
||||||
|
|
||||||
ConfigHandler.SaveConfig(ref config);
|
|
||||||
statistics?.SaveToFile();
|
|
||||||
statistics?.Close();
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -85,12 +78,19 @@ namespace v2rayN.Forms
|
||||||
|
|
||||||
private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
|
private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
|
||||||
{
|
{
|
||||||
if (e.CloseReason == CloseReason.UserClosing)
|
switch (e.CloseReason)
|
||||||
{
|
{
|
||||||
StorageUI();
|
case CloseReason.UserClosing:
|
||||||
e.Cancel = true;
|
StorageUI();
|
||||||
HideForm();
|
e.Cancel = true;
|
||||||
return;
|
HideForm();
|
||||||
|
break;
|
||||||
|
case CloseReason.ApplicationExitCall:
|
||||||
|
case CloseReason.FormOwnerClosing:
|
||||||
|
case CloseReason.TaskManagerClosing:
|
||||||
|
case CloseReason.WindowsShutDown:
|
||||||
|
MyAppExit();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -105,26 +105,21 @@ namespace v2rayN.Forms
|
||||||
|
|
||||||
//}
|
//}
|
||||||
}
|
}
|
||||||
|
private void MyAppExit()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
v2rayHandler.V2rayStop();
|
||||||
|
|
||||||
|
//HttpProxyHandle.CloseHttpAgent(config);
|
||||||
|
HttpProxyHandle.UpdateSysProxy(config, true);
|
||||||
|
|
||||||
//private const int WM_QUERYENDSESSION = 0x0011;
|
ConfigHandler.SaveConfig(ref config);
|
||||||
//protected override void WndProc(ref Message m)
|
statistics?.SaveToFile();
|
||||||
//{
|
statistics?.Close();
|
||||||
// switch (m.Msg)
|
}
|
||||||
// {
|
catch { }
|
||||||
// case WM_QUERYENDSESSION:
|
}
|
||||||
// Utils.SaveLog("Windows shutdown UnsetProxy");
|
|
||||||
|
|
||||||
// ConfigHandler.ToJsonFile(config);
|
|
||||||
// statistics?.SaveToFile();
|
|
||||||
// ProxySetting.UnsetProxy();
|
|
||||||
// m.Result = (IntPtr)1;
|
|
||||||
// break;
|
|
||||||
// default:
|
|
||||||
// base.WndProc(ref m);
|
|
||||||
// break;
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
||||||
private void RestoreUI()
|
private void RestoreUI()
|
||||||
{
|
{
|
||||||
|
@ -883,6 +878,10 @@ namespace v2rayN.Forms
|
||||||
UpdateSubscriptionProcess();
|
UpdateSubscriptionProcess();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void tsbBackupGuiNConfig_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
MainFormHandler.Instance.BackupGuiNConfig(config);
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -318,6 +318,15 @@
|
||||||
ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
|
ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="cmsMain.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>196, 170</value>
|
||||||
|
</data>
|
||||||
|
<data name="menuSysAgentMode.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>195, 22</value>
|
||||||
|
</data>
|
||||||
|
<data name="menuSysAgentMode.Text" xml:space="preserve">
|
||||||
|
<value>系统代理</value>
|
||||||
|
</data>
|
||||||
<data name="menuKeepClear.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="menuKeepClear.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>172, 22</value>
|
<value>172, 22</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -336,12 +345,6 @@
|
||||||
<data name="menuKeepNothing.Text" xml:space="preserve">
|
<data name="menuKeepNothing.Text" xml:space="preserve">
|
||||||
<value>不改变系统代理</value>
|
<value>不改变系统代理</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="menuSysAgentMode.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>195, 22</value>
|
|
||||||
</data>
|
|
||||||
<data name="menuSysAgentMode.Text" xml:space="preserve">
|
|
||||||
<value>系统代理</value>
|
|
||||||
</data>
|
|
||||||
<data name="menuRoutings.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="menuRoutings.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>195, 22</value>
|
<value>195, 22</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -384,12 +387,15 @@
|
||||||
<data name="menuExit.Text" xml:space="preserve">
|
<data name="menuExit.Text" xml:space="preserve">
|
||||||
<value>退出</value>
|
<value>退出</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="cmsMain.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>196, 170</value>
|
|
||||||
</data>
|
|
||||||
<data name="groupBox1.Text" xml:space="preserve">
|
<data name="groupBox1.Text" xml:space="preserve">
|
||||||
<value>服务器列表</value>
|
<value>服务器列表</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="groupBox2.Text" xml:space="preserve">
|
||||||
|
<value>信息</value>
|
||||||
|
</data>
|
||||||
|
<data name="cmsMsgBox.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>222, 92</value>
|
||||||
|
</data>
|
||||||
<data name="menuMsgBoxSelectAll.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="menuMsgBoxSelectAll.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>221, 22</value>
|
<value>221, 22</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -414,27 +420,9 @@
|
||||||
<data name="menuMsgBoxAddRoutingRule.Text" xml:space="preserve">
|
<data name="menuMsgBoxAddRoutingRule.Text" xml:space="preserve">
|
||||||
<value>快速添加路由规则 (Ctrl+V)</value>
|
<value>快速添加路由规则 (Ctrl+V)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="cmsMsgBox.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>222, 114</value>
|
|
||||||
</data>
|
|
||||||
<data name="toolSslServerSpeed.Text" xml:space="preserve">
|
<data name="toolSslServerSpeed.Text" xml:space="preserve">
|
||||||
<value>网速显示未启用</value>
|
<value>网速显示未启用</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="groupBox2.Text" xml:space="preserve">
|
|
||||||
<value>信息</value>
|
|
||||||
</data>
|
|
||||||
<data name="tsbSubSetting.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>124, 22</value>
|
|
||||||
</data>
|
|
||||||
<data name="tsbSubSetting.Text" xml:space="preserve">
|
|
||||||
<value>订阅设置</value>
|
|
||||||
</data>
|
|
||||||
<data name="tsbSubUpdate.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>124, 22</value>
|
|
||||||
</data>
|
|
||||||
<data name="tsbSubUpdate.Text" xml:space="preserve">
|
|
||||||
<value>更新订阅</value>
|
|
||||||
</data>
|
|
||||||
<data name="tsbSub.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tsbSub.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>61, 53</value>
|
<value>61, 53</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -447,18 +435,18 @@
|
||||||
<data name="tsbQRCodeSwitch.Text" xml:space="preserve">
|
<data name="tsbQRCodeSwitch.Text" xml:space="preserve">
|
||||||
<value> 分享 </value>
|
<value> 分享 </value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbOptionSetting.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>124, 22</value>
|
|
||||||
</data>
|
|
||||||
<data name="tsbOptionSetting.Text" xml:space="preserve">
|
<data name="tsbOptionSetting.Text" xml:space="preserve">
|
||||||
<value>参数设置</value>
|
<value>参数设置</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbRoutingSetting.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>124, 22</value>
|
|
||||||
</data>
|
|
||||||
<data name="tsbRoutingSetting.Text" xml:space="preserve">
|
<data name="tsbRoutingSetting.Text" xml:space="preserve">
|
||||||
<value>路由设置</value>
|
<value>路由设置</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="tsbBackupGuiNConfig.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>189, 22</value>
|
||||||
|
</data>
|
||||||
|
<data name="tsbBackupGuiNConfig.Text" xml:space="preserve">
|
||||||
|
<value>备份v2rayN配置文件</value>
|
||||||
|
</data>
|
||||||
<data name="tsbSetting.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tsbSetting.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>61, 53</value>
|
<value>61, 53</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -482,36 +470,12 @@
|
||||||
<data name="tsbReload.Text" xml:space="preserve">
|
<data name="tsbReload.Text" xml:space="preserve">
|
||||||
<value> 重启服务 </value>
|
<value> 重启服务 </value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbCheckUpdateN.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>135, 22</value>
|
|
||||||
</data>
|
|
||||||
<data name="tsbCheckUpdateN.Text" xml:space="preserve">
|
|
||||||
<value>v2rayN</value>
|
|
||||||
</data>
|
|
||||||
<data name="tsbCheckUpdateCore.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>135, 22</value>
|
|
||||||
</data>
|
|
||||||
<data name="tsbCheckUpdateCore.Text" xml:space="preserve">
|
|
||||||
<value>v2fly-Core</value>
|
|
||||||
</data>
|
|
||||||
<data name="tsbCheckUpdateXrayCore.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>135, 22</value>
|
|
||||||
</data>
|
|
||||||
<data name="tsbCheckUpdateXrayCore.Text" xml:space="preserve">
|
|
||||||
<value>Xray-Core</value>
|
|
||||||
</data>
|
|
||||||
<data name="tsbCheckUpdate.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tsbCheckUpdate.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>85, 53</value>
|
<value>85, 53</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbCheckUpdate.Text" xml:space="preserve">
|
<data name="tsbCheckUpdate.Text" xml:space="preserve">
|
||||||
<value> 检查更新 </value>
|
<value> 检查更新 </value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbAbout.Text" xml:space="preserve">
|
|
||||||
<value>v2rayN 项目</value>
|
|
||||||
</data>
|
|
||||||
<data name="tsbV2rayWebsite.Text" xml:space="preserve">
|
|
||||||
<value>V2Ray 官网</value>
|
|
||||||
</data>
|
|
||||||
<data name="tsbHelp.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tsbHelp.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>69, 53</value>
|
<value>69, 53</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -537,4 +501,40 @@
|
||||||
<data name="tsbClose.Text" xml:space="preserve">
|
<data name="tsbClose.Text" xml:space="preserve">
|
||||||
<value> 关闭窗口 </value>
|
<value> 关闭窗口 </value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="tsbSubSetting.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>124, 22</value>
|
||||||
|
</data>
|
||||||
|
<data name="tsbSubSetting.Text" xml:space="preserve">
|
||||||
|
<value>订阅设置</value>
|
||||||
|
</data>
|
||||||
|
<data name="tsbSubUpdate.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>124, 22</value>
|
||||||
|
</data>
|
||||||
|
<data name="tsbSubUpdate.Text" xml:space="preserve">
|
||||||
|
<value>更新订阅</value>
|
||||||
|
</data>
|
||||||
|
<data name="tsbCheckUpdateN.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>135, 22</value>
|
||||||
|
</data>
|
||||||
|
<data name="tsbCheckUpdateN.Text" xml:space="preserve">
|
||||||
|
<value>v2rayN</value>
|
||||||
|
</data>
|
||||||
|
<data name="tsbCheckUpdateCore.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>135, 22</value>
|
||||||
|
</data>
|
||||||
|
<data name="tsbCheckUpdateCore.Text" xml:space="preserve">
|
||||||
|
<value>v2fly-Core</value>
|
||||||
|
</data>
|
||||||
|
<data name="tsbCheckUpdateXrayCore.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>135, 22</value>
|
||||||
|
</data>
|
||||||
|
<data name="tsbCheckUpdateXrayCore.Text" xml:space="preserve">
|
||||||
|
<value>Xray-Core</value>
|
||||||
|
</data>
|
||||||
|
<data name="tsbAbout.Text" xml:space="preserve">
|
||||||
|
<value>v2rayN 项目</value>
|
||||||
|
</data>
|
||||||
|
<data name="tsbV2rayWebsite.Text" xml:space="preserve">
|
||||||
|
<value>V2Ray 官网</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
|
@ -237,5 +237,32 @@ namespace v2rayN.Handler
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void BackupGuiNConfig(Config config)
|
||||||
|
{
|
||||||
|
SaveFileDialog fileDialog = new SaveFileDialog
|
||||||
|
{
|
||||||
|
Filter = "guiNConfig|*.json",
|
||||||
|
FilterIndex = 2,
|
||||||
|
RestoreDirectory = true
|
||||||
|
};
|
||||||
|
if (fileDialog.ShowDialog() != DialogResult.OK)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
string fileName = fileDialog.FileName;
|
||||||
|
if (Utils.IsNullOrEmpty(fileName))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (Utils.ToJsonFile(config, fileName) == 0)
|
||||||
|
{
|
||||||
|
UI.Show(UIRes.I18N("OperationSuccess"));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
UI.ShowWarning(UIRes.I18N("OperationFailed"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue