1
0
mirror of https://github.com/proxysu/ProxySU.git synced 2024-11-26 07:06:08 +03:00

修正Json生成错误

This commit is contained in:
ProxySU 2020-04-06 11:48:57 +08:00
parent 873701e4cb
commit 3744b6174e
13 changed files with 29 additions and 245 deletions

View File

@ -156,13 +156,7 @@
<RowDefinition></RowDefinition> <RowDefinition></RowDefinition>
<RowDefinition></RowDefinition> <RowDefinition></RowDefinition>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Button Content="测试接收到的模参数" Grid.Column="0" Grid.Row="0" Margin="10,10,10.333,10" Click="Button_Click" Grid.ColumnSpan="2"></Button>
<Button Content="测试结果窗口" Grid.Column="0" Grid.Row="1" Margin="10,10,10.333,9.667" Click="Button_Click_1" Grid.ColumnSpan="2"></Button>
<Button Content="测试ssh命令" Grid.Column="2" Grid.Row="0" Margin="9.667,10,9.666,10" Click="Button_Click_2"></Button>
<Button Content="测试生成v2rayN导入格式" Grid.Column="3" Grid.Row="0" Margin="10.334,10,10,10" Click="Button_Click_3"></Button>
<Button Content="测试生成config.json文件" Grid.Column="2" Grid.Row="1" Margin="9.667,10,9.666,9.667" Click="Button_Click_4"></Button>
<Button Content="测试时间" Grid.Column="4" Grid.Row="0" Margin="10,10,10.333,10" Click="Button_Click_5"></Button>
<Button Content="测试字符串操作" Grid.Column="3" Grid.Row="1" Margin="10" Click="Button_Click_6"></Button>
</Grid> </Grid>
</TabItem> </TabItem>
</TabControl> </TabControl>

View File

@ -558,34 +558,26 @@ namespace ProxySU
textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus); textBlockName.Dispatcher.BeginInvoke(updateAction, textBlockName, progressBar, currentStatus);
Thread.Sleep(1000); Thread.Sleep(1000);
//生成服务端配置 //生成服务端配置
//if (!Directory.Exists("config"))//如果不存在就创建file文件夹     
//{
// Directory.CreateDirectory("config");//创建该文件夹  
//}
//string clientConfig = "TemplateConfg\\tcp_client_config.json";
using (StreamReader reader = File.OpenText(serverConfig)) using (StreamReader reader = File.OpenText(serverConfig))
{ {
JObject serverJson = (JObject)JToken.ReadFrom(new JsonTextReader(reader)); JObject serverJson = (JObject)JToken.ReadFrom(new JsonTextReader(reader));
// do stuff
//MessageBox.Show(clientJson.ToString());
//clientJson["inbounds"][0]["settings"]["vnext"][0]["address"] = ReceiveConfigurationParameters[4];
if (serverConfig.Contains("WebSocketTLSWeb") == false) if (serverConfig.Contains("WebSocketTLSWeb") == false)
{ {
serverJson["inbounds"][0]["port"] = ReceiveConfigurationParameters[1]; serverJson["inbounds"][0]["port"] = ReceiveConfigurationParameters[1];
} }
serverJson["inbounds"][0]["settings"]["clients"][0]["id"] = ReceiveConfigurationParameters[2]; serverJson["inbounds"][0]["settings"]["clients"][0]["id"] = ReceiveConfigurationParameters[2];
if (serverJson.Property("path") != null)
if (serverConfig.Contains("WebSocketTLSWeb") == true)
{ {
//成员path存在
serverJson["inbounds"][0]["streamSettings"]["wsSettings"]["path"] = ReceiveConfigurationParameters[3]; serverJson["inbounds"][0]["streamSettings"]["wsSettings"]["path"] = ReceiveConfigurationParameters[3];
} }
if (serverJson.Property("type") != null)
{
//成员type存在
serverJson["inbounds"][0]["streamSettings"]["kcpSettings"]["header"]["type"] = ReceiveConfigurationParameters[5];
if (serverConfig.Contains("mkcp") == true)
{
serverJson["inbounds"][0]["streamSettings"]["kcpSettings"]["header"]["type"] = ReceiveConfigurationParameters[5];
} }
using (StreamWriter sw = new StreamWriter(@"config.json")) using (StreamWriter sw = new StreamWriter(@"config.json"))
@ -675,24 +667,20 @@ namespace ProxySU
using (StreamReader reader = File.OpenText(clientConfig)) using (StreamReader reader = File.OpenText(clientConfig))
{ {
JObject clientJson = (JObject)JToken.ReadFrom(new JsonTextReader(reader)); JObject clientJson = (JObject)JToken.ReadFrom(new JsonTextReader(reader));
// do stuff
//MessageBox.Show(clientJson.ToString());
clientJson["outbounds"][0]["settings"]["vnext"][0]["address"] = ReceiveConfigurationParameters[4]; clientJson["outbounds"][0]["settings"]["vnext"][0]["address"] = ReceiveConfigurationParameters[4];
clientJson["outbounds"][0]["settings"]["vnext"][0]["port"] = ReceiveConfigurationParameters[1]; clientJson["outbounds"][0]["settings"]["vnext"][0]["port"] = ReceiveConfigurationParameters[1];
clientJson["outbounds"][0]["settings"]["vnext"][0]["users"][0]["id"] = ReceiveConfigurationParameters[2]; clientJson["outbounds"][0]["settings"]["vnext"][0]["users"][0]["id"] = ReceiveConfigurationParameters[2];
if (clientJson.Property("path") != null) if (clientConfig.Contains("WebSocketTLSWeb")==true)
{ {
//成员path存在
clientJson["outbounds"][0]["streamSettings"]["wsSettings"]["path"] = ReceiveConfigurationParameters[3]; clientJson["outbounds"][0]["streamSettings"]["wsSettings"]["path"] = ReceiveConfigurationParameters[3];
} }
if (clientJson.Property("type") != null) if (clientConfig.Contains("mkcp")==true)
{ {
//成员type存在
clientJson["outbounds"][0]["streamSettings"]["kcpSettings"]["header"]["type"] = ReceiveConfigurationParameters[5]; clientJson["outbounds"][0]["streamSettings"]["kcpSettings"]["header"]["type"] = ReceiveConfigurationParameters[5];
} }
using (StreamWriter sw = new StreamWriter(@"config\config.json")) using (StreamWriter sw = new StreamWriter(@"config\config.json"))
{ {
sw.Write(clientJson.ToString()); sw.Write(clientJson.ToString());
@ -920,204 +908,6 @@ namespace ProxySU
MessageBox.Show("尚未完善,敬请期待"); MessageBox.Show("尚未完善,敬请期待");
} }
#region
//测试接收到的模板参数
private void Button_Click(object sender, RoutedEventArgs e)
{
foreach (string num in ReceiveConfigurationParameters)
{
MessageBox.Show(num);
}
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
//ResultClientInformation resultClientInformation = new ResultClientInformation();
//resultClientInformation.ShowDialog();
string stampTime = "1489739011";
string sshCmd = $"date --set=\"$(date \"+%Y-%m-%d %H:%M:%S\" -d @{stampTime})\"";
MessageBox.Show(sshCmd);
}
private void Button_Click_2(object sender, RoutedEventArgs e)
{
string sshHostName = TextBoxHost.Text.ToString();
int sshPort = int.Parse(TextBoxPort.Text);
string sshUser = TextBoxUserName.Text.ToString();
string sshPassword = PasswordBoxHostPassword.Password.ToString();
ReceiveConfigurationParameters[4] = "";
//string emailAddress = ReceiveConfigurationParameters[4];
//string sshCmd;
//sshCmd = "ping "+ ReceiveConfigurationParameters[4] + " -c 1 | grep -oE -m1 \"([0-9]{1,3}\\.){3}[0-9]{1,3}\"";
//string resultCmd;
//string upLoadPath = "/etc/caddy/Caddyfile";
var connectionInfo = new PasswordConnectionInfo(sshHostName, sshPort, sshUser, sshPassword);
using (var client = new SshClient(connectionInfo))
{
client.Connect();
//MessageBox.Show(client.RunCommand("date +%s").Result.ToString());
long timesStamp1 = Convert.ToInt64(client.RunCommand("date +%s").Result.ToString());
MessageBox.Show(timesStamp1.ToString());
long timesStamp2 = timesStamp1 - 300;
MessageBox.Show(timesStamp2.ToString());
client.Disconnect();
return;
}
}
//测试生成v2rayN导入格式json
// {
// "v": "2",
// "ps": "",
// "add": "",
// "port": "",
// "id": "",
// "aid": "16",
// "net": "tcp",
// "type": "none",
// "host": "",
// "path": "",
// "tls": ""
//}
private void Button_Click_3(object sender, RoutedEventArgs e)
{
string v2rayNjsonFile = @"{
""v"": """",
""ps"": """",
""add"": """",
""port"": """",
""id"": """",
""aid"": """",
""net"": """",
""type"": """",
""host"": """",
""path"": """",
""tls"": """"
}";
//MessageBox.Show(v2rayNjsonFile);
JObject v2rayNjsonObject = JObject.Parse(v2rayNjsonFile);
v2rayNjsonObject["v"] = "2";
v2rayNjsonObject["add"] = "";
v2rayNjsonObject["port"] = "";
v2rayNjsonObject["id"] = "";
v2rayNjsonObject["aid"] = "16";
v2rayNjsonObject["net"] = "";
v2rayNjsonObject["type"] = "";
v2rayNjsonObject["host"] = "";
v2rayNjsonObject["path"] = "";
v2rayNjsonObject["tls"] = "";
v2rayNjsonObject["ps"] = v2rayNjsonObject["add"];
//MessageBox.Show(v2rayNjsonObject["v"].ToString());
}
private void Button_Click_4(object sender, RoutedEventArgs e)
{
if (!Directory.Exists("config"))//如果不存在就创建file文件夹     
{
Directory.CreateDirectory("config");//创建该文件夹  
}
string clientConfig= "TemplateConfg\\tcp_client_config.json";
using (StreamReader reader = File.OpenText(clientConfig))
{
JObject clientJson = (JObject)JToken.ReadFrom(new JsonTextReader(reader));
// do stuff
MessageBox.Show(clientJson.ToString());
clientJson["outbounds"][0]["settings"]["vnext"][0]["address"] = ReceiveConfigurationParameters[4];
clientJson["outbounds"][0]["settings"]["vnext"][0]["port"] = ReceiveConfigurationParameters[1];
clientJson["outbounds"][0]["settings"]["vnext"][0]["users"][0]["id"] = ReceiveConfigurationParameters[2];
if (clientJson.Property("path") != null)
{
//成员path存在
clientJson["outbounds"][0]["streamSettings"]["wsSettings"]["path"] = ReceiveConfigurationParameters[3];
}
if (clientJson.Property("type") != null)
{
//成员type存在
clientJson["outbounds"][0]["streamSettings"]["kcpSettings"]["header"]["type"] = ReceiveConfigurationParameters[5];
}
using (StreamWriter sw = new StreamWriter(@"config\config.json"))
{
sw.Write(clientJson.ToString());
}
}
}
private void Button_Click_6(object sender, RoutedEventArgs e)
{
string testfirst = "0123456789";
int startnum = 3, lenth = 4;
string resultstr = testfirst.Substring(startnum, lenth);
MessageBox.Show(resultstr);
}
private void Button_Click_5(object sender, RoutedEventArgs e)
{
//获取本地时间戳
//TimeSpan ts = DateTime.Now.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0, 0);
//long timeStampLocal = Convert.ToInt64(ts.TotalSeconds);
//MessageBox.Show("本地时间戳"+timeStampLocal.ToString());
//获取网络时间戳
//Thread.Sleep(1000);
try
{
TimeSpan utcTS = NetTime.GetUTCTime() - new DateTime(1970, 1, 1, 0, 0, 0, 0);
long timeStampVPS = Convert.ToInt64(utcTS.TotalSeconds);
MessageBox.Show("网络时间戳" + timeStampVPS.ToString());
}
catch(Exception ex1)
{
MessageBox.Show(ex1.ToString());
}
//string netDatetime = NetTime.GetUTCTime().AddHours(8).ToString();
//MessageBox.Show(netDatetime);
//TimeZoneInfo localZone = TimeZoneInfo.Local;
////MessageBox.Show($"Local Time Zone ID: {localZone.Id}");
//MessageBox.Show($"Display Name is: {localZone.DisplayName}.");
//MessageBox.Show($"Standard name is: {localZone.StandardName}.");
//MessageBox.Show($" Daylight saving name is: {localZone.DaylightName}.");
//HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://www.tsa.cn");
//request.Method = "HEAD";
//request.AllowAutoRedirect = false;
//HttpWebResponse reponse = (HttpWebResponse)request.GetResponse();
//string cc = reponse.GetResponseHeader("date");
//reponse.Close();
//MessageBox.Show(cc);
//DateTime time;
//bool s = GMTStrParse(cc, out time);
//return time.AddHours(8); //GMT要加8个小时才是北京时间
//WebRequest wrt = null;
//WebResponse wrp = null;
//wrt = WebRequest.Create("https://www.tsa.cn/");
//wrp = wrt.GetResponse();
//string html = string.Empty;
//using (Stream stream = wrp.GetResponseStream())
//{
// using (StreamReader sr = new StreamReader(stream, Encoding.UTF8))
// {
// html = sr.ReadToEnd();
// using (StreamWriter sw = new StreamWriter(@"html.txt"))
// {
// sw.Write(html.ToString());
// }
// }
//}
//TimeSpan ts = DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0);
//long timeStamp = Convert.ToInt64(ts.TotalSeconds);
//MessageBox.Show(timeStamp.ToString());
//DateTime dateNow = DateTime.Now;
//MessageBox.Show(TimeZoneInfo.ConvertTimeToUtc(dateNow).ToString());
//Console.WriteLine("The date and time are {0} UTC.",
// TimeZoneInfo.ConvertTimeToUtc(dateNow));
}
#endregion
private void ButtonWebBrowserBack_Click(object sender, RoutedEventArgs e) private void ButtonWebBrowserBack_Click(object sender, RoutedEventArgs e)
{ {
try try

Binary file not shown.

Binary file not shown.

View File

@ -25,11 +25,11 @@
"settings": { "settings": {
"vnext": [ "vnext": [
{ {
"address":"", "address":null,
"port":null, "port":null,
"users":[ "users":[
{ {
"id":"", "id":null,
"alterId":16, "alterId":16,
"security":"auto" "security":"auto"
} }
@ -41,7 +41,7 @@
"network":"ws", "network":"ws",
"security":"tls", "security":"tls",
"wsSettings":{ "wsSettings":{
"path":"" "path":null
} }
}, },
"mux": { "mux": {

View File

@ -1,6 +1,6 @@
##domain## { ##domain## {
root /var/www root /var/www
tls ##email## tls off
##sites## ##sites##
proxy ##path## localhost:10000 { proxy ##path## localhost:10000 {
websocket websocket

View File

@ -7,7 +7,7 @@
"settings": { "settings": {
"clients": [ "clients": [
{ {
"id": "", "id": null,
"alterId": 64 "alterId": 64
} }
] ]
@ -15,7 +15,7 @@
"streamSettings": { "streamSettings": {
"network": "ws", "network": "ws",
"wsSettings": { "wsSettings": {
"path": "" "path": null
} }
} }
} }

View File

@ -25,11 +25,11 @@
"settings": { "settings": {
"vnext": [ "vnext": [
{ {
"address": "", "address": null,
"port": null, "port": null,
"users": [ "users": [
{ {
"id": "", "id": null,
"alterId": 16, "alterId": 16,
"security": "auto" "security": "auto"
} }
@ -48,7 +48,7 @@
"readBufferSize": 2, "readBufferSize": 2,
"writeBufferSize": 2, "writeBufferSize": 2,
"header": { "header": {
"type": "" "type": null
} }
} }
}, },

View File

@ -6,7 +6,7 @@
"settings": { "settings": {
"clients": [ "clients": [
{ {
"id": "", "id": null,
"alterId": 64 "alterId": 64
} }
] ]
@ -18,7 +18,7 @@
"downlinkCapacity": 100, "downlinkCapacity": 100,
"congestion": true, "congestion": true,
"header": { "header": {
"type": "" "type": null
} }
} }
} }

View File

@ -25,11 +25,11 @@
"settings": { "settings": {
"vnext": [ "vnext": [
{ {
"address": "", "address": null,
"port": null, "port": null,
"users": [ "users": [
{ {
"id": "", "id": null,
"alterId": 16, "alterId": 16,
"security": "auto" "security": "auto"
} }

View File

@ -25,11 +25,11 @@
"settings": { "settings": {
"vnext": [ "vnext": [
{ {
"address": "", "address": null,
"port": null, "port": null,
"users": [ "users": [
{ {
"id": "", "id": null,
"alterId": 16 "alterId": 16
} }
] ]

View File

@ -6,7 +6,7 @@
"settings": { "settings": {
"clients": [ "clients": [
{ {
"id": "", "id": null,
"alterId": 64 "alterId": 64
} }
] ]

View File

@ -7,7 +7,7 @@
"settings": { "settings": {
"clients": [ "clients": [
{ {
"id": "", "id": null,
"alterId": 64 "alterId": 64
} }
] ]