mirror of
https://github.com/proxysu/ProxySU.git
synced 2024-11-25 22:56:09 +03:00
添加非root账户登录提示,优化代码
This commit is contained in:
parent
ee8857c969
commit
4f1018935e
@ -121,7 +121,7 @@
|
|||||||
<Button x:Name="ButtonUpdateV2ray" Content="检测/升级V2Ray版本" Grid.Column="0" Grid.Row="0" Margin="5" Click="ButtonUpdateV2ray_Click"></Button>
|
<Button x:Name="ButtonUpdateV2ray" Content="检测/升级V2Ray版本" Grid.Column="0" Grid.Row="0" Margin="5" Click="ButtonUpdateV2ray_Click"></Button>
|
||||||
<!--<Button x:Name="ButtonGuideConfiguration" Visibility="Visible" Content="启用向导" Grid.Column="0" Grid.Row="0" Click="ButtonGuideConfiguration_Click"></Button>
|
<!--<Button x:Name="ButtonGuideConfiguration" Visibility="Visible" Content="启用向导" Grid.Column="0" Grid.Row="0" Click="ButtonGuideConfiguration_Click"></Button>
|
||||||
<TextBlock Text="通过向导生成配置文件" Visibility="Visible" Grid.Column="0" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Center"></TextBlock>-->
|
<TextBlock Text="通过向导生成配置文件" Visibility="Visible" Grid.Column="0" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Center"></TextBlock>-->
|
||||||
<Button x:Name="ButtonTemplateConfiguration" Content="模板库" Grid.Column="1" Grid.Row="0" Margin="5" Click="ButtonTemplateConfiguration_Click"></Button>
|
<Button x:Name="ButtonTemplateConfiguration" Content="V2ray模板库" Grid.Column="1" Grid.Row="0" Margin="5" Click="ButtonTemplateConfiguration_Click"></Button>
|
||||||
<!--<TextBlock Text="模板库" Grid.Column="1" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Center"></TextBlock>-->
|
<!--<TextBlock Text="模板库" Grid.Column="1" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Center"></TextBlock>-->
|
||||||
<!--<Button x:Name="ButtonAdvancedConfiguration" Visibility="Visible" Content="配置编辑器" Grid.Column="2" Grid.Row="0" Click="ButtonAdvancedConfiguration_Click"></Button>
|
<!--<Button x:Name="ButtonAdvancedConfiguration" Visibility="Visible" Content="配置编辑器" Grid.Column="2" Grid.Row="0" Click="ButtonAdvancedConfiguration_Click"></Button>
|
||||||
<TextBlock Text="配置文件高级生成器
(有经验用户可以使用)" Visibility="Visible" Grid.Column="2" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Center"></TextBlock>-->
|
<TextBlock Text="配置文件高级生成器
(有经验用户可以使用)" Visibility="Visible" Grid.Column="2" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Center"></TextBlock>-->
|
||||||
@ -150,8 +150,8 @@
|
|||||||
|
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
<Button x:Name="ButtonUpdateTrojan" Content="检测/升级Trojan版本" Grid.Column="0" Grid.Row="0" Margin="5" Click="ButtonUpdateTrojan_Click"></Button>
|
<Button x:Name="ButtonUpdateTrojan" Content="检测/升级Trojan版本" Grid.Column="0" Grid.Row="0" Margin="5" Click="ButtonUpdateTrojan_Click"></Button>
|
||||||
<Button x:Name="ButtonTrojanTemplate" Content="Trojan设置" Grid.Column="1" Grid.Row="0" Margin="5" Click="ButtonTrojanTemplate_Click"/>
|
<Button x:Name="ButtonTrojanTemplate" Content="Trojan参数设置" Grid.Column="1" Grid.Row="0" Margin="5" Click="ButtonTrojanTemplate_Click"/>
|
||||||
<TextBlock Text="Trojan参数设置" Grid.Column="1" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Center"></TextBlock>
|
<!--<TextBlock Text="Trojan参数设置" Grid.Column="1" Grid.Row="1" Grid.RowSpan="2" HorizontalAlignment="Center"></TextBlock>-->
|
||||||
|
|
||||||
<Button x:Name="ButtonTrojanSetUp" Content="Trojan一键安装" Grid.ColumnSpan="1" Margin="10" Grid.Column="0" Grid.Row="2" Click="ButtonTrojanSetUp_Click"/>
|
<Button x:Name="ButtonTrojanSetUp" Content="Trojan一键安装" Grid.ColumnSpan="1" Margin="10" Grid.Column="0" Grid.Row="2" Click="ButtonTrojanSetUp_Click"/>
|
||||||
<Button x:Name="ButtonTrojanCancel" Content="取消" Grid.ColumnSpan="1" Margin="10" Grid.Column="2" Grid.Row="2" Click="Button_canel_Click"></Button>
|
<Button x:Name="ButtonTrojanCancel" Content="取消" Grid.ColumnSpan="1" Margin="10" Grid.Column="2" Grid.Row="2" Click="Button_canel_Click"></Button>
|
||||||
|
@ -427,7 +427,6 @@ namespace ProxySU
|
|||||||
private void StartSetUpV2ray(ConnectionInfo connectionInfo,TextBlock textBlockName, ProgressBar progressBar, string serverConfig,string clientConfig,string upLoadPath)
|
private void StartSetUpV2ray(ConnectionInfo connectionInfo,TextBlock textBlockName, ProgressBar progressBar, string serverConfig,string clientConfig,string upLoadPath)
|
||||||
{
|
{
|
||||||
string currentStatus = "正在登录远程主机......";
|
string currentStatus = "正在登录远程主机......";
|
||||||
|
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
|
|
||||||
try
|
try
|
||||||
@ -469,6 +468,14 @@ namespace ProxySU
|
|||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
}
|
}
|
||||||
|
//检测是否运行在root权限下
|
||||||
|
string testRootAuthority = client.RunCommand(@"id -u").Result;
|
||||||
|
if (testRootAuthority.Equals("0")==false)
|
||||||
|
{
|
||||||
|
MessageBox.Show("请使用具有root权限的账户登录主机!!");
|
||||||
|
client.Disconnect();
|
||||||
|
return;
|
||||||
|
}
|
||||||
//检测是否安装有V2ray
|
//检测是否安装有V2ray
|
||||||
currentStatus = "检测系统是否已经安装V2ray......";
|
currentStatus = "检测系统是否已经安装V2ray......";
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
@ -488,6 +495,7 @@ namespace ProxySU
|
|||||||
currentStatus = "安装取消,退出";
|
currentStatus = "安装取消,退出";
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
|
client.Disconnect();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -526,6 +534,7 @@ namespace ProxySU
|
|||||||
currentStatus = "系统环境不满足要求,安装失败!!";
|
currentStatus = "系统环境不满足要求,安装失败!!";
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
|
client.Disconnect();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//判断是否启用了SELinux,如果启用了,并且工作在Enforcing模式下,则改为Permissive模式
|
//判断是否启用了SELinux,如果启用了,并且工作在Enforcing模式下,则改为Permissive模式
|
||||||
@ -562,6 +571,7 @@ namespace ProxySU
|
|||||||
currentStatus = "时间较对失败......";
|
currentStatus = "时间较对失败......";
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
|
client.Disconnect();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//MessageBox.Show(timesStamp2.ToString());
|
//MessageBox.Show(timesStamp2.ToString());
|
||||||
@ -611,6 +621,7 @@ namespace ProxySU
|
|||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
MessageBox.Show("域名未能正确解析到当前VPS的IP上,请检查!若解析设置正确,请等待生效后再重试安装。如果域名使用了CDN,请先关闭!");
|
MessageBox.Show("域名未能正确解析到当前VPS的IP上,请检查!若解析设置正确,请等待生效后再重试安装。如果域名使用了CDN,请先关闭!");
|
||||||
|
client.Disconnect();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -650,6 +661,7 @@ namespace ProxySU
|
|||||||
currentStatus = "端口被占用,安装失败......";
|
currentStatus = "端口被占用,安装失败......";
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
|
client.Disconnect();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -723,6 +735,7 @@ namespace ProxySU
|
|||||||
client.Disconnect();
|
client.Disconnect();
|
||||||
currentStatus = "安装V2ray失败(官方脚本go.sh运行出错!";
|
currentStatus = "安装V2ray失败(官方脚本go.sh运行出错!";
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
|
client.Disconnect();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
client.RunCommand("mv /etc/v2ray/config.json /etc/v2ray/config.json.1");
|
client.RunCommand("mv /etc/v2ray/config.json /etc/v2ray/config.json.1");
|
||||||
@ -1220,6 +1233,15 @@ namespace ProxySU
|
|||||||
using (var client = new SshClient(testconnect))
|
using (var client = new SshClient(testconnect))
|
||||||
{
|
{
|
||||||
client.Connect();
|
client.Connect();
|
||||||
|
|
||||||
|
//检测是否运行在root权限下
|
||||||
|
string testRootAuthority = client.RunCommand(@"id -u").Result;
|
||||||
|
if (testRootAuthority.Equals("0") == false)
|
||||||
|
{
|
||||||
|
MessageBox.Show("请使用具有root权限的账户登录主机!!");
|
||||||
|
client.Disconnect();
|
||||||
|
return;
|
||||||
|
}
|
||||||
string cmdTestPort;
|
string cmdTestPort;
|
||||||
string cmdResult;
|
string cmdResult;
|
||||||
cmdTestPort = @"lsof -n -P -i :443 | grep LISTEN";
|
cmdTestPort = @"lsof -n -P -i :443 | grep LISTEN";
|
||||||
@ -1388,6 +1410,15 @@ namespace ProxySU
|
|||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//检测是否运行在root权限下
|
||||||
|
string testRootAuthority = client.RunCommand(@"id -u").Result;
|
||||||
|
if (testRootAuthority.Equals("0") == false)
|
||||||
|
{
|
||||||
|
MessageBox.Show("请使用具有root权限的账户登录主机!!");
|
||||||
|
client.Disconnect();
|
||||||
|
return;
|
||||||
|
}
|
||||||
//检测是否安装有Trojan
|
//检测是否安装有Trojan
|
||||||
currentStatus = "检测系统是否已经安装Trojan......";
|
currentStatus = "检测系统是否已经安装Trojan......";
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
@ -1404,6 +1435,7 @@ namespace ProxySU
|
|||||||
currentStatus = "安装取消,退出";
|
currentStatus = "安装取消,退出";
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
|
client.Disconnect();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1443,6 +1475,7 @@ namespace ProxySU
|
|||||||
currentStatus = "系统环境不满足要求,安装失败!!";
|
currentStatus = "系统环境不满足要求,安装失败!!";
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
|
client.Disconnect();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//判断是否启用了SELinux,如果启用了,并且工作在Enforcing模式下,则改为Permissive模式
|
//判断是否启用了SELinux,如果启用了,并且工作在Enforcing模式下,则改为Permissive模式
|
||||||
@ -1505,6 +1538,7 @@ namespace ProxySU
|
|||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
MessageBox.Show("域名未能正确解析到当前VPS的IP上,请检查!若解析设置正确,请等待生效后再重试安装。如果域名使用了CDN,请先关闭!");
|
MessageBox.Show("域名未能正确解析到当前VPS的IP上,请检查!若解析设置正确,请等待生效后再重试安装。如果域名使用了CDN,请先关闭!");
|
||||||
|
client.Disconnect();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1544,6 +1578,7 @@ namespace ProxySU
|
|||||||
currentStatus = "端口被占用,安装失败......";
|
currentStatus = "端口被占用,安装失败......";
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
|
client.Disconnect();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1618,6 +1653,7 @@ namespace ProxySU
|
|||||||
client.Disconnect();
|
client.Disconnect();
|
||||||
currentStatus = "安装Trojan失败(官方脚本运行出错!";
|
currentStatus = "安装Trojan失败(官方脚本运行出错!";
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
|
client.Disconnect();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
client.RunCommand("mv /usr/local/etc/trojan/config.json /usr/local/etc/trojan/config.json.1");
|
client.RunCommand("mv /usr/local/etc/trojan/config.json /usr/local/etc/trojan/config.json.1");
|
||||||
@ -1993,6 +2029,14 @@ namespace ProxySU
|
|||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
}
|
}
|
||||||
|
//检测是否运行在root权限下
|
||||||
|
string testRootAuthority = client.RunCommand(@"id -u").Result;
|
||||||
|
if (testRootAuthority.Equals("0") == false)
|
||||||
|
{
|
||||||
|
MessageBox.Show("请使用具有root权限的账户登录主机!!");
|
||||||
|
client.Disconnect();
|
||||||
|
return;
|
||||||
|
}
|
||||||
//检测是否安装有NaiveProxy
|
//检测是否安装有NaiveProxy
|
||||||
currentStatus = "检测系统是否已经安装NaiveProxy......";
|
currentStatus = "检测系统是否已经安装NaiveProxy......";
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
@ -2009,6 +2053,7 @@ namespace ProxySU
|
|||||||
currentStatus = "安装取消,退出";
|
currentStatus = "安装取消,退出";
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
|
client.Disconnect();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2048,6 +2093,7 @@ namespace ProxySU
|
|||||||
currentStatus = "系统环境不满足要求,安装失败!!";
|
currentStatus = "系统环境不满足要求,安装失败!!";
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
|
client.Disconnect();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//判断是否启用了SELinux,如果启用了,并且工作在Enforcing模式下,则改为Permissive模式
|
//判断是否启用了SELinux,如果启用了,并且工作在Enforcing模式下,则改为Permissive模式
|
||||||
@ -2103,6 +2149,7 @@ namespace ProxySU
|
|||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
MessageBox.Show("域名未能正确解析到当前VPS的IP上,请检查!若解析设置正确,请等待生效后再重试安装。如果域名使用了CDN,请先关闭!");
|
MessageBox.Show("域名未能正确解析到当前VPS的IP上,请检查!若解析设置正确,请等待生效后再重试安装。如果域名使用了CDN,请先关闭!");
|
||||||
|
client.Disconnect();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2118,6 +2165,7 @@ namespace ProxySU
|
|||||||
currentStatus = "端口被占用,安装失败......";
|
currentStatus = "端口被占用,安装失败......";
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
|
client.Disconnect();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2170,6 +2218,7 @@ namespace ProxySU
|
|||||||
client.Disconnect();
|
client.Disconnect();
|
||||||
currentStatus = "安装NaiveProxy失败(脚本运行出错!";
|
currentStatus = "安装NaiveProxy失败(脚本运行出错!";
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
|
client.Disconnect();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2274,8 +2323,12 @@ namespace ProxySU
|
|||||||
//启动Caddy服务
|
//启动Caddy服务
|
||||||
client.RunCommand("caddy -service restart");
|
client.RunCommand("caddy -service restart");
|
||||||
|
|
||||||
|
currentStatus = "正在优化网络参数......";
|
||||||
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
|
Thread.Sleep(1000);
|
||||||
|
|
||||||
//优化网络参数
|
//优化网络参数
|
||||||
sshCmd= @"bash - c 'echo ""fs.file-max = 51200"" >> /etc/sysctl.conf'";
|
sshCmd = @"bash - c 'echo ""fs.file-max = 51200"" >> /etc/sysctl.conf'";
|
||||||
client.RunCommand(sshCmd);
|
client.RunCommand(sshCmd);
|
||||||
sshCmd = @"bash - c 'echo ""net.core.rmem_max = 67108864"" >> /etc/sysctl.conf'";
|
sshCmd = @"bash - c 'echo ""net.core.rmem_max = 67108864"" >> /etc/sysctl.conf'";
|
||||||
client.RunCommand(sshCmd);
|
client.RunCommand(sshCmd);
|
||||||
@ -2314,6 +2367,10 @@ namespace ProxySU
|
|||||||
sshCmd = @"sysctl -p";
|
sshCmd = @"sysctl -p";
|
||||||
client.RunCommand(sshCmd);
|
client.RunCommand(sshCmd);
|
||||||
|
|
||||||
|
currentStatus = "优化网络参数,OK!";
|
||||||
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
|
Thread.Sleep(1000);
|
||||||
|
|
||||||
//测试BBR条件,若满足提示是否启用
|
//测试BBR条件,若满足提示是否启用
|
||||||
var result = client.RunCommand("uname -r");
|
var result = client.RunCommand("uname -r");
|
||||||
//var result = client.RunCommand("cat /root/test.ver");
|
//var result = client.RunCommand("cat /root/test.ver");
|
||||||
@ -2460,6 +2517,14 @@ namespace ProxySU
|
|||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
}
|
}
|
||||||
|
//检测是否运行在root权限下
|
||||||
|
string testRootAuthority = client.RunCommand(@"id -u").Result;
|
||||||
|
if (testRootAuthority.Equals("0") == false)
|
||||||
|
{
|
||||||
|
MessageBox.Show("请使用具有root权限的账户登录主机!!");
|
||||||
|
client.Disconnect();
|
||||||
|
return;
|
||||||
|
}
|
||||||
//检测远程主机系统环境是否符合要求
|
//检测远程主机系统环境是否符合要求
|
||||||
currentStatus = "检测系统内核版本是否符合要求......";
|
currentStatus = "检测系统内核版本是否符合要求......";
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
@ -2655,6 +2720,14 @@ namespace ProxySU
|
|||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
}
|
}
|
||||||
|
//检测是否运行在root权限下
|
||||||
|
string testRootAuthority = client.RunCommand(@"id -u").Result;
|
||||||
|
if (testRootAuthority.Equals("0") == false)
|
||||||
|
{
|
||||||
|
MessageBox.Show("请使用具有root权限的账户登录主机!!");
|
||||||
|
client.Disconnect();
|
||||||
|
return;
|
||||||
|
}
|
||||||
//检测远程主机V2ray版本
|
//检测远程主机V2ray版本
|
||||||
currentStatus = "检测远程主机V2ray版本......";
|
currentStatus = "检测远程主机V2ray版本......";
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
@ -2672,6 +2745,7 @@ namespace ProxySU
|
|||||||
currentStatus = "未安装V2ray,退出";
|
currentStatus = "未安装V2ray,退出";
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
|
client.Disconnect();
|
||||||
return;
|
return;
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -2694,6 +2768,7 @@ namespace ProxySU
|
|||||||
currentStatus = "升级取消,退出";
|
currentStatus = "升级取消,退出";
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
|
client.Disconnect();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -2830,6 +2905,14 @@ namespace ProxySU
|
|||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
}
|
}
|
||||||
|
//检测是否运行在root权限下
|
||||||
|
string testRootAuthority = client.RunCommand(@"id -u").Result;
|
||||||
|
if (testRootAuthority.Equals("0") == false)
|
||||||
|
{
|
||||||
|
MessageBox.Show("请使用具有root权限的账户登录主机!!");
|
||||||
|
client.Disconnect();
|
||||||
|
return;
|
||||||
|
}
|
||||||
//检测远程主机V2ray版本
|
//检测远程主机V2ray版本
|
||||||
currentStatus = "检测远程主机Trojan版本......";
|
currentStatus = "检测远程主机Trojan版本......";
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
@ -2847,6 +2930,7 @@ namespace ProxySU
|
|||||||
currentStatus = "未安装Trojan,退出";
|
currentStatus = "未安装Trojan,退出";
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
|
client.Disconnect();
|
||||||
return;
|
return;
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -2869,6 +2953,7 @@ namespace ProxySU
|
|||||||
currentStatus = "升级取消,退出";
|
currentStatus = "升级取消,退出";
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
|
client.Disconnect();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -2957,8 +3042,6 @@ namespace ProxySU
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//生成三合一的v2ray路径
|
//生成三合一的v2ray路径
|
||||||
private void ButtonV2rayPath3in1_Click(object sender, RoutedEventArgs e)
|
private void ButtonV2rayPath3in1_Click(object sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
@ -3083,6 +3166,14 @@ namespace ProxySU
|
|||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
}
|
}
|
||||||
|
//检测是否运行在root权限下
|
||||||
|
string testRootAuthority = client.RunCommand(@"id -u").Result;
|
||||||
|
if (testRootAuthority.Equals("0") == false)
|
||||||
|
{
|
||||||
|
MessageBox.Show("请使用具有root权限的账户登录主机!!");
|
||||||
|
client.Disconnect();
|
||||||
|
return;
|
||||||
|
}
|
||||||
//检测是否安装有V2ray
|
//检测是否安装有V2ray
|
||||||
currentStatus = "检测系统是否已经安装 V2ray or Trojan or NaiveProxy......";
|
currentStatus = "检测系统是否已经安装 V2ray or Trojan or NaiveProxy......";
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
@ -3102,6 +3193,7 @@ namespace ProxySU
|
|||||||
currentStatus = "安装取消,退出";
|
currentStatus = "安装取消,退出";
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
|
client.Disconnect();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3148,6 +3240,7 @@ namespace ProxySU
|
|||||||
currentStatus = "系统环境不满足要求,安装失败!!";
|
currentStatus = "系统环境不满足要求,安装失败!!";
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
|
client.Disconnect();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//判断是否启用了SELinux,如果启用了,并且工作在Enforcing模式下,则改为Permissive模式
|
//判断是否启用了SELinux,如果启用了,并且工作在Enforcing模式下,则改为Permissive模式
|
||||||
@ -3179,6 +3272,7 @@ namespace ProxySU
|
|||||||
currentStatus = "时间较对失败......";
|
currentStatus = "时间较对失败......";
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
|
client.Disconnect();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3223,6 +3317,7 @@ namespace ProxySU
|
|||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
MessageBox.Show("域名未能正确解析到当前VPS的IP上,请检查!若解析设置正确,请等待生效后再重试安装。如果域名使用了CDN,请先关闭!");
|
MessageBox.Show("域名未能正确解析到当前VPS的IP上,请检查!若解析设置正确,请等待生效后再重试安装。如果域名使用了CDN,请先关闭!");
|
||||||
|
client.Disconnect();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3259,6 +3354,7 @@ namespace ProxySU
|
|||||||
currentStatus = "端口被占用,安装失败......";
|
currentStatus = "端口被占用,安装失败......";
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
|
client.Disconnect();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3323,6 +3419,7 @@ namespace ProxySU
|
|||||||
client.Disconnect();
|
client.Disconnect();
|
||||||
currentStatus = "安装V2ray失败(官方脚本go.sh运行出错!";
|
currentStatus = "安装V2ray失败(官方脚本go.sh运行出错!";
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
|
client.Disconnect();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
client.RunCommand("mv /etc/v2ray/config.json /etc/v2ray/config.json.1");
|
client.RunCommand("mv /etc/v2ray/config.json /etc/v2ray/config.json.1");
|
||||||
@ -3374,6 +3471,7 @@ namespace ProxySU
|
|||||||
client.Disconnect();
|
client.Disconnect();
|
||||||
currentStatus = "安装Trojan失败(官方脚本运行出错!";
|
currentStatus = "安装Trojan失败(官方脚本运行出错!";
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
|
client.Disconnect();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
client.RunCommand("mv /usr/local/etc/trojan/config.json /usr/local/etc/trojan/config.json.1");
|
client.RunCommand("mv /usr/local/etc/trojan/config.json /usr/local/etc/trojan/config.json.1");
|
||||||
@ -3419,6 +3517,7 @@ namespace ProxySU
|
|||||||
client.Disconnect();
|
client.Disconnect();
|
||||||
currentStatus = "安装NaiveProxy失败(脚本运行出错!";
|
currentStatus = "安装NaiveProxy失败(脚本运行出错!";
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
|
client.Disconnect();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3558,6 +3657,54 @@ namespace ProxySU
|
|||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
currentStatus = "正在优化网络参数......";
|
||||||
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
|
Thread.Sleep(1000);
|
||||||
|
//优化网络参数
|
||||||
|
sshCmd = @"bash - c 'echo ""fs.file-max = 51200"" >> /etc/sysctl.conf'";
|
||||||
|
client.RunCommand(sshCmd);
|
||||||
|
sshCmd = @"bash - c 'echo ""net.core.rmem_max = 67108864"" >> /etc/sysctl.conf'";
|
||||||
|
client.RunCommand(sshCmd);
|
||||||
|
sshCmd = @"bash - c 'echo ""net.core.wmem_max = 67108864"" >> /etc/sysctl.conf'";
|
||||||
|
client.RunCommand(sshCmd);
|
||||||
|
sshCmd = @"bash - c 'echo ""net.core.rmem_default = 65536"" >> /etc/sysctl.conf'";
|
||||||
|
client.RunCommand(sshCmd);
|
||||||
|
sshCmd = @"bash - c 'echo ""net.core.wmem_default = 65536"" >> /etc/sysctl.conf'";
|
||||||
|
client.RunCommand(sshCmd);
|
||||||
|
sshCmd = @"bash - c 'echo ""net.core.netdev_max_backlog = 4096"" >> /etc/sysctl.conf'";
|
||||||
|
client.RunCommand(sshCmd);
|
||||||
|
sshCmd = @"bash - c 'echo ""net.core.somaxconn = 4096"" >> /etc/sysctl.conf'";
|
||||||
|
client.RunCommand(sshCmd);
|
||||||
|
sshCmd = @"bash - c 'echo ""net.ipv4.tcp_syncookies = 1"" >> /etc/sysctl.conf'";
|
||||||
|
client.RunCommand(sshCmd);
|
||||||
|
sshCmd = @"bash - c 'echo ""net.ipv4.tcp_tw_reuse = 1"" >> /etc/sysctl.conf'";
|
||||||
|
client.RunCommand(sshCmd);
|
||||||
|
sshCmd = @"bash - c 'echo ""net.ipv4.tcp_tw_recycle = 0"" >> /etc/sysctl.conf'";
|
||||||
|
client.RunCommand(sshCmd);
|
||||||
|
sshCmd = @"bash - c 'echo ""net.ipv4.tcp_fin_timeout = 30"" >> /etc/sysctl.conf'";
|
||||||
|
client.RunCommand(sshCmd);
|
||||||
|
sshCmd = @"bash - c 'echo ""net.ipv4.tcp_keepalive_time = 1200"" >> /etc/sysctl.conf'";
|
||||||
|
client.RunCommand(sshCmd);
|
||||||
|
sshCmd = @"bash - c 'echo ""net.ipv4.ip_local_port_range = 10000 65000"" >> /etc/sysctl.conf'";
|
||||||
|
client.RunCommand(sshCmd);
|
||||||
|
sshCmd = @"bash - c 'echo ""net.ipv4.tcp_max_syn_backlog = 4096"" >> /etc/sysctl.conf'";
|
||||||
|
client.RunCommand(sshCmd);
|
||||||
|
sshCmd = @"bash - c 'echo ""net.ipv4.tcp_max_tw_buckets = 5000"" >> /etc/sysctl.conf'";
|
||||||
|
client.RunCommand(sshCmd);
|
||||||
|
sshCmd = @"bash - c 'echo ""net.ipv4.tcp_rmem = 4096 87380 67108864"" >> /etc/sysctl.conf'";
|
||||||
|
client.RunCommand(sshCmd);
|
||||||
|
sshCmd = @"bash - c 'echo ""net.ipv4.tcp_wmem = 4096 65536 67108864"" >> /etc/sysctl.conf'";
|
||||||
|
client.RunCommand(sshCmd);
|
||||||
|
sshCmd = @"bash - c 'echo ""net.ipv4.tcp_mtu_probing = 1"" >> /etc/sysctl.conf'";
|
||||||
|
client.RunCommand(sshCmd);
|
||||||
|
sshCmd = @"sysctl -p";
|
||||||
|
client.RunCommand(sshCmd);
|
||||||
|
|
||||||
|
currentStatus = "优化网络参数,OK!";
|
||||||
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
|
Thread.Sleep(1000);
|
||||||
|
|
||||||
//生成客户端配置
|
//生成客户端配置
|
||||||
currentStatus = "生成客户端配置......";
|
currentStatus = "生成客户端配置......";
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
@ -3819,7 +3966,7 @@ namespace ProxySU
|
|||||||
|
|
||||||
client.Disconnect();
|
client.Disconnect();
|
||||||
|
|
||||||
currentStatus = "安装成功";
|
currentStatus = "生成客户端配置,OK! 安装成功!";
|
||||||
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
|
|
||||||
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user