From 24f8691cf9adeb4a95ac72ebdd19789ab3c33894 Mon Sep 17 00:00:00 2001 From: Amazing_DM Date: Tue, 11 Aug 2020 12:11:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20NTT=20=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=20V2ray=20=20to=20v4.27.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Netch/Controllers/NTTController.cs | 35 +++++++++++++++++++++++++----- binaries | 2 +- 2 files changed, 31 insertions(+), 6 deletions(-) diff --git a/Netch/Controllers/NTTController.cs b/Netch/Controllers/NTTController.cs index 59baac62..24870d49 100644 --- a/Netch/Controllers/NTTController.cs +++ b/Netch/Controllers/NTTController.cs @@ -7,6 +7,12 @@ namespace Netch.Controllers { public class NTTController : Controller { + private string _Other_address; + private string _Binding_test; + private string _Local_address; + private string _Mapped_address; + private string _Nat_mapping_behavior; + private string _Nat_filtering_behavior; private string _lastResult; public NTTController() @@ -31,10 +37,14 @@ namespace Netch.Controllers Instance.BeginErrorReadLine(); Instance.WaitForExit(); - var result = _lastResult.Split('#'); - var natType = result[0]; - var localEnd = result[1]; - var publicEnd = result[2]; + /* var result = _lastResult.Split('\n'); + var natType = result[0]; + var localEnd = result[1]; + var publicEnd = result[2];*/ + + var natType = _lastResult; + var localEnd = _Local_address; + var publicEnd = _Mapped_address; return (true, natType, localEnd, publicEnd); } @@ -57,7 +67,22 @@ namespace Netch.Controllers private new void OnOutputDataReceived(object sender, DataReceivedEventArgs e) { if (!string.IsNullOrEmpty(e.Data)) - _lastResult = e.Data; + { + if (e.Data.StartsWith("Other address is: ")) + _Other_address = e.Data.Split(':')[1].Trim(); + if (e.Data.StartsWith("Binding test: ")) + _Binding_test = e.Data.Split(':')[1].Trim(); + if (e.Data.StartsWith("Local address: ")) + _Local_address = e.Data.Split(':')[1].Trim(); + if (e.Data.StartsWith("Mapped address: ")) + _Mapped_address = e.Data.Split(':')[1].Trim(); + if (e.Data.StartsWith("Nat mapping behavior: ")) + _Nat_mapping_behavior = e.Data.Split(':')[1].Trim(); + if (e.Data.StartsWith("Nat filtering behavior: ")) + _Nat_filtering_behavior = e.Data.Split(':')[1].Trim(); + if (e.Data.StartsWith("result: ")) + _lastResult = e.Data.Split(':')[1].Trim(); + } } public override void Stop() diff --git a/binaries b/binaries index 422c8113..5973ce45 160000 --- a/binaries +++ b/binaries @@ -1 +1 @@ -Subproject commit 422c811311eadb4f3aa628e3354b5ac0bfa94453 +Subproject commit 5973ce45edfdcd468dba9262eb69759cd96e6c94