1
0
mirror of https://github.com/proxysu/ProxySU.git synced 2024-11-22 13:16:09 +03:00

优化卸载过程

This commit is contained in:
ProxySU 2020-10-31 23:28:13 +08:00
parent b491fe19df
commit cdc1a2b7e9
7 changed files with 230 additions and 83 deletions

View File

@ -5,7 +5,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:ProxySU" xmlns:local="clr-namespace:ProxySU"
mc:Ignorable="d" mc:Ignorable="d"
Title="ProxySU - v2.4.17" Height="675" Width="650"> Title="ProxySU - v2.4.18" Height="675" Width="650">
<!--以下样式参考自https://yq.aliyun.com/articles/331878 <!--以下样式参考自https://yq.aliyun.com/articles/331878
https://docs.microsoft.com/en-us/dotnet/desktop-wpf/fundamentals/styles-templates-overview--> https://docs.microsoft.com/en-us/dotnet/desktop-wpf/fundamentals/styles-templates-overview-->
<Window.Resources> <Window.Resources>

View File

@ -2551,11 +2551,13 @@ namespace ProxySU
clientJson["remote_port"] = 443; clientJson["remote_port"] = 443;
//设置密码 //设置密码
clientJson["password"][0] = ReceiveConfigurationParameters[2]; clientJson["password"][0] = ReceiveConfigurationParameters[2];
clientJson["ssl"]["sni"] = ReceiveConfigurationParameters[4];
//如果是WebSocket协议则设置路径 //如果是WebSocket协议则设置路径
if (String.Equals(ReceiveConfigurationParameters[0], "TrojanGoWebSocketTLS2Web")) if (String.Equals(ReceiveConfigurationParameters[0], "TrojanGoWebSocketTLS2Web"))
{ {
clientJson["websocket"]["enabled"] = true; clientJson["websocket"]["enabled"] = true;
clientJson["websocket"]["path"] = ReceiveConfigurationParameters[6]; clientJson["websocket"]["path"] = ReceiveConfigurationParameters[6];
clientJson["websocket"]["host"] = ReceiveConfigurationParameters[4];
} }
//如果开启了mux设置客户端配置文件参数 //如果开启了mux设置客户端配置文件参数
if (String.Equals(ReceiveConfigurationParameters[9], "true") == true) if (String.Equals(ReceiveConfigurationParameters[9], "true") == true)
@ -2682,12 +2684,13 @@ namespace ProxySU
//设置证书 //设置证书
serverJson["ssl"]["cert"] = "/usr/local/etc/trojan-go/trojan-go.crt"; serverJson["ssl"]["cert"] = "/usr/local/etc/trojan-go/trojan-go.crt";
serverJson["ssl"]["key"] = "/usr/local/etc/trojan-go/trojan-go.key"; serverJson["ssl"]["key"] = "/usr/local/etc/trojan-go/trojan-go.key";
//serverJson["ssl"]["sni"] = ReceiveConfigurationParameters[4]; serverJson["ssl"]["sni"] = ReceiveConfigurationParameters[4];
if (String.Equals(ReceiveConfigurationParameters[0], "TrojanGoWebSocketTLS2Web")) if (String.Equals(ReceiveConfigurationParameters[0], "TrojanGoWebSocketTLS2Web"))
{ {
serverJson["websocket"]["enabled"] = true; serverJson["websocket"]["enabled"] = true;
serverJson["websocket"]["path"] = ReceiveConfigurationParameters[6]; serverJson["websocket"]["path"] = ReceiveConfigurationParameters[6];
serverJson["websocket"]["host"] = ReceiveConfigurationParameters[4];
} }
using (StreamWriter sw = new StreamWriter(@"config.json")) using (StreamWriter sw = new StreamWriter(@"config.json"))
@ -3612,54 +3615,56 @@ namespace ProxySU
functionResult = DomainResolutionCurrentIPDetect(client); functionResult = DomainResolutionCurrentIPDetect(client);
if (functionResult == false) { FunctionResultErr(); client.Disconnect(); return; } if (functionResult == false) { FunctionResultErr(); client.Disconnect(); return; }
//安装代理程序 37--40
functionResult = ProxySoftInstall(client,@"NaiveProxy", @"https://raw.githubusercontent.com/proxysu/shellscript/master/Caddy-Naive/caddy-naive-install.sh");
//****** "系统环境检测完毕,符合安装要求,开始布署......" ******
SetUpProgressBarProcessing(60);
currentStatus = Application.Current.FindResource("DisplayInstallInfo_StartInstalling").ToString();
MainWindowsShowInfo(currentStatus);
//Caddy安装与检测安装是否成功 61--66
functionResult = CaddyInstall(client);
if (functionResult == false) { FunctionResultErr(); client.Disconnect(); return; } if (functionResult == false) { FunctionResultErr(); client.Disconnect(); return; }
////****** "系统环境检测完毕,符合安装要求,开始布署......" ******
//SetUpProgressBarProcessing(60);
//currentStatus = Application.Current.FindResource("DisplayInstallInfo_StartInstalling").ToString();
//MainWindowsShowInfo(currentStatus);
//使用带插件的Caddy替换 ////Caddy安装与检测安装是否成功 61--66
//****** "正在为NaiveProxy升级服务端" ****** //functionResult = CaddyInstall(client);
//SetUpProgressBarProcessing(76); //if (functionResult == false) { FunctionResultErr(); client.Disconnect(); return; }
currentStatus = Application.Current.FindResource("DisplayInstallInfo_UpgradeNaiveProxy").ToString();
MainWindowsShowInfo(currentStatus);
sshShellCommand = $"curl -o /tmp/caddy.zip https://raw.githubusercontent.com/proxysu/Resources/master/Caddy2/caddy2.zip";
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
functionResult = FileCheckExists(client, @"/tmp/caddy.zip"); ////使用带插件的Caddy替换
if (functionResult == false) ////****** "正在为NaiveProxy升级服务端" ******
{ ////SetUpProgressBarProcessing(76);
//***文件下载失败!*** //currentStatus = Application.Current.FindResource("DisplayInstallInfo_UpgradeNaiveProxy").ToString();
currentStatus = Application.Current.FindResource("DisplayInstallInfo_DownloadScriptFailed").ToString(); //MainWindowsShowInfo(currentStatus);
MainWindowsShowInfo(currentStatus);
return;
}
sshShellCommand = @"yes | unzip -o /tmp/caddy.zip";
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
sshShellCommand = @"chmod +x ./caddy"; //sshShellCommand = $"curl -o /tmp/caddy.zip https://raw.githubusercontent.com/proxysu/Resources/master/Caddy2/caddy2.zip";
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand); //currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
sshShellCommand = @"systemctl stop caddy;rm -f /usr/bin/caddy"; //functionResult = FileCheckExists(client, @"/tmp/caddy.zip");
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand); //if (functionResult == false)
//{
// //***文件下载失败!***
// currentStatus = Application.Current.FindResource("DisplayInstallInfo_DownloadScriptFailed").ToString();
// MainWindowsShowInfo(currentStatus);
// return;
//}
//sshShellCommand = @"yes | unzip -o /tmp/caddy.zip";
//currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
sshShellCommand = @"cp caddy /usr/bin/"; //sshShellCommand = @"chmod +x ./caddy";
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand); //currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
sshShellCommand = @"rm -f /tmp/caddy.zip caddy"; //sshShellCommand = @"systemctl stop caddy;rm -f /usr/bin/caddy";
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand); //currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
//****** "升级完毕OK" ****** //sshShellCommand = @"cp caddy /usr/bin/";
//SetUpProgressBarProcessing(79); //currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
currentStatus = Application.Current.FindResource("DisplayInstallInfo_UpgradeNaiveProxyOK").ToString();
MainWindowsShowInfo(currentStatus); //sshShellCommand = @"rm -f /tmp/caddy.zip caddy";
//currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
////****** "升级完毕OK" ******
////SetUpProgressBarProcessing(79);
//currentStatus = Application.Current.FindResource("DisplayInstallInfo_UpgradeNaiveProxyOK").ToString();
//MainWindowsShowInfo(currentStatus);
//****** "上传Caddy配置文件......" ****** //****** "上传Caddy配置文件......" ******
SetUpProgressBarProcessing(67); SetUpProgressBarProcessing(67);
@ -5658,10 +5663,19 @@ namespace ProxySU
sshShellCommand = @"systemctl stop v2ray"; sshShellCommand = @"systemctl stop v2ray";
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand); currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
sshShellCommand = $"curl -LROJ https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh"; sshShellCommand = $"curl -o /tmp/install.sh https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh";
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand); currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
sshShellCommand = @"bash install-release.sh --remove"; functionResult = FileCheckExists(client, @"/tmp/install.sh");
if (functionResult == false)
{
//***文件下载失败!***
currentStatus = Application.Current.FindResource("DisplayInstallInfo_DownloadScriptFailed").ToString();
MainWindowsShowInfo(currentStatus);
return;
}
sshShellCommand = @"bash /tmp/install.sh --remove";
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand); currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
sshShellCommand = @"systemctl disable v2ray"; sshShellCommand = @"systemctl disable v2ray";
@ -5670,7 +5684,7 @@ namespace ProxySU
sshShellCommand = @"rm -rf /usr/local/etc/v2ray /var/log/v2ray"; sshShellCommand = @"rm -rf /usr/local/etc/v2ray /var/log/v2ray";
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand); currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
sshShellCommand = @"rm -f install-release.sh"; sshShellCommand = @"rm -f /tmp/install.sh";
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand); currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
//sshShellCommand = @"find / -name v2ray"; //sshShellCommand = @"find / -name v2ray";
@ -5728,10 +5742,19 @@ namespace ProxySU
sshShellCommand = @"systemctl stop trojan-go"; sshShellCommand = @"systemctl stop trojan-go";
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand); currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
sshShellCommand = $"curl -LROJ https://raw.githubusercontent.com/proxysu/shellscript/master/trojan-go.sh"; sshShellCommand = $"curl -o /tmp/install.sh https://raw.githubusercontent.com/proxysu/shellscript/master/trojan-go.sh";
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand); currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
sshShellCommand = @"bash trojan-go.sh --remove"; functionResult = FileCheckExists(client, @"/tmp/install.sh");
if (functionResult == false)
{
//***文件下载失败!***
currentStatus = Application.Current.FindResource("DisplayInstallInfo_DownloadScriptFailed").ToString();
MainWindowsShowInfo(currentStatus);
return;
}
sshShellCommand = @"bash /tmp/install.sh --remove";
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand); currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
sshShellCommand = @"systemctl disable trojan-go"; sshShellCommand = @"systemctl disable trojan-go";
@ -5740,7 +5763,7 @@ namespace ProxySU
sshShellCommand = @"rm -rf /usr/local/etc/trojan-go /var/log/trojan-go"; sshShellCommand = @"rm -rf /usr/local/etc/trojan-go /var/log/trojan-go";
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand); currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
sshShellCommand = @"rm -f trojan-go.sh"; sshShellCommand = @"rm -f /tmp/install.sh";
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand); currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
//sshShellCommand = @"find / -name trojan-go"; //sshShellCommand = @"find / -name trojan-go";
@ -5859,16 +5882,25 @@ namespace ProxySU
sshShellCommand = @"systemctl stop ssr"; sshShellCommand = @"systemctl stop ssr";
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand); currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
sshShellCommand = $"curl -LROJ https://raw.githubusercontent.com/proxysu/shellscript/master/ssr/ssr.sh"; sshShellCommand = $"curl -o /tmp/install.sh https://raw.githubusercontent.com/proxysu/shellscript/master/ssr/ssr.sh";
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand); currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
sshShellCommand = @"bash ssr.sh uninstall"; functionResult = FileCheckExists(client, @"/tmp/install.sh");
if (functionResult == false)
{
//***文件下载失败!***
currentStatus = Application.Current.FindResource("DisplayInstallInfo_DownloadScriptFailed").ToString();
MainWindowsShowInfo(currentStatus);
return;
}
sshShellCommand = @"bash /tmp/install.sh uninstall";
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand); currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
sshShellCommand = @"systemctl disable ssr"; sshShellCommand = @"systemctl disable ssr";
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand); currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
sshShellCommand = @"rm -f ssr.sh"; sshShellCommand = @"rm -f /tmp/install.sh";
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand); currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
//sshShellCommand = @"if [ -f /usr/local/shadowsocks/server.py ];then echo '1';else echo '0'; fi"; //sshShellCommand = @"if [ -f /usr/local/shadowsocks/server.py ];then echo '1';else echo '0'; fi";
@ -5926,16 +5958,25 @@ namespace ProxySU
sshShellCommand = @"systemctl stop ss-server"; sshShellCommand = @"systemctl stop ss-server";
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand); currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
sshShellCommand = $"curl -LROJ https://raw.githubusercontent.com/proxysu/shellscript/master/ss/ss-install.sh"; sshShellCommand = $"curl -o /tmp/install.sh https://raw.githubusercontent.com/proxysu/shellscript/master/ss/ss-install.sh";
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand); currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
sshShellCommand = @"bash ss-install.sh uninstall"; functionResult = FileCheckExists(client, @"/tmp/install.sh");
if (functionResult == false)
{
//***文件下载失败!***
currentStatus = Application.Current.FindResource("DisplayInstallInfo_DownloadScriptFailed").ToString();
MainWindowsShowInfo(currentStatus);
return;
}
sshShellCommand = @"bash /tmp/install.sh uninstall";
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand); currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
sshShellCommand = @"systemctl disable ss-server"; sshShellCommand = @"systemctl disable ss-server";
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand); currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
sshShellCommand = @"rm -f ss-install.sh"; sshShellCommand = @"rm -f /tmp/install.sh";
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand); currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
//卸载插件 //卸载插件
@ -5956,7 +5997,7 @@ namespace ProxySU
else else
{ {
//******"SS (Shadowsoks-libev)卸载成功!"****** //******"SS (Shadowsoks-libev)卸载成功!"******
SetUpProgressBarProcessing(46); SetUpProgressBarProcessing(40);
currentStatus = "SS (Shadowsoks-libev)" + Application.Current.FindResource("DisplayInstallInfo_RemoveProxySoftSuccess").ToString(); currentStatus = "SS (Shadowsoks-libev)" + Application.Current.FindResource("DisplayInstallInfo_RemoveProxySoftSuccess").ToString();
MainWindowsShowInfo(currentStatus); MainWindowsShowInfo(currentStatus);
} }
@ -5965,7 +6006,7 @@ namespace ProxySU
else else
{ {
//******"检测结果未安装SS(Shadowsoks-libev)"******04 //******"检测结果未安装SS(Shadowsoks-libev)"******04
SetUpProgressBarProcessing(47); SetUpProgressBarProcessing(40);
currentStatus = Application.Current.FindResource("DisplayInstallInfo_NoInstalledSoft").ToString() + "SS (Shadowsoks-libev)!"; currentStatus = Application.Current.FindResource("DisplayInstallInfo_NoInstalledSoft").ToString() + "SS (Shadowsoks-libev)!";
MainWindowsShowInfo(currentStatus); MainWindowsShowInfo(currentStatus);
} }
@ -5976,7 +6017,7 @@ namespace ProxySU
#region acme.sh #region acme.sh
//******"检测系统是否已经安装acme.sh......"******03 //******"检测系统是否已经安装acme.sh......"******03
SetUpProgressBarProcessing(48); SetUpProgressBarProcessing(41);
currentStatus = Application.Current.FindResource("DisplayInstallInfo_TestExistSoft").ToString() + "acme.sh......"; currentStatus = Application.Current.FindResource("DisplayInstallInfo_TestExistSoft").ToString() + "acme.sh......";
MainWindowsShowInfo(currentStatus); MainWindowsShowInfo(currentStatus);
@ -5986,7 +6027,7 @@ namespace ProxySU
if (currentShellCommandResult.Contains("1") == true) if (currentShellCommandResult.Contains("1") == true)
{ {
//******"检测到acme.sh,开始卸载acme.sh......"****** //******"检测到acme.sh,开始卸载acme.sh......"******
SetUpProgressBarProcessing(49); SetUpProgressBarProcessing(42);
currentStatus = Application.Current.FindResource("DisplayInstallInfo_DiscoverProxySoft").ToString() currentStatus = Application.Current.FindResource("DisplayInstallInfo_DiscoverProxySoft").ToString()
+ "acme.sh!" + "acme.sh!"
+ Application.Current.FindResource("DisplayInstallInfo_StartRemoveProxy").ToString() + Application.Current.FindResource("DisplayInstallInfo_StartRemoveProxy").ToString()
@ -6030,6 +6071,86 @@ namespace ProxySU
#endregion #endregion
#region NaiveProxy
//******"检测系统是否已经安装Caddy/NaiveProxy......"******03
SetUpProgressBarProcessing(48);
currentStatus = Application.Current.FindResource("DisplayInstallInfo_TestExistSoft").ToString() + "Caddy/NaiveProxy......";
MainWindowsShowInfo(currentStatus);
//sshShellCommand = @"find / -name caddy";
//currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
//if (currentShellCommandResult.Contains("/usr/bin/caddy") == true)
functionResult = FileCheckExists(client, @"/etc/caddy/naive");
if (functionResult == true)
{
//******"检测到Caddy/NaiveProxy,开始卸载Caddy/NaiveProxy......"******
SetUpProgressBarProcessing(49);
currentStatus = Application.Current.FindResource("DisplayInstallInfo_DiscoverProxySoft").ToString()
+ "Caddy/NaiveProxy!"
+ Application.Current.FindResource("DisplayInstallInfo_StartRemoveProxy").ToString()
+ "Caddy/NaiveProxy......";
MainWindowsShowInfo(currentStatus);
sshShellCommand = @"systemctl stop caddy";
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
sshShellCommand = @"systemctl disable caddy";
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
sshShellCommand = $"curl -o /tmp/install.sh https://raw.githubusercontent.com/proxysu/shellscript/master/Caddy-Naive/caddy-naive-install.sh";
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
functionResult = FileCheckExists(client, @"/tmp/install.sh");
if (functionResult == false)
{
//***文件下载失败!***
currentStatus = Application.Current.FindResource("DisplayInstallInfo_DownloadScriptFailed").ToString();
MainWindowsShowInfo(currentStatus);
return;
}
sshShellCommand = @"bash /tmp/install.sh uninstall";
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
sshShellCommand = @"rm -f /tmp/install.sh";
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
//sshShellCommand = @"find / -name caddy";
//currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
//if (currentShellCommandResult.Contains("/usr/local/bin/caddy") == true)
functionResult = FileCheckExists(client, @"/usr/bin/caddy");
if (functionResult == true)
{
//******"Caddy/NaiveProxy卸载失败请向开发者问询"******
currentStatus = "Caddy/NaiveProxy" + Application.Current.FindResource("DisplayInstallInfo_RemoveProxySoftFailed").ToString();
MainWindowsShowInfo(currentStatus);
}
else
{
//******"Caddy/NaiveProxy卸载成功"******
SetUpProgressBarProcessing(60);
currentStatus = "Caddy/NaiveProxy" + Application.Current.FindResource("DisplayInstallInfo_RemoveProxySoftSuccess").ToString();
MainWindowsShowInfo(currentStatus);
}
}
else
{
//******"检测结果未安装Caddy/NaiveProxy"******04
SetUpProgressBarProcessing(60);
currentStatus = Application.Current.FindResource("DisplayInstallInfo_NoInstalledSoft").ToString() + "Caddy/NaiveProxy!";
MainWindowsShowInfo(currentStatus);
}
#endregion
#region Caddy/NaiveProxy #region Caddy/NaiveProxy
//******"检测系统是否已经安装Caddy/NaiveProxy......"******03 //******"检测系统是否已经安装Caddy/NaiveProxy......"******03
@ -8149,14 +8270,6 @@ namespace ProxySU
currentStatus = Application.Current.FindResource("DisplayInstallInfo_StartInstallCaddy").ToString(); currentStatus = Application.Current.FindResource("DisplayInstallInfo_StartInstallCaddy").ToString();
MainWindowsShowInfo(currentStatus); MainWindowsShowInfo(currentStatus);
//如果是纯ipv6主机则需要删除前面设置的Nat64网关
if (onlyIpv6 == true)
{
SetUpNat64(client, false);
sshShellCommand = $"{sshCmdUpdate}";
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
}
//为真则表示系统有相应的组件。 //为真则表示系统有相应的组件。
if (getApt == true) if (getApt == true)
{ {
@ -8441,7 +8554,13 @@ namespace ProxySU
//return false; //return false;
} }
//如果是纯ipv6主机则需要删除前面设置的Nat64网关
if (onlyIpv6 == true)
{
SetUpNat64(client, false);
sshShellCommand = $"{sshCmdUpdate}";
currentShellCommandResult = MainWindowsShowCmd(client, sshShellCommand);
}
SetUpProgressBarProcessing(95); SetUpProgressBarProcessing(95);
return true; return true;

View File

@ -51,5 +51,5 @@ using System.Windows;
// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号 // 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号
// 方法是按如下所示使用“*”: : // 方法是按如下所示使用“*”: :
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("2.4.17.0")] [assembly: AssemblyVersion("2.4.18.0")]
[assembly: AssemblyFileVersion("2.4.17.0")] [assembly: AssemblyFileVersion("2.4.18.0")]

View File

@ -108,6 +108,8 @@
<RowDefinition Height="30"></RowDefinition> <RowDefinition Height="30"></RowDefinition>
<RowDefinition Height="30"></RowDefinition> <RowDefinition Height="30"></RowDefinition>
<RowDefinition Height="30"></RowDefinition> <RowDefinition Height="30"></RowDefinition>
<RowDefinition Height="30"></RowDefinition>
<RowDefinition Height="30"></RowDefinition>
<RowDefinition></RowDefinition> <RowDefinition></RowDefinition>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<TextBlock Text="{DynamicResource TextBlockServerAddress}" Grid.Column="0" Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Center" ></TextBlock> <TextBlock Text="{DynamicResource TextBlockServerAddress}" Grid.Column="0" Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Center" ></TextBlock>
@ -118,16 +120,20 @@
<TextBlock Grid.Column="2" Grid.Row="2"></TextBlock> <TextBlock Grid.Column="2" Grid.Row="2"></TextBlock>
<TextBlock Text="{DynamicResource TextBlockHostPassword}" Grid.Column="0" Grid.Row="3" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock> <TextBlock Text="{DynamicResource TextBlockHostPassword}" Grid.Column="0" Grid.Row="3" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
<TextBox x:Name="TextBoxTrojanGoServerPassword" IsReadOnly="True" Grid.Column="1" Grid.Row="3" Margin="4" MouseDoubleClick="TextBoxTrojanGoServerPassword_MouseDoubleClick"></TextBox> <TextBox x:Name="TextBoxTrojanGoServerPassword" IsReadOnly="True" Grid.Column="1" Grid.Row="3" Margin="4" MouseDoubleClick="TextBoxTrojanGoServerPassword_MouseDoubleClick"></TextBox>
<TextBlock Text="SNI:" Grid.Column="0" Grid.Row="4" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
<TextBlock Text="Type:" Grid.Column="0" Grid.Row="4" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock> <TextBox x:Name="TextBoxTrojanGoSNI" IsReadOnly="True" Grid.Column="1" Grid.Row="4" Margin="4" MouseDoubleClick="TextBoxTrojanGoSNI_MouseDoubleClick" ></TextBox>
<TextBox x:Name="TextBoxTrojanGoType" IsReadOnly="True" Grid.Column="1" Grid.Row="4" Margin="4" MouseDoubleClick="TextBoxTrojanGoType_MouseDoubleClick"></TextBox>
<TextBlock x:Name="TextBlockTrojanGoWebSocketPath" Text="{DynamicResource TextBlockTrojanGoWebSocketPath}" Grid.Column="0" Grid.Row="5" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
<TextBox x:Name="TextBoxTrojanGoWSPath" IsReadOnly="True" Grid.Column="1" Grid.Row="5" Margin="4" MouseDoubleClick="TextBoxTrojanGoWSPath_MouseDoubleClick"></TextBox>
<TextBlock x:Name="TextBlockTrojanGoCaption" Grid.Column="2" Grid.Row="4"></TextBlock>
<TextBlock x:Name="TextBlockMuxSelect" Text="{DynamicResource CheckBoxMuxSelect}" Grid.Column="0" Grid.Row="6" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock> <TextBlock Text="Type:" Grid.Column="0" Grid.Row="5" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
<Grid x:Name="GridMuxSelect" Grid.Column="1" Grid.Row="6"> <TextBox x:Name="TextBoxTrojanGoType" IsReadOnly="True" Grid.Column="1" Grid.Row="5" Margin="4" MouseDoubleClick="TextBoxTrojanGoType_MouseDoubleClick"></TextBox>
<TextBlock x:Name="TextBlockTrojanGoHost" Text="Host:" Grid.Column="0" Grid.Row="6" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
<TextBox x:Name="TextBoxTrojanGoHost" IsReadOnly="True" Grid.Column="1" Grid.Row="6" Margin="4" MouseDoubleClick="TextBoxTrojanGoHost_MouseDoubleClick"></TextBox>
<TextBlock x:Name="TextBlockTrojanGoWebSocketPath" Text="{DynamicResource TextBlockTrojanGoWebSocketPath}" Grid.Column="0" Grid.Row="7" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
<TextBox x:Name="TextBoxTrojanGoWSPath" IsReadOnly="True" Grid.Column="1" Grid.Row="7" Margin="4" MouseDoubleClick="TextBoxTrojanGoWSPath_MouseDoubleClick"></TextBox>
<TextBlock x:Name="TextBlockTrojanGoCaption" Grid.Column="2" Grid.Row="7"></TextBlock>
<TextBlock x:Name="TextBlockMuxSelect" Text="{DynamicResource CheckBoxMuxSelect}" Grid.Column="0" Grid.Row="8" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
<Grid x:Name="GridMuxSelect" Grid.Column="1" Grid.Row="8">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="85"></ColumnDefinition> <ColumnDefinition Width="85"></ColumnDefinition>
<ColumnDefinition Width="50"></ColumnDefinition> <ColumnDefinition Width="50"></ColumnDefinition>
@ -142,8 +148,8 @@
<TextBox x:Name="TextBoxIdle_timeout" Grid.Column="3" Margin="5" MouseDoubleClick="TextBoxIdle_timeout_MouseDoubleClick"/> <TextBox x:Name="TextBoxIdle_timeout" Grid.Column="3" Margin="5" MouseDoubleClick="TextBoxIdle_timeout_MouseDoubleClick"/>
<TextBlock Grid.Column="4" Text="s" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock> <TextBlock Grid.Column="4" Text="s" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
</Grid> </Grid>
<TextBlock x:Name="TextBlockExplainCheckBoxMuxSelectResult" Text="{DynamicResource TextBlockExplainCheckBoxMuxSelectResult}" TextWrapping="Wrap" Grid.Column="2" Grid.Row="6" Grid.RowSpan="2"></TextBlock> <TextBlock x:Name="TextBlockExplainCheckBoxMuxSelectResult" Text="{DynamicResource TextBlockExplainCheckBoxMuxSelectResult}" TextWrapping="Wrap" Grid.Column="2" Grid.Row="8" Grid.RowSpan="2"></TextBlock>
<TextBlock Text="{DynamicResource TextBlockCopyToClipExplain}" Grid.Column="0" Grid.Row="7" Grid.ColumnSpan="2" Margin="5" VerticalAlignment="Center"></TextBlock> <TextBlock Text="{DynamicResource TextBlockCopyToClipExplain}" Grid.Column="0" Grid.Row="9" Grid.ColumnSpan="2" Margin="5" VerticalAlignment="Center"></TextBlock>
</Grid> </Grid>
</GroupBox> </GroupBox>
<!-- Trojan客户端配置参数 --> <!-- Trojan客户端配置参数 -->

View File

@ -358,6 +358,8 @@ namespace ProxySU
GroupBoxSSRClient.Visibility = Visibility.Collapsed; GroupBoxSSRClient.Visibility = Visibility.Collapsed;
GroupBoxClientSS.Visibility = Visibility.Collapsed; GroupBoxClientSS.Visibility = Visibility.Collapsed;
TextBlockTrojanGoHost.Visibility = Visibility.Hidden;
TextBoxTrojanGoHost.Visibility = Visibility.Hidden;
TextBoxTrojanGoWSPath.Visibility = Visibility.Hidden; TextBoxTrojanGoWSPath.Visibility = Visibility.Hidden;
TextBlockTrojanGoWebSocketPath.Visibility = Visibility.Hidden; TextBlockTrojanGoWebSocketPath.Visibility = Visibility.Hidden;
TextBlockTrojanGoCaption.Visibility = Visibility.Hidden; TextBlockTrojanGoCaption.Visibility = Visibility.Hidden;
@ -375,12 +377,20 @@ namespace ProxySU
TextBoxTrojanGoServerPort.Text = "443"; TextBoxTrojanGoServerPort.Text = "443";
//密钥uuid //密钥uuid
TextBoxTrojanGoServerPassword.Text = MainWindow.ReceiveConfigurationParameters[2]; TextBoxTrojanGoServerPassword.Text = MainWindow.ReceiveConfigurationParameters[2];
//SNI
TextBoxTrojanGoSNI.Text = MainWindow.ReceiveConfigurationParameters[4];
//TrojanGo 使用类型 //TrojanGo 使用类型
TextBoxTrojanGoType.Text = "original"; TextBoxTrojanGoType.Text = "original";
//WebSocket路径
//WebSocket设置
if (MainWindow.ReceiveConfigurationParameters[0].Equals("TrojanGoWebSocketTLS2Web")) if (MainWindow.ReceiveConfigurationParameters[0].Equals("TrojanGoWebSocketTLS2Web"))
{ {
TextBoxTrojanGoType.Text = "ws"; TextBoxTrojanGoType.Text = "ws";
//Host
TextBoxTrojanGoHost.Text = MainWindow.ReceiveConfigurationParameters[4];
TextBlockTrojanGoHost.Visibility = Visibility.Visible;
TextBoxTrojanGoHost.Visibility = Visibility.Visible;
//Path
TextBoxTrojanGoWSPath.Text = MainWindow.ReceiveConfigurationParameters[6]; TextBoxTrojanGoWSPath.Text = MainWindow.ReceiveConfigurationParameters[6];
TextBoxTrojanGoWSPath.Visibility = Visibility.Visible; TextBoxTrojanGoWSPath.Visibility = Visibility.Visible;
TextBlockTrojanGoWebSocketPath.Visibility = Visibility.Visible; TextBlockTrojanGoWebSocketPath.Visibility = Visibility.Visible;
@ -2122,10 +2132,18 @@ namespace ProxySU
{ {
CopyToClipboard(TextBoxTrojanGoServerPassword.Text); CopyToClipboard(TextBoxTrojanGoServerPassword.Text);
} }
private void TextBoxTrojanGoSNI_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
CopyToClipboard(TextBoxTrojanGoSNI.Text);
}
private void TextBoxTrojanGoType_MouseDoubleClick(object sender, MouseButtonEventArgs e) private void TextBoxTrojanGoType_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{ {
CopyToClipboard(TextBoxTrojanGoType.Text); CopyToClipboard(TextBoxTrojanGoType.Text);
} }
private void TextBoxTrojanGoHost_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
CopyToClipboard(TextBoxTrojanGoHost.Text);
}
private void TextBoxTrojanGoWSPath_MouseDoubleClick(object sender, MouseButtonEventArgs e) private void TextBoxTrojanGoWSPath_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{ {
CopyToClipboard(TextBoxTrojanGoWSPath.Text); CopyToClipboard(TextBoxTrojanGoWSPath.Text);
@ -2148,9 +2166,9 @@ namespace ProxySU
string trojanGoHost = TextBoxTrojanGoServerHost.Text; string trojanGoHost = TextBoxTrojanGoServerHost.Text;
string trojanGoPort = TextBoxTrojanGoServerPort.Text; string trojanGoPort = TextBoxTrojanGoServerPort.Text;
string trojanGoSni = EncodeURIComponent(trojanGoHost); string trojanGoSni = EncodeURIComponent(TextBoxTrojanGoSNI.Text);
string trojanGoType= EncodeURIComponent(TextBoxTrojanGoType.Text); string trojanGoType= EncodeURIComponent(TextBoxTrojanGoType.Text);
string trojanGohostName = EncodeURIComponent(trojanGoHost); string trojanGohostName = EncodeURIComponent(TextBoxTrojanGoHost.Text);
string trojanGoPath = EncodeURIComponent(TextBoxTrojanGoWSPath.Text); string trojanGoPath = EncodeURIComponent(TextBoxTrojanGoWSPath.Text);
string trojanGoEncryption = EncodeURIComponent(""); string trojanGoEncryption = EncodeURIComponent("");
@ -3100,7 +3118,9 @@ namespace ProxySU
return spaceString + strTemp; return spaceString + strTemp;
} }
} }

Binary file not shown.

View File

@ -9,12 +9,14 @@
], ],
"disable_http_check": true, "disable_http_check": true,
"ssl": { "ssl": {
"sni": "",
"cert": "", "cert": "",
"key": "" "key": ""
}, },
"websocket": { "websocket": {
"enabled": false, "enabled": false,
"path": "" "path": "",
"host": ""
}, },
"mux": { "mux": {
"enabled": false, "enabled": false,