fix naiveproxy redirect output issue

pull/2809/head
2dust 2022-11-02 19:18:31 +08:00
parent f70ca77913
commit 841a20cbd4
3 changed files with 40 additions and 23 deletions

View File

@ -87,7 +87,8 @@ namespace v2rayN.Handler
coreDownloadUrl32 = Global.v2flyCoreUrl + "/download/{0}/v2ray-windows-{1}.zip", coreDownloadUrl32 = Global.v2flyCoreUrl + "/download/{0}/v2ray-windows-{1}.zip",
coreDownloadUrl64 = Global.v2flyCoreUrl + "/download/{0}/v2ray-windows-{1}.zip", coreDownloadUrl64 = Global.v2flyCoreUrl + "/download/{0}/v2ray-windows-{1}.zip",
match = "V2Ray", match = "V2Ray",
versionArg = "-version" versionArg = "-version",
redirectInfo = true,
}); });
coreInfos.Add(new CoreInfo coreInfos.Add(new CoreInfo
@ -100,7 +101,8 @@ namespace v2rayN.Handler
coreDownloadUrl32 = Global.SagerNetCoreUrl + "/download/{0}/v2ray-windows-{1}.zip", coreDownloadUrl32 = Global.SagerNetCoreUrl + "/download/{0}/v2ray-windows-{1}.zip",
coreDownloadUrl64 = Global.SagerNetCoreUrl + "/download/{0}/v2ray-windows-{1}.zip", coreDownloadUrl64 = Global.SagerNetCoreUrl + "/download/{0}/v2ray-windows-{1}.zip",
match = "V2Ray", match = "V2Ray",
versionArg = "version" versionArg = "version",
redirectInfo = true,
}); });
coreInfos.Add(new CoreInfo coreInfos.Add(new CoreInfo
@ -113,7 +115,8 @@ namespace v2rayN.Handler
coreDownloadUrl32 = Global.v2flyCoreUrl + "/download/{0}/v2ray-windows-{1}.zip", coreDownloadUrl32 = Global.v2flyCoreUrl + "/download/{0}/v2ray-windows-{1}.zip",
coreDownloadUrl64 = Global.v2flyCoreUrl + "/download/{0}/v2ray-windows-{1}.zip", coreDownloadUrl64 = Global.v2flyCoreUrl + "/download/{0}/v2ray-windows-{1}.zip",
match = "V2Ray", match = "V2Ray",
versionArg = "version" versionArg = "version",
redirectInfo = true,
}); });
coreInfos.Add(new CoreInfo coreInfos.Add(new CoreInfo
@ -126,7 +129,8 @@ namespace v2rayN.Handler
coreDownloadUrl32 = Global.xrayCoreUrl + "/download/{0}/Xray-windows-{1}.zip", coreDownloadUrl32 = Global.xrayCoreUrl + "/download/{0}/Xray-windows-{1}.zip",
coreDownloadUrl64 = Global.xrayCoreUrl + "/download/{0}/Xray-windows-{1}.zip", coreDownloadUrl64 = Global.xrayCoreUrl + "/download/{0}/Xray-windows-{1}.zip",
match = "Xray", match = "Xray",
versionArg = "-version" versionArg = "-version",
redirectInfo = true,
}); });
coreInfos.Add(new CoreInfo coreInfos.Add(new CoreInfo
@ -139,7 +143,8 @@ namespace v2rayN.Handler
coreDownloadUrl32 = Global.clashCoreUrl + "/download/{0}/clash-windows-386-{0}.zip", coreDownloadUrl32 = Global.clashCoreUrl + "/download/{0}/clash-windows-386-{0}.zip",
coreDownloadUrl64 = Global.clashCoreUrl + "/download/{0}/clash-windows-amd64-{0}.zip", coreDownloadUrl64 = Global.clashCoreUrl + "/download/{0}/clash-windows-amd64-{0}.zip",
match = "v", match = "v",
versionArg = "-v" versionArg = "-v",
redirectInfo = true,
}); });
coreInfos.Add(new CoreInfo coreInfos.Add(new CoreInfo
@ -152,7 +157,8 @@ namespace v2rayN.Handler
coreDownloadUrl32 = Global.clashMetaCoreUrl + "/download/{0}/Clash.Meta-windows-386-{0}.zip", coreDownloadUrl32 = Global.clashMetaCoreUrl + "/download/{0}/Clash.Meta-windows-386-{0}.zip",
coreDownloadUrl64 = Global.clashMetaCoreUrl + "/download/{0}/Clash.Meta-windows-amd64-compatible-{0}.zip", coreDownloadUrl64 = Global.clashMetaCoreUrl + "/download/{0}/Clash.Meta-windows-amd64-compatible-{0}.zip",
match = "v", match = "v",
versionArg = "-v" versionArg = "-v",
redirectInfo = true,
}); });
coreInfos.Add(new CoreInfo coreInfos.Add(new CoreInfo
@ -164,6 +170,7 @@ namespace v2rayN.Handler
coreReleaseApiUrl = Global.hysteriaCoreUrl.Replace(@"https://github.com", @"https://api.github.com/repos"), coreReleaseApiUrl = Global.hysteriaCoreUrl.Replace(@"https://github.com", @"https://api.github.com/repos"),
coreDownloadUrl32 = Global.hysteriaCoreUrl + "/download/{0}/hysteria-windows-386.exe", coreDownloadUrl32 = Global.hysteriaCoreUrl + "/download/{0}/hysteria-windows-386.exe",
coreDownloadUrl64 = Global.hysteriaCoreUrl + "/download/{0}/hysteria-windows-amd64.exe", coreDownloadUrl64 = Global.hysteriaCoreUrl + "/download/{0}/hysteria-windows-amd64.exe",
redirectInfo = true,
}); });
coreInfos.Add(new CoreInfo coreInfos.Add(new CoreInfo
@ -171,7 +178,8 @@ namespace v2rayN.Handler
coreType = ECoreType.naiveproxy, coreType = ECoreType.naiveproxy,
coreExes = new List<string> { "naiveproxy", "naive" }, coreExes = new List<string> { "naiveproxy", "naive" },
arguments = "config.json", arguments = "config.json",
coreUrl = Global.naiveproxyCoreUrl coreUrl = Global.naiveproxyCoreUrl,
redirectInfo = false,
}); });
coreInfos.Add(new CoreInfo coreInfos.Add(new CoreInfo
@ -179,15 +187,17 @@ namespace v2rayN.Handler
coreType = ECoreType.tuic, coreType = ECoreType.tuic,
coreExes = new List<string> { "tuic-client", "tuic" }, coreExes = new List<string> { "tuic-client", "tuic" },
arguments = "-c config.json", arguments = "-c config.json",
coreUrl = Global.tuicCoreUrl coreUrl = Global.tuicCoreUrl,
redirectInfo = true,
}); });
coreInfos.Add(new CoreInfo coreInfos.Add(new CoreInfo
{ {
coreType = ECoreType.sing_box, coreType = ECoreType.sing_box,
coreExes = new List<string> { "sing-box-client", "sing-box" }, coreExes = new List<string> { "sing-box-client", "sing-box" },
arguments = "run", arguments = "run",
coreUrl = Global.singboxCoreUrl coreUrl = Global.singboxCoreUrl,
redirectInfo = true,
}); });
} }

View File

@ -212,24 +212,29 @@ namespace v2rayN.Handler
Arguments = coreInfo.arguments, Arguments = coreInfo.arguments,
WorkingDirectory = Utils.StartupPath(), WorkingDirectory = Utils.StartupPath(),
UseShellExecute = false, UseShellExecute = false,
RedirectStandardOutput = true, RedirectStandardOutput = coreInfo.redirectInfo,
RedirectStandardError = true, RedirectStandardError = coreInfo.redirectInfo,
CreateNoWindow = true, CreateNoWindow = true,
StandardOutputEncoding = Encoding.UTF8, StandardOutputEncoding = coreInfo.redirectInfo ? Encoding.UTF8 : null,
StandardErrorEncoding = Encoding.UTF8 StandardErrorEncoding = coreInfo.redirectInfo ? Encoding.UTF8 : null,
} }
}; };
p.OutputDataReceived += (sender, e) => if (coreInfo.redirectInfo)
{ {
if (!String.IsNullOrEmpty(e.Data)) p.OutputDataReceived += (sender, e) =>
{ {
string msg = e.Data + Environment.NewLine; if (!String.IsNullOrEmpty(e.Data))
ShowMsg(false, msg); {
} string msg = e.Data + Environment.NewLine;
}; ShowMsg(false, msg);
}
};
}
p.Start(); p.Start();
p.PriorityClass = ProcessPriorityClass.High; if (coreInfo.redirectInfo)
p.BeginOutputReadLine(); {
p.BeginOutputReadLine();
}
_process = p; _process = p;
if (p.WaitForExit(1000)) if (p.WaitForExit(1000))

View File

@ -22,6 +22,8 @@ namespace v2rayN.Mode
public string match { get; set; } public string match { get; set; }
public string versionArg { get; set; } public string versionArg { get; set; }
public bool redirectInfo { get; set; }
} }
} }