Compare commits

...

3 Commits

Author SHA1 Message Date
2dust fec47d4b72 add alpn/userAgent/ 2022-01-08 20:27:36 +08:00
2dust f7f23e7980 Update AssemblyInfo.cs 2021-12-26 17:44:53 +08:00
2dust 32100db3fc Some improvements 2021-12-26 17:44:36 +08:00
33 changed files with 2264 additions and 1744 deletions
+6 -6
View File
@@ -541,7 +541,7 @@
<value>0, 10</value> <value>0, 10</value>
</data> </data>
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing"> <data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>729, 226</value> <value>729, 221</value>
</data> </data>
<data name="groupBox1.TabIndex" type="System.Int32, mscorlib"> <data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
<value>3</value> <value>3</value>
@@ -589,7 +589,7 @@
<value>Bottom</value> <value>Bottom</value>
</data> </data>
<data name="panel2.Location" type="System.Drawing.Point, System.Drawing"> <data name="panel2.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 456</value> <value>0, 461</value>
</data> </data>
<data name="panel2.Size" type="System.Drawing.Size, System.Drawing"> <data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
<value>729, 60</value> <value>729, 60</value>
@@ -640,7 +640,7 @@
<value>0, 0</value> <value>0, 0</value>
</data> </data>
<data name="transportControl.Size" type="System.Drawing.Size, System.Drawing"> <data name="transportControl.Size" type="System.Drawing.Size, System.Drawing">
<value>729, 220</value> <value>729, 230</value>
</data> </data>
<data name="transportControl.TabIndex" type="System.Int32, mscorlib"> <data name="transportControl.TabIndex" type="System.Int32, mscorlib">
<value>0</value> <value>0</value>
@@ -661,10 +661,10 @@
<value>Bottom</value> <value>Bottom</value>
</data> </data>
<data name="panel3.Location" type="System.Drawing.Point, System.Drawing"> <data name="panel3.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 236</value> <value>0, 231</value>
</data> </data>
<data name="panel3.Size" type="System.Drawing.Size, System.Drawing"> <data name="panel3.Size" type="System.Drawing.Size, System.Drawing">
<value>729, 220</value> <value>729, 230</value>
</data> </data>
<data name="panel3.TabIndex" type="System.Int32, mscorlib"> <data name="panel3.TabIndex" type="System.Int32, mscorlib">
<value>9</value> <value>9</value>
@@ -691,7 +691,7 @@
<value>6, 12</value> <value>6, 12</value>
</data> </data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing"> <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>729, 516</value> <value>729, 521</value>
</data> </data>
<data name="$this.Text" xml:space="preserve"> <data name="$this.Text" xml:space="preserve">
<value>Edit or add a [VLESS] server</value> <value>Edit or add a [VLESS] server</value>
+6 -6
View File
@@ -454,7 +454,7 @@
<value>0, 10</value> <value>0, 10</value>
</data> </data>
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing"> <data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>707, 195</value> <value>707, 191</value>
</data> </data>
<data name="groupBox1.TabIndex" type="System.Int32, mscorlib"> <data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
<value>3</value> <value>3</value>
@@ -481,7 +481,7 @@
<value>0, 0</value> <value>0, 0</value>
</data> </data>
<data name="transportControl.Size" type="System.Drawing.Size, System.Drawing"> <data name="transportControl.Size" type="System.Drawing.Size, System.Drawing">
<value>707, 220</value> <value>707, 230</value>
</data> </data>
<data name="transportControl.TabIndex" type="System.Int32, mscorlib"> <data name="transportControl.TabIndex" type="System.Int32, mscorlib">
<value>0</value> <value>0</value>
@@ -502,10 +502,10 @@
<value>Bottom</value> <value>Bottom</value>
</data> </data>
<data name="panel3.Location" type="System.Drawing.Point, System.Drawing"> <data name="panel3.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 205</value> <value>0, 201</value>
</data> </data>
<data name="panel3.Size" type="System.Drawing.Size, System.Drawing"> <data name="panel3.Size" type="System.Drawing.Size, System.Drawing">
<value>707, 220</value> <value>707, 230</value>
</data> </data>
<data name="panel3.TabIndex" type="System.Int32, mscorlib"> <data name="panel3.TabIndex" type="System.Int32, mscorlib">
<value>8</value> <value>8</value>
@@ -553,7 +553,7 @@
<value>Bottom</value> <value>Bottom</value>
</data> </data>
<data name="panel2.Location" type="System.Drawing.Point, System.Drawing"> <data name="panel2.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 425</value> <value>0, 431</value>
</data> </data>
<data name="panel2.Size" type="System.Drawing.Size, System.Drawing"> <data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
<value>707, 60</value> <value>707, 60</value>
@@ -604,7 +604,7 @@
<value>6, 12</value> <value>6, 12</value>
</data> </data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing"> <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>707, 485</value> <value>707, 491</value>
</data> </data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
+177 -17
View File
@@ -121,24 +121,11 @@
<value>取消(&amp;C)</value> <value>取消(&amp;C)</value>
</data> </data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="label21.Size" type="System.Drawing.Size, System.Drawing"> <data name="label4.Size" type="System.Drawing.Size, System.Drawing">
<value>167, 12</value> <value>65, 12</value>
</data> </data>
<data name="label21.Text" xml:space="preserve"> <data name="label4.Text" xml:space="preserve">
<value>跳过证书验证(allowInsecure)</value> <value>流控(flow)</value>
</data>
<data name="cmbAllowInsecure.Location" type="System.Drawing.Point, System.Drawing">
<value>406, 185</value>
</data>
<data name="label15.Size" type="System.Drawing.Size, System.Drawing">
<value>107, 12</value>
</data>
<data name="label15.Text" xml:space="preserve">
<value>底层传输安全(tls)</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="cmbStreamSecurity.Enabled" type="System.Boolean, mscorlib">
<value>False</value>
</data> </data>
<data name="label13.Text" xml:space="preserve"> <data name="label13.Text" xml:space="preserve">
<value>*手填,方便识别管理</value> <value>*手填,方便识别管理</value>
@@ -173,6 +160,179 @@
<data name="btnOK.Text" xml:space="preserve"> <data name="btnOK.Text" xml:space="preserve">
<value>确定(&amp;O)</value> <value>确定(&amp;O)</value>
</data> </data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAYAICAQAAAAAADoAgAAZgAAABAQEAAAAAAAKAEAAE4DAAAgIAAAAQAIAKgIAAB2BAAAEBAAAAEA
CABoBQAAHg0AACAgAAABACAAqBAAAIYSAAAQEAAAAQAgAGgEAAAuIwAAKAAAACAAAABAAAAAAQAEAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA
/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIoiI
iIiIiIiIiIiIiIiIiIiCIigiIiIozMzMzMzMyCIogiIoIiIiKM7m5ubm5sgiKIIiKCIiIijObm5ubm7I
IiiCIigiIiIozubm5ubmyCIogiIoIiIiKM5ubm5ubsgiKIIiKCIiIijO5ubm5ubIIiiIiIiIiIiIzm5u
bm5uyCIogRERERERGM7u7u7u7sgiKIHZWVlZWRjMzMzMzMzIIiiB1ZWVlZUYiIiIiIiIiIiIgdlZWVlZ
GDMzMzMzMzMzOIHVlZWVlRg/uLi4uLi4uDiB2VlZWVkYP7uLi4uLi4s4gdWVlZWVGD+4uLi4uLi4OIHZ
WVlZWRg/u4uLi4uLiziB1ZWVlZUYP7i4uLi4uLg4gdlZWVlZGD+7i4uLi4uLOIHVlZWVlRg/uLi4uLi4
uDiB3d3d3d0YP7uLi4uLi4s4gRERERERGD+4uLi4uLi4OIiIiIiIiIg/u4uLi4uLiziCIiIiIiIoP7i4
uLi4uLg4giIiIiIiKD+7i4uLi4uLOIIiIiIiIig/uLi4uLi4uDiCIiIiIiIoP7u7u7u7u7s4giIiIiIi
KD//////////OIIiIiIiIigzMzMzMzMzMziIiIiIiIiIiIiIiIiIiIiIIiIiIiIiIiIiIiIiIiIiIv//
////////AAAAAHv4AA57+AAOe/gADnv4AA57+AAOe/gADgAAAA4AAAAOAAAADgAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/4AAB/+AAAf/gAAH/4AAB/+AAAf/gAAAAA
AAD/////KAAAABAAAAAgAAAAAQAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACA
gACAAAAAgACAAICAAACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAiIiIiIiIiIoiI
iIiIiIiIgigijMzMyCiCKCKM5mbIKIiIiIzu7sgogRERjMzMyCiB2ZGIiIiIiIHZkYMzMzM4gdmRg/u7
uziB3dGD+7u7OIEREYP7u7s4iIiIg/u7uziCIiKD+7u7OIIiIoP///84giIigzMzMziIiIiIiIiIiP//
KCIAACjObALm5mwCIigAAoiIAAKIzgAAbm4AACIoAAAREQAAGM4AAO7uAAAiKHwAWVl8ABjMfADMzAAA
IigoAAAAIAAAAEAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAA
AACAAIAAgIAAAICAgADA3MAA8MqmAKo/KgD/PyoAAF8qAFVfKgCqXyoA/18qAAB/KgBVfyoAqn8qAP9/
KgAAnyoAVZ8qAKqfKgD/nyoAAL8qAFW/KgCqvyoA/78qAADfKgBV3yoAqt8qAP/fKgAA/yoAVf8qAKr/
KgD//yoAAABVAFUAVQCqAFUA/wBVAAAfVQBVH1UAqh9VAP8fVQAAP1UAVT9VAKo/VQD/P1UAAF9VAFVf
VQCqX1UA/19VAAB/VQBVf1UAqn9VAP9/VQAAn1UAVZ9VAKqfVQD/n1UAAL9VAFW/VQCqv1UA/79VAADf
VQBV31UAqt9VAP/fVQAA/1UAVf9VAKr/VQD//1UAAAB/AFUAfwCqAH8A/wB/AAAffwBVH38Aqh9/AP8f
fwAAP38AVT9/AKo/fwD/P38AAF9/AFVffwCqX38A/19/AAB/fwBVf38Aqn9/AP9/fwAAn38AVZ9/AKqf
fwD/n38AAL9/AFW/fwCqv38A/79/AADffwBV338Aqt9/AP/ffwAA/38AVf9/AKr/fwD//38AAACqAFUA
qgCqAKoA/wCqAAAfqgBVH6oAqh+qAP8fqgAAP6oAVT+qAKo/qgD/P6oAAF+qAFVfqgCqX6oA/1+qAAB/
qgBVf6oAqn+qAP9/qgAAn6oAVZ+qAKqfqgD/n6oAAL+qAFW/qgCqv6oA/7+qAADfqgBV36oAqt+qAP/f
qgAA/6oAVf+qAKr/qgD//6oAAADUAFUA1ACqANQA/wDUAAAf1ABVH9QAqh/UAP8f1AAAP9QAVT/UAKo/
1AD/P9QAAF/UAFVf1ACqX9QA/1/UAAB/1ABVf9QAqn/UAP9/1AAAn9QAVZ/UAKqf1AD/n9QAAL/UAFW/
1ACqv9QA/7/UAADf1ABV39QAqt/UAP/f1AAA/9QAVf/UAKr/1AD//9QAVQD/AKoA/wAAH/8AVR//AKof
/wD/H/8AAD//AFU//wCqP/8A/z//AABf/wBVX/8Aql//AP9f/wAAf/8AVX//AKp//wD/f/8AAJ//AFWf
/wCqn/8A/5//AAC//wBVv/8Aqr//AP+//wAA3/8AVd//AKrf/wD/3/8AVf//AKr//wD/zMwA/8z/AP//
MwD//2YA//+ZAP//zAAAfwAAVX8AAKp/AAD/fwAAAJ8AAFWfAACqnwAA/58AAAC/AABVvwAAqr8AAP+/
AAAA3wAAVd8AAKrfAAD/3wAAVf8AAKr/AAAAACoAVQAqAKoAKgD/ACoAAB8qAFUfKgCqHyoA/x8qAAA/
KgBVPyoA8Pv/AKSgoACAgIAAAAD/AAD/AAAA//8A/wAAAAAAAAD//wAA////AP39/f39/f39/f39/f39
/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39
/f39/f39/f39/f39/f39/f39/f39/f39qoYIqoYIhqoIqgiqCaoIqgiqhqqGhoYIhoYIqv39/f0I/f39
/ar9/f39/YY2Ng4yDg4ODgoOCgoKCgqG/f39/Yb9/f39CP39/f39qjY7Ozs3Nzc3NjMSMjIOCqr9/f39
qv39/f2G/f39/f0IN19fOzs3Nzc3NjcODg4KCP39/f0I/f39/ar9/f39/ao6X19fXzs7Ozc3NzY3NgqG
/f39/Yb9/f39CP39/f39hl9jY19jX187Ozs7Nzc3Dqr9/f39qv39/f2G/f39/f0IOodjh19jX19fXztf
OzcOCP39/f0ICAmqCAiqCKoICapfCYdjh2ODY19fXzs7Ow6q/f39/QhITEwoSCUoKSQoqmMJCYcJCWNj
Y2NfY19fNgj9/f39qkyZmZmYmJRwlCmqX19fXl9fX186WzY3Njc2gv39/f0JcJ2dmZmZlJmUJAmqCaoJ
hggIqggICKoIqggI/f39/YZwnp2dnZmZmJVMqnx8fHx8fFR8VHhUVFRUVKr9/f39CHChoZ2dnZ2ZmUwJ
fKSkxqSkxqSkpKSkpKBUCP39/f2qcKLDoqGdnZ2ZTKp8ysakxqSkxqSkxqSkpFSq/f39/QiUpqbDoqHE
nZ1Mq3ykqMakyqSkxqSkpKSkVAj9/f39hpTIyKbHoqGhoXAIfMrLpMqkxqSkxqTGpKRUqv39/f0IlMym
yKbIpcShcAh8y6jKpMqkxsqkpKSkxlQI/f39/aqUzMzMyKbIpqJwqnzLy8qpxsqkpMakxqSkeAj9/f39
CJSUlJSUlJSUlJQJgMupy8qpysqkyqSkxqRUqv39/f2GCKoIqgiqCKoIhgigrcvPqcuoy8qkxsqkxnyG
/f39/ar9/f39/f39/f39qnzPz6nLy8uoyqnKpKTKVAj9/f39CP39/f39/f39/f0IfNDPz8+py8upyqjG
yqR8hv39/f2G/f39/f39/f39/Qik0K7P0M+ty8vLy6jKpXyq/f39/ar9/f39/f39/f39CHzQ09Ctz8/P
qcupy6jKeAj9/f39CP39/f39/f39/f2qoNPQ0NPQ0M/Qz8vLy6l8CP39/f2G/f39/f39/f39/QmkfKR8
oHx8fHx8fHx8fHyG/f39/aoIqgiqCKoIqgiqCKoIqgiqCKoIqgiqCKoIqgj9/f39/f39/f39/f39/f39
/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3/////////////
///AAAAD3vgAA974AAPe+AAD3vgAA974AAPe+AADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AA
AAPAAAADwAAAA8AAAAPAAAADwAAAA9/4AAPf+AAD3/gAA9/4AAPf+AAD3/gAA8AAAAP//////////ygA
AAAQAAAAIAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAA
gACAgAAAgICAAMDcwADwyqYAqj8qAP8/KgAAXyoAVV8qAKpfKgD/XyoAAH8qAFV/KgCqfyoA/38qAACf
KgBVnyoAqp8qAP+fKgAAvyoAVb8qAKq/KgD/vyoAAN8qAFXfKgCq3yoA/98qAAD/KgBV/yoAqv8qAP//
KgAAAFUAVQBVAKoAVQD/AFUAAB9VAFUfVQCqH1UA/x9VAAA/VQBVP1UAqj9VAP8/VQAAX1UAVV9VAKpf
VQD/X1UAAH9VAFV/VQCqf1UA/39VAACfVQBVn1UAqp9VAP+fVQAAv1UAVb9VAKq/VQD/v1UAAN9VAFXf
VQCq31UA/99VAAD/VQBV/1UAqv9VAP//VQAAAH8AVQB/AKoAfwD/AH8AAB9/AFUffwCqH38A/x9/AAA/
fwBVP38Aqj9/AP8/fwAAX38AVV9/AKpffwD/X38AAH9/AFV/fwCqf38A/39/AACffwBVn38Aqp9/AP+f
fwAAv38AVb9/AKq/fwD/v38AAN9/AFXffwCq338A/99/AAD/fwBV/38Aqv9/AP//fwAAAKoAVQCqAKoA
qgD/AKoAAB+qAFUfqgCqH6oA/x+qAAA/qgBVP6oAqj+qAP8/qgAAX6oAVV+qAKpfqgD/X6oAAH+qAFV/
qgCqf6oA/3+qAACfqgBVn6oAqp+qAP+fqgAAv6oAVb+qAKq/qgD/v6oAAN+qAFXfqgCq36oA/9+qAAD/
qgBV/6oAqv+qAP//qgAAANQAVQDUAKoA1AD/ANQAAB/UAFUf1ACqH9QA/x/UAAA/1ABVP9QAqj/UAP8/
1AAAX9QAVV/UAKpf1AD/X9QAAH/UAFV/1ACqf9QA/3/UAACf1ABVn9QAqp/UAP+f1AAAv9QAVb/UAKq/
1AD/v9QAAN/UAFXf1ACq39QA/9/UAAD/1ABV/9QAqv/UAP//1ABVAP8AqgD/AAAf/wBVH/8Aqh//AP8f
/wAAP/8AVT//AKo//wD/P/8AAF//AFVf/wCqX/8A/1//AAB//wBVf/8Aqn//AP9//wAAn/8AVZ//AKqf
/wD/n/8AAL//AFW//wCqv/8A/7//AADf/wBV3/8Aqt//AP/f/wBV//8Aqv//AP/MzAD/zP8A//8zAP//
ZgD//5kA///MAAB/AABVfwAAqn8AAP9/AAAAnwAAVZ8AAKqfAAD/nwAAAL8AAFW/AACqvwAA/78AAADf
AABV3wAAqt8AAP/fAABV/wAAqv8AAAAAKgBVACoAqgAqAP8AKgAAHyoAVR8qAKofKgD/HyoAAD8qAFU/
KgDw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAAAAAAAP//AAD///8A/f39/f39/f39/f39/f39/f0I
hgiqCKoICKoICKaGCP39qv39hv2GNg4ODjII/ar9/Yb9/ar9qjdjXzsOCP2G/f0IhquGCAleCWNfNob9
qv39qkxMTEgIX19fX18I/Qj9/QhwnZlMqoYIqggIqgiG/f2qcKadcAl8fFQDVFQDqv39CHDMpnCqfMvL
ysrKVAj9/QiUlHBwCYDPy8/LylSG/f2GqoYIqgig0M/Py8t8qv39CP39/f2GpNDQ0M/PfAn9/ar9/f39
qqT20NDQ0Hyq/f2G/f39/QmkpKSloKR8CP39CKoIhgiqCIYIqgiGCKr9/f39/f39/f39/f39/f39/f//
hv2AAf0ItAX9/bQFX2OABWNfgAU7O4ABNzeAAf39gAGq/YAB/YaAAf39vAE6h7wBX2O8AV9fgAE7N///
/f0oAAAAIAAAAEAAAAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAADCv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/
wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/
wf/Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/wAAAAAAAAAAAAAAAAAA
AAAAAAAAwr/B/7Z3Sf+zckT/rm0//6toO/+nYjb/pF4y/6BZLv+dVCr/mlEn/5dNI/+VSiH/kkce/5FE
HP+RRBz/kUUb/8K/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/wAAAAAAAAAAAAAAAAAAAADCv8H/AAAAAAAA
AAAAAAAAAAAAAAAAAADCv8H/v4JS//+aZv//lWD/+5Bc//WLV//uh1P/54FO/997S//Wdkb/zXBD/8Vr
QP+9Zj3/tGI5/65dN/+RRRz/wr/B/wAAAAAAAAAAAAAAAAAAAADCv8H/AAAAAAAAAAAAAAAAAAAAAMK/
wf8AAAAAAAAAAAAAAAAAAAAAAAAAAMK/wf/GjFv//6Rz//+fbf//m2f//5Zh//yRXf/3jVj/8IhV/+mD
UP/hfUz/2HhI/9ByRP/HbED/v2c9/5VJIf/Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf8AAAAAAAAAAAAA
AAAAAAAAwr/B/wAAAAAAAAAAAAAAAAAAAAAAAAAAwr/B/86WZP//r4L//6p7//+mdf//oW7//5xo//+X
Yv/9kl7/+I5a//KJVf/rhFH/4n5N/9t4SP/Sc0X/mlEm/8K/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/wAA
AAAAAAAAAAAAAAAAAADCv8H/AAAAAAAAAAAAAAAAAAAAAAAAAADCv8H/1J9s//+4kf//tIv//6+E//+r
ff//p3f//6Jw//+eav//mWT//pRf//qQWv/0i1b/7IVS/+V/Tv+gWC7/wr/B/wAAAAAAAAAAAAAAAAAA
AADCv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf8AAAAAAAAAAAAAAAAAAAAAAAAAAMK/wf/apnP//7+d//+7
mP//uJL//7WM//+whv//rH///6d4//+jcf//n2v//5ll//+VYP/6kVv/9YxY/6diN//Cv8H/AAAAAAAA
AAAAAAAAAAAAAMK/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/96t
eP//wqL//8Gi//+/nv//vJn//7mT//+2jv//sYj//66A//+pev//pHP//6Bt//+bZ///l2L/r20//8K/
wf8AAAAAAAAAAAAAAAAAAAAAwr/B/xYXev8XF3b/GBVx/xkUbf8ZFGr/GhNm/xoSY/8bEV//HBFd/xwQ
W//Cv8H/4K96///Cov//wqL//8Ki///Cov//wJ///72b//+6lf//t4///7KJ//+ugv//qnv//6V0//+h
bv+3d0n/wr/B/wAAAAAAAAAAAAAAAAAAAADCv8H/FRqE/0dN1v8/RNL/Nz3Q/y40zv8nLcz/ISfK/xwh
yf8WHMf/GxJh/8K/wf/gr3r/4K96/+Cvev/gr3r/3614/9yqdf/apnL/16Nw/9Sea//Rmmj/zZZk/8qR
X//GjFz/w4dW/7+CUv/Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf8SHZD/WF3a/05U1/9FS9X/PUPS/zU7
0P8uM83/JyzL/yAmyf8aFGn/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/
wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/xAfnP9obt7/YGTc/1Zb
2f9NU9f/RUrU/ztB0v80OdD/LDHO/xgWcv/Cv8H/Dn+n/w18pP8MeqH/DHie/wt1m/8Kc5j/CXGV/wlv
k/8JbJD/CGqN/wdpi/8HZ4j/BmWH/wZkhf8GYoP/wr/B/wAAAAAAAAAAAAAAAAAAAADCv8H/DiKp/3l+
4/9vdeH/Zmze/11i2/9UWtn/S1HW/0NI1P86P9H/Fhh9/8K/wf8Ogar/Barp/wGo6P8Apef/AKPm/wCi
5P8An+L/AJ7h/wCd3/8AnN7/AJnc/wCY2/8AmNn/AJbX/wZjhP/Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/
wf8MJbX/iI7n/4CF5v93fOP/bnPg/2Vr3f9bYdv/UljY/0lP1v8UGoj/wr/B/w+Erf8Lrur/Bqvq/wOo
6f8Apuf/AKTm/wCi5f8AoOT/AJ/i/wCd4f8AnN//AJrd/wCZ2/8AmNr/BmWH/8K/wf8AAAAAAAAAAAAA
AAAAAAAAwr/B/wkowP+WnOz/jpTq/4aL6P9+hOX/dXri/2xx4P9jaN3/WV/b/xEek//Cv8H/EIaw/xay
7P8Or+z/Cavr/wWq6v8Bp+j/AKbn/wCj5f8AoeT/AJ/j/wCe4f8AnOD/AJve/wCa3f8HZ4n/wr/B/wAA
AAAAAAAAAAAAAAAAAADCv8H/CCrK/6Ko7/+coe7/lZrr/42T6f+Fiub/fIHl/3N54v9rcN//ECGg/8K/
wf8QiLP/I7nu/xq07f8Ssez/C63r/war6v8Cqen/AKbo/wCk5v8AouX/AKHk/wCf4f8AneH/AJzf/who
i//Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf8GLNP/q7Hy/6as8P+hpu//mp/u/5OY6/+LkOj/g4nm/3qA
5P8NI6z/wr/B/xCKtv8xvvD/J7rv/x627f8Vsuz/Dq/s/wmr6/8Equn/Aafo/wCl5/8Ao+X/AKHk/wCf
4v8AnuH/CGqO/8K/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/wUu2/+vtPP/r7Tz/6qv8v+mq/D/oKXv/5me
7f+Sl+v/io/p/wsmt//Cv8H/Eo24/0HF8f82wfD/LLzv/yK47v8atO3/EbHs/wut6/8Gq+r/A6np/wCm
6P8Apeb/AKLl/wCh5P8IbJD/wr/B/wAAAAAAAAAAAAAAAAAAAADCv8H/BC/h/wQv3/8FL9z/BS3Z/wYt
1v8GLNL/ByvP/wgqy/8IKcb/CSnC/8K/wf8Sjrv/Uszy/0fH8f87w/H/Mb7v/ye67/8et+7/FbPt/w6v
6/8IrOv/BKnp/wGo6P8Apef/AKPl/wluk//Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf/Cv8H/wr/B/8K/
wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/xKRvf9j0/P/WM/z/0zK8f9BxfH/N8Hw/yy8
7/8iuO7/GbTt/xGx7P8Lruv/Bqrq/wOo6f8Apuf/CnGV/8K/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/wAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADCv8H/E5LA/3Ta8/9q1fP/XtHz/1LM
8v9Hx/H/O8Pw/zG+7/8nu+//Hrbt/xay7f8Or+v/CKzq/wSq6f8Kc5j/wr/B/wAAAAAAAAAAAAAAAAAA
AADCv8H/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMK/wf8UlMH/hOD1/3rc
9f9v2PP/ZNTy/1jO8v9NyvH/Qsbx/zbB8P8svO//I7ju/xm07f8SsOz/C67r/wt2m//Cv8H/AAAAAAAA
AAAAAAAAAAAAAMK/wf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwr/B/xSW
w/+T5vb/iuL1/3/e9P912vT/adbz/13R8/9SzPL/R8jx/zzD8P8xvvD/J7rv/x627v8Vsuz/C3ie/8K/
wf8AAAAAAAAAAAAAAAAAAAAAwr/B/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AADCv8H/FJbG/57r9/+X6Pb/juT1/4Th9f963fX/b9j0/2PT8/9Yz/L/TMrx/0HF8f83wO//LLzv/yK4
7v8MeqH/wr/B/wAAAAAAAAAAAAAAAAAAAADCv8H/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAMK/wf8VmMf/qO/3/6Lt9/+b6vb/kub2/4rj9f9/3vX/dNrz/2rV8/9d0fP/Uszy/0fI
8f88w/D/Mr7v/w19pP/Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAwr/B/xWZyP8UmMf/FZfF/xSVw/8TlML/E5K//xOQvf8Sjrv/EYy4/xGK
tv8QiLL/D4Ww/w+Erf8Pgar/Dn+n/8K/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/8K/wf/Cv8H/wr/B/8K/
wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/
wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//
/////////////8AAAAPe+AAD3vgAA974AAPe+AAD3vgAA974AAPAAAADwAAAA8AAAAPAAAADwAAAA8AA
AAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAAD3/gAA9/4AAPf+AAD3/gAA9/4AAPf+AADwAAAA///
////////KAAAABAAAAAgAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDA/8DA
wP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP8AAAAAAAAAAMDA
wP8AAAAAAAAAAMDAwP8AAAAAwMDA/8F2R/+9bj//umc6/7diNf+3YjX/wMDA/wAAAADAwMD/AAAAAAAA
AADAwMD/AAAAAAAAAADAwMD/AAAAAMDAwP/RkmD//7aP//+ldP/8kl3/vW0//8DAwP8AAAAAwMDA/wAA
AAAAAAAAwMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/3ap2///Cov//to7//6V0/8uJWP/AwMD/AAAAAMDA
wP8AAAAAAAAAAMDAwP8THI7/FBqF/xYYfP8XFnP/wMDA/+Cvev/gr3r/4K96/92qdv/ao3D/wMDA/wAA
AADAwMD/AAAAAAAAAADAwMD/ECCd/2Fn3P8zOc//FRmC/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DA
wP/AwMD/wMDA/wAAAAAAAAAAwMDA/w0krP+Pler/YWbd/xIcj//AwMD/DHmf/wpzmP8Ib5L/B2uO/wdq
jf8Gao3/B2qN/8DAwP8AAAAAAAAAAMDAwP8KJrv/r7Tz/5CU6v8PIJ//wMDA/w+Dq/87y/z/Kcb8/xrD
/P8QwPv/EMD7/wdqjf/AwMD/AAAAAAAAAADAwMD/CCrI/woowP8LJrf/DSSu/8DAwP8Sjbj/Zdb9/0/Q
/P88y/v/Kcf7/xrC+/8IbZD/wMDA/wAAAAAAAAAAwMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/FpfG/43h
/f962/3/Zdb8/0/Q/P87zPz/CXSZ/8DAwP8AAAAAAAAAAMDAwP8AAAAAAAAAAAAAAAAAAAAAwMDA/xif
z/+u6f7/n+X9/47h/f953P3/ZNb9/w19pP/AwMD/AAAAAAAAAADAwMD/AAAAAAAAAAAAAAAAAAAAAMDA
wP8apNX/uez+/7ns/v+u6f7/oOX9/43h/f8Rh7H/wMDA/wAAAAAAAAAAwMDA/wAAAAAAAAAAAAAAAAAA
AADAwMD/GqTV/xqk1f8apNX/GaHR/xecy/8WmMb/FJK+/8DAwP8AAAAAAAAAAMDAwP/AwMD/wMDA/8DA
wP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/AAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAAgAEAALQF
wf+0BQAAgAUAAIAFAACAAQAAgAHB/4ABAACAAQAAgAEAALwBAAC8AQAAvAHB/4ABbP///5H/
</value>
</data>
<data name="$this.Text" xml:space="preserve"> <data name="$this.Text" xml:space="preserve">
<value>编辑或添加[Trojan]服务器</value> <value>编辑或添加[Trojan]服务器</value>
</data> </data>
+6 -6
View File
@@ -532,7 +532,7 @@
<value>0, 35</value> <value>0, 35</value>
</data> </data>
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing"> <data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>729, 219</value> <value>729, 216</value>
</data> </data>
<data name="groupBox1.TabIndex" type="System.Int32, mscorlib"> <data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
<value>3</value> <value>3</value>
@@ -580,7 +580,7 @@
<value>Bottom</value> <value>Bottom</value>
</data> </data>
<data name="panel2.Location" type="System.Drawing.Point, System.Drawing"> <data name="panel2.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 474</value> <value>0, 481</value>
</data> </data>
<data name="panel2.Size" type="System.Drawing.Size, System.Drawing"> <data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
<value>729, 60</value> <value>729, 60</value>
@@ -682,7 +682,7 @@
<value>0, 0</value> <value>0, 0</value>
</data> </data>
<data name="transportControl.Size" type="System.Drawing.Size, System.Drawing"> <data name="transportControl.Size" type="System.Drawing.Size, System.Drawing">
<value>729, 220</value> <value>729, 230</value>
</data> </data>
<data name="transportControl.TabIndex" type="System.Int32, mscorlib"> <data name="transportControl.TabIndex" type="System.Int32, mscorlib">
<value>0</value> <value>0</value>
@@ -703,10 +703,10 @@
<value>Bottom</value> <value>Bottom</value>
</data> </data>
<data name="panel3.Location" type="System.Drawing.Point, System.Drawing"> <data name="panel3.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 254</value> <value>0, 251</value>
</data> </data>
<data name="panel3.Size" type="System.Drawing.Size, System.Drawing"> <data name="panel3.Size" type="System.Drawing.Size, System.Drawing">
<value>729, 220</value> <value>729, 230</value>
</data> </data>
<data name="panel3.TabIndex" type="System.Int32, mscorlib"> <data name="panel3.TabIndex" type="System.Int32, mscorlib">
<value>9</value> <value>9</value>
@@ -733,7 +733,7 @@
<value>6, 12</value> <value>6, 12</value>
</data> </data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing"> <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>729, 534</value> <value>729, 541</value>
</data> </data>
<data name="$this.Text" xml:space="preserve"> <data name="$this.Text" xml:space="preserve">
<value>Edit or add a [VMess] server</value> <value>Edit or add a [VMess] server</value>
+118 -103
View File
@@ -79,6 +79,8 @@
this.ssMain = new System.Windows.Forms.StatusStrip(); this.ssMain = new System.Windows.Forms.StatusStrip();
this.toolSslInboundInfo = new System.Windows.Forms.ToolStripStatusLabel(); this.toolSslInboundInfo = new System.Windows.Forms.ToolStripStatusLabel();
this.toolSslBlank1 = new System.Windows.Forms.ToolStripStatusLabel(); this.toolSslBlank1 = new System.Windows.Forms.ToolStripStatusLabel();
this.toolSslRoutingRule = new System.Windows.Forms.ToolStripStatusLabel();
this.toolSslBlank2 = new System.Windows.Forms.ToolStripStatusLabel();
this.toolSslServerSpeed = new System.Windows.Forms.ToolStripStatusLabel(); this.toolSslServerSpeed = new System.Windows.Forms.ToolStripStatusLabel();
this.toolSslBlank4 = new System.Windows.Forms.ToolStripStatusLabel(); this.toolSslBlank4 = new System.Windows.Forms.ToolStripStatusLabel();
this.notifyMain = new System.Windows.Forms.NotifyIcon(this.components); this.notifyMain = new System.Windows.Forms.NotifyIcon(this.components);
@@ -89,6 +91,7 @@
this.menuKeepNothing = new System.Windows.Forms.ToolStripMenuItem(); this.menuKeepNothing = new System.Windows.Forms.ToolStripMenuItem();
this.menuRoutings = new System.Windows.Forms.ToolStripMenuItem(); this.menuRoutings = new System.Windows.Forms.ToolStripMenuItem();
this.menuServers = new System.Windows.Forms.ToolStripMenuItem(); this.menuServers = new System.Windows.Forms.ToolStripMenuItem();
this.menuServers2 = new System.Windows.Forms.ToolStripComboBox();
this.toolStripSeparator13 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripSeparator13 = new System.Windows.Forms.ToolStripSeparator();
this.menuAddServers2 = new System.Windows.Forms.ToolStripMenuItem(); this.menuAddServers2 = new System.Windows.Forms.ToolStripMenuItem();
this.menuScanScreen2 = new System.Windows.Forms.ToolStripMenuItem(); this.menuScanScreen2 = new System.Windows.Forms.ToolStripMenuItem();
@@ -129,8 +132,6 @@
this.tsbPromotion = new System.Windows.Forms.ToolStripButton(); this.tsbPromotion = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator11 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripSeparator11 = new System.Windows.Forms.ToolStripSeparator();
this.tsbClose = new System.Windows.Forms.ToolStripButton(); this.tsbClose = new System.Windows.Forms.ToolStripButton();
this.toolSslRoutingRule = new System.Windows.Forms.ToolStripStatusLabel();
this.toolSslBlank2 = new System.Windows.Forms.ToolStripStatusLabel();
((System.ComponentModel.ISupportInitialize)(this.scMain)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.scMain)).BeginInit();
this.scMain.Panel1.SuspendLayout(); this.scMain.Panel1.SuspendLayout();
this.scMain.Panel2.SuspendLayout(); this.scMain.Panel2.SuspendLayout();
@@ -156,17 +157,19 @@
// //
// scMain.Panel1 // scMain.Panel1
// //
resources.ApplyResources(this.scMain.Panel1, "scMain.Panel1");
this.scMain.Panel1.Controls.Add(this.lvServers); this.scMain.Panel1.Controls.Add(this.lvServers);
// //
// scMain.Panel2 // scMain.Panel2
// //
resources.ApplyResources(this.scMain.Panel2, "scMain.Panel2");
this.scMain.Panel2.Controls.Add(this.qrCodeControl); this.scMain.Panel2.Controls.Add(this.qrCodeControl);
this.scMain.TabStop = false; this.scMain.TabStop = false;
// //
// lvServers // lvServers
// //
this.lvServers.ContextMenuStrip = this.cmsLv;
resources.ApplyResources(this.lvServers, "lvServers"); resources.ApplyResources(this.lvServers, "lvServers");
this.lvServers.ContextMenuStrip = this.cmsLv;
this.lvServers.FullRowSelect = true; this.lvServers.FullRowSelect = true;
this.lvServers.GridLines = true; this.lvServers.GridLines = true;
this.lvServers.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable; this.lvServers.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
@@ -185,6 +188,7 @@
// //
// cmsLv // cmsLv
// //
resources.ApplyResources(this.cmsLv, "cmsLv");
this.cmsLv.ImageScalingSize = new System.Drawing.Size(20, 20); this.cmsLv.ImageScalingSize = new System.Drawing.Size(20, 20);
this.cmsLv.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.cmsLv.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menuAddVmessServer, this.menuAddVmessServer,
@@ -220,195 +224,194 @@
this.menuExport2SubContent}); this.menuExport2SubContent});
this.cmsLv.Name = "cmsLv"; this.cmsLv.Name = "cmsLv";
this.cmsLv.OwnerItem = this.tsbServer; this.cmsLv.OwnerItem = this.tsbServer;
resources.ApplyResources(this.cmsLv, "cmsLv");
// //
// menuAddVmessServer // menuAddVmessServer
// //
this.menuAddVmessServer.Name = "menuAddVmessServer";
resources.ApplyResources(this.menuAddVmessServer, "menuAddVmessServer"); resources.ApplyResources(this.menuAddVmessServer, "menuAddVmessServer");
this.menuAddVmessServer.Name = "menuAddVmessServer";
this.menuAddVmessServer.Click += new System.EventHandler(this.menuAddVmessServer_Click); this.menuAddVmessServer.Click += new System.EventHandler(this.menuAddVmessServer_Click);
// //
// menuAddVlessServer // menuAddVlessServer
// //
this.menuAddVlessServer.Name = "menuAddVlessServer";
resources.ApplyResources(this.menuAddVlessServer, "menuAddVlessServer"); resources.ApplyResources(this.menuAddVlessServer, "menuAddVlessServer");
this.menuAddVlessServer.Name = "menuAddVlessServer";
this.menuAddVlessServer.Click += new System.EventHandler(this.menuAddVlessServer_Click); this.menuAddVlessServer.Click += new System.EventHandler(this.menuAddVlessServer_Click);
// //
// menuAddShadowsocksServer // menuAddShadowsocksServer
// //
this.menuAddShadowsocksServer.Name = "menuAddShadowsocksServer";
resources.ApplyResources(this.menuAddShadowsocksServer, "menuAddShadowsocksServer"); resources.ApplyResources(this.menuAddShadowsocksServer, "menuAddShadowsocksServer");
this.menuAddShadowsocksServer.Name = "menuAddShadowsocksServer";
this.menuAddShadowsocksServer.Click += new System.EventHandler(this.menuAddShadowsocksServer_Click); this.menuAddShadowsocksServer.Click += new System.EventHandler(this.menuAddShadowsocksServer_Click);
// //
// menuAddSocksServer // menuAddSocksServer
// //
this.menuAddSocksServer.Name = "menuAddSocksServer";
resources.ApplyResources(this.menuAddSocksServer, "menuAddSocksServer"); resources.ApplyResources(this.menuAddSocksServer, "menuAddSocksServer");
this.menuAddSocksServer.Name = "menuAddSocksServer";
this.menuAddSocksServer.Click += new System.EventHandler(this.menuAddSocksServer_Click); this.menuAddSocksServer.Click += new System.EventHandler(this.menuAddSocksServer_Click);
// //
// menuAddTrojanServer // menuAddTrojanServer
// //
this.menuAddTrojanServer.Name = "menuAddTrojanServer";
resources.ApplyResources(this.menuAddTrojanServer, "menuAddTrojanServer"); resources.ApplyResources(this.menuAddTrojanServer, "menuAddTrojanServer");
this.menuAddTrojanServer.Name = "menuAddTrojanServer";
this.menuAddTrojanServer.Click += new System.EventHandler(this.menuAddTrojanServer_Click); this.menuAddTrojanServer.Click += new System.EventHandler(this.menuAddTrojanServer_Click);
// //
// menuAddCustomServer // menuAddCustomServer
// //
this.menuAddCustomServer.Name = "menuAddCustomServer";
resources.ApplyResources(this.menuAddCustomServer, "menuAddCustomServer"); resources.ApplyResources(this.menuAddCustomServer, "menuAddCustomServer");
this.menuAddCustomServer.Name = "menuAddCustomServer";
this.menuAddCustomServer.Click += new System.EventHandler(this.menuAddCustomServer_Click); this.menuAddCustomServer.Click += new System.EventHandler(this.menuAddCustomServer_Click);
// //
// menuAddServers // menuAddServers
// //
this.menuAddServers.Name = "menuAddServers";
resources.ApplyResources(this.menuAddServers, "menuAddServers"); resources.ApplyResources(this.menuAddServers, "menuAddServers");
this.menuAddServers.Name = "menuAddServers";
this.menuAddServers.Click += new System.EventHandler(this.menuAddServers_Click); this.menuAddServers.Click += new System.EventHandler(this.menuAddServers_Click);
// //
// menuScanScreen // menuScanScreen
// //
this.menuScanScreen.Name = "menuScanScreen";
resources.ApplyResources(this.menuScanScreen, "menuScanScreen"); resources.ApplyResources(this.menuScanScreen, "menuScanScreen");
this.menuScanScreen.Name = "menuScanScreen";
this.menuScanScreen.Click += new System.EventHandler(this.menuScanScreen_Click); this.menuScanScreen.Click += new System.EventHandler(this.menuScanScreen_Click);
// //
// toolStripSeparator1 // toolStripSeparator1
// //
this.toolStripSeparator1.Name = "toolStripSeparator1";
resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1"); resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1");
this.toolStripSeparator1.Name = "toolStripSeparator1";
// //
// menuRemoveServer // menuRemoveServer
// //
this.menuRemoveServer.Name = "menuRemoveServer";
resources.ApplyResources(this.menuRemoveServer, "menuRemoveServer"); resources.ApplyResources(this.menuRemoveServer, "menuRemoveServer");
this.menuRemoveServer.Name = "menuRemoveServer";
this.menuRemoveServer.Click += new System.EventHandler(this.menuRemoveServer_Click); this.menuRemoveServer.Click += new System.EventHandler(this.menuRemoveServer_Click);
// //
// menuRemoveDuplicateServer // menuRemoveDuplicateServer
// //
this.menuRemoveDuplicateServer.Name = "menuRemoveDuplicateServer";
resources.ApplyResources(this.menuRemoveDuplicateServer, "menuRemoveDuplicateServer"); resources.ApplyResources(this.menuRemoveDuplicateServer, "menuRemoveDuplicateServer");
this.menuRemoveDuplicateServer.Name = "menuRemoveDuplicateServer";
this.menuRemoveDuplicateServer.Click += new System.EventHandler(this.menuRemoveDuplicateServer_Click); this.menuRemoveDuplicateServer.Click += new System.EventHandler(this.menuRemoveDuplicateServer_Click);
// //
// menuCopyServer // menuCopyServer
// //
this.menuCopyServer.Name = "menuCopyServer";
resources.ApplyResources(this.menuCopyServer, "menuCopyServer"); resources.ApplyResources(this.menuCopyServer, "menuCopyServer");
this.menuCopyServer.Name = "menuCopyServer";
this.menuCopyServer.Click += new System.EventHandler(this.menuCopyServer_Click); this.menuCopyServer.Click += new System.EventHandler(this.menuCopyServer_Click);
// //
// menuSetDefaultServer // menuSetDefaultServer
// //
this.menuSetDefaultServer.Name = "menuSetDefaultServer";
resources.ApplyResources(this.menuSetDefaultServer, "menuSetDefaultServer"); resources.ApplyResources(this.menuSetDefaultServer, "menuSetDefaultServer");
this.menuSetDefaultServer.Name = "menuSetDefaultServer";
this.menuSetDefaultServer.Click += new System.EventHandler(this.menuSetDefaultServer_Click); this.menuSetDefaultServer.Click += new System.EventHandler(this.menuSetDefaultServer_Click);
// //
// toolStripSeparator3 // toolStripSeparator3
// //
this.toolStripSeparator3.Name = "toolStripSeparator3";
resources.ApplyResources(this.toolStripSeparator3, "toolStripSeparator3"); resources.ApplyResources(this.toolStripSeparator3, "toolStripSeparator3");
this.toolStripSeparator3.Name = "toolStripSeparator3";
// //
// menuMoveTop // menuMoveTop
// //
this.menuMoveTop.Name = "menuMoveTop";
resources.ApplyResources(this.menuMoveTop, "menuMoveTop"); resources.ApplyResources(this.menuMoveTop, "menuMoveTop");
this.menuMoveTop.Name = "menuMoveTop";
this.menuMoveTop.Click += new System.EventHandler(this.menuMoveTop_Click); this.menuMoveTop.Click += new System.EventHandler(this.menuMoveTop_Click);
// //
// menuMoveUp // menuMoveUp
// //
this.menuMoveUp.Name = "menuMoveUp";
resources.ApplyResources(this.menuMoveUp, "menuMoveUp"); resources.ApplyResources(this.menuMoveUp, "menuMoveUp");
this.menuMoveUp.Name = "menuMoveUp";
this.menuMoveUp.Click += new System.EventHandler(this.menuMoveUp_Click); this.menuMoveUp.Click += new System.EventHandler(this.menuMoveUp_Click);
// //
// menuMoveDown // menuMoveDown
// //
this.menuMoveDown.Name = "menuMoveDown";
resources.ApplyResources(this.menuMoveDown, "menuMoveDown"); resources.ApplyResources(this.menuMoveDown, "menuMoveDown");
this.menuMoveDown.Name = "menuMoveDown";
this.menuMoveDown.Click += new System.EventHandler(this.menuMoveDown_Click); this.menuMoveDown.Click += new System.EventHandler(this.menuMoveDown_Click);
// //
// menuMoveBottom // menuMoveBottom
// //
this.menuMoveBottom.Name = "menuMoveBottom";
resources.ApplyResources(this.menuMoveBottom, "menuMoveBottom"); resources.ApplyResources(this.menuMoveBottom, "menuMoveBottom");
this.menuMoveBottom.Name = "menuMoveBottom";
this.menuMoveBottom.Click += new System.EventHandler(this.menuMoveBottom_Click); this.menuMoveBottom.Click += new System.EventHandler(this.menuMoveBottom_Click);
// //
// menuSelectAll // menuSelectAll
// //
this.menuSelectAll.Name = "menuSelectAll";
resources.ApplyResources(this.menuSelectAll, "menuSelectAll"); resources.ApplyResources(this.menuSelectAll, "menuSelectAll");
this.menuSelectAll.Name = "menuSelectAll";
this.menuSelectAll.Click += new System.EventHandler(this.menuSelectAll_Click); this.menuSelectAll.Click += new System.EventHandler(this.menuSelectAll_Click);
// //
// toolStripSeparator9 // toolStripSeparator9
// //
this.toolStripSeparator9.Name = "toolStripSeparator9";
resources.ApplyResources(this.toolStripSeparator9, "toolStripSeparator9"); resources.ApplyResources(this.toolStripSeparator9, "toolStripSeparator9");
this.toolStripSeparator9.Name = "toolStripSeparator9";
// //
// menuPingServer // menuPingServer
// //
this.menuPingServer.Name = "menuPingServer";
resources.ApplyResources(this.menuPingServer, "menuPingServer"); resources.ApplyResources(this.menuPingServer, "menuPingServer");
this.menuPingServer.Name = "menuPingServer";
this.menuPingServer.Click += new System.EventHandler(this.menuPingServer_Click); this.menuPingServer.Click += new System.EventHandler(this.menuPingServer_Click);
// //
// menuTcpingServer // menuTcpingServer
// //
this.menuTcpingServer.Name = "menuTcpingServer";
resources.ApplyResources(this.menuTcpingServer, "menuTcpingServer"); resources.ApplyResources(this.menuTcpingServer, "menuTcpingServer");
this.menuTcpingServer.Name = "menuTcpingServer";
this.menuTcpingServer.Click += new System.EventHandler(this.menuTcpingServer_Click); this.menuTcpingServer.Click += new System.EventHandler(this.menuTcpingServer_Click);
// //
// menuRealPingServer // menuRealPingServer
// //
this.menuRealPingServer.Name = "menuRealPingServer";
resources.ApplyResources(this.menuRealPingServer, "menuRealPingServer"); resources.ApplyResources(this.menuRealPingServer, "menuRealPingServer");
this.menuRealPingServer.Name = "menuRealPingServer";
this.menuRealPingServer.Click += new System.EventHandler(this.menuRealPingServer_Click); this.menuRealPingServer.Click += new System.EventHandler(this.menuRealPingServer_Click);
// //
// menuSpeedServer // menuSpeedServer
// //
this.menuSpeedServer.Name = "menuSpeedServer";
resources.ApplyResources(this.menuSpeedServer, "menuSpeedServer"); resources.ApplyResources(this.menuSpeedServer, "menuSpeedServer");
this.menuSpeedServer.Name = "menuSpeedServer";
this.menuSpeedServer.Click += new System.EventHandler(this.menuSpeedServer_Click); this.menuSpeedServer.Click += new System.EventHandler(this.menuSpeedServer_Click);
// //
// tsbTestMe // tsbTestMe
// //
this.tsbTestMe.Name = "tsbTestMe";
resources.ApplyResources(this.tsbTestMe, "tsbTestMe"); resources.ApplyResources(this.tsbTestMe, "tsbTestMe");
this.tsbTestMe.Name = "tsbTestMe";
this.tsbTestMe.Click += new System.EventHandler(this.tsbTestMe_Click); this.tsbTestMe.Click += new System.EventHandler(this.tsbTestMe_Click);
// //
// menuClearServerStatistics // menuClearServerStatistics
// //
this.menuClearServerStatistics.Name = "menuClearServerStatistics";
resources.ApplyResources(this.menuClearServerStatistics, "menuClearServerStatistics"); resources.ApplyResources(this.menuClearServerStatistics, "menuClearServerStatistics");
this.menuClearServerStatistics.Name = "menuClearServerStatistics";
this.menuClearServerStatistics.Click += new System.EventHandler(this.menuClearStatistic_Click); this.menuClearServerStatistics.Click += new System.EventHandler(this.menuClearStatistic_Click);
// //
// toolStripSeparator6 // toolStripSeparator6
// //
this.toolStripSeparator6.Name = "toolStripSeparator6";
resources.ApplyResources(this.toolStripSeparator6, "toolStripSeparator6"); resources.ApplyResources(this.toolStripSeparator6, "toolStripSeparator6");
this.toolStripSeparator6.Name = "toolStripSeparator6";
// //
// menuExport2ClientConfig // menuExport2ClientConfig
// //
this.menuExport2ClientConfig.Name = "menuExport2ClientConfig";
resources.ApplyResources(this.menuExport2ClientConfig, "menuExport2ClientConfig"); resources.ApplyResources(this.menuExport2ClientConfig, "menuExport2ClientConfig");
this.menuExport2ClientConfig.Name = "menuExport2ClientConfig";
this.menuExport2ClientConfig.Click += new System.EventHandler(this.menuExport2ClientConfig_Click); this.menuExport2ClientConfig.Click += new System.EventHandler(this.menuExport2ClientConfig_Click);
// //
// menuExport2ServerConfig // menuExport2ServerConfig
// //
this.menuExport2ServerConfig.Name = "menuExport2ServerConfig";
resources.ApplyResources(this.menuExport2ServerConfig, "menuExport2ServerConfig"); resources.ApplyResources(this.menuExport2ServerConfig, "menuExport2ServerConfig");
this.menuExport2ServerConfig.Name = "menuExport2ServerConfig";
this.menuExport2ServerConfig.Click += new System.EventHandler(this.menuExport2ServerConfig_Click); this.menuExport2ServerConfig.Click += new System.EventHandler(this.menuExport2ServerConfig_Click);
// //
// menuExport2ShareUrl // menuExport2ShareUrl
// //
this.menuExport2ShareUrl.Name = "menuExport2ShareUrl";
resources.ApplyResources(this.menuExport2ShareUrl, "menuExport2ShareUrl"); resources.ApplyResources(this.menuExport2ShareUrl, "menuExport2ShareUrl");
this.menuExport2ShareUrl.Name = "menuExport2ShareUrl";
this.menuExport2ShareUrl.Click += new System.EventHandler(this.menuExport2ShareUrl_Click); this.menuExport2ShareUrl.Click += new System.EventHandler(this.menuExport2ShareUrl_Click);
// //
// menuExport2SubContent // menuExport2SubContent
// //
this.menuExport2SubContent.Name = "menuExport2SubContent";
resources.ApplyResources(this.menuExport2SubContent, "menuExport2SubContent"); resources.ApplyResources(this.menuExport2SubContent, "menuExport2SubContent");
this.menuExport2SubContent.Name = "menuExport2SubContent";
this.menuExport2SubContent.Click += new System.EventHandler(this.menuExport2SubContent_Click); this.menuExport2SubContent.Click += new System.EventHandler(this.menuExport2SubContent_Click);
// //
// tsbServer // tsbServer
// //
resources.ApplyResources(this.tsbServer, "tsbServer");
this.tsbServer.DropDown = this.cmsLv; this.tsbServer.DropDown = this.cmsLv;
this.tsbServer.Image = global::v2rayN.Properties.Resources.server; this.tsbServer.Image = global::v2rayN.Properties.Resources.server;
resources.ApplyResources(this.tsbServer, "tsbServer");
this.tsbServer.Name = "tsbServer"; this.tsbServer.Name = "tsbServer";
// //
// qrCodeControl // qrCodeControl
@@ -423,33 +426,35 @@
// //
// splitContainer1.Panel1 // splitContainer1.Panel1
// //
resources.ApplyResources(this.splitContainer1.Panel1, "splitContainer1.Panel1");
this.splitContainer1.Panel1.Controls.Add(this.groupBox1); this.splitContainer1.Panel1.Controls.Add(this.groupBox1);
// //
// splitContainer1.Panel2 // splitContainer1.Panel2
// //
resources.ApplyResources(this.splitContainer1.Panel2, "splitContainer1.Panel2");
this.splitContainer1.Panel2.Controls.Add(this.gbMsgTitle); this.splitContainer1.Panel2.Controls.Add(this.gbMsgTitle);
// //
// groupBox1 // groupBox1
// //
this.groupBox1.Controls.Add(this.scMain);
resources.ApplyResources(this.groupBox1, "groupBox1"); resources.ApplyResources(this.groupBox1, "groupBox1");
this.groupBox1.Controls.Add(this.scMain);
this.groupBox1.Name = "groupBox1"; this.groupBox1.Name = "groupBox1";
this.groupBox1.TabStop = false; this.groupBox1.TabStop = false;
// //
// gbMsgTitle // gbMsgTitle
// //
resources.ApplyResources(this.gbMsgTitle, "gbMsgTitle");
this.gbMsgTitle.Controls.Add(this.txtMsgBox); this.gbMsgTitle.Controls.Add(this.txtMsgBox);
this.gbMsgTitle.Controls.Add(this.ssMain); this.gbMsgTitle.Controls.Add(this.ssMain);
resources.ApplyResources(this.gbMsgTitle, "gbMsgTitle");
this.gbMsgTitle.Name = "gbMsgTitle"; this.gbMsgTitle.Name = "gbMsgTitle";
this.gbMsgTitle.TabStop = false; this.gbMsgTitle.TabStop = false;
// //
// txtMsgBox // txtMsgBox
// //
resources.ApplyResources(this.txtMsgBox, "txtMsgBox");
this.txtMsgBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(41)))), ((int)(((byte)(49)))), ((int)(((byte)(52))))); this.txtMsgBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(41)))), ((int)(((byte)(49)))), ((int)(((byte)(52)))));
this.txtMsgBox.BorderStyle = System.Windows.Forms.BorderStyle.None; this.txtMsgBox.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.txtMsgBox.ContextMenuStrip = this.cmsMsgBox; this.txtMsgBox.ContextMenuStrip = this.cmsMsgBox;
resources.ApplyResources(this.txtMsgBox, "txtMsgBox");
this.txtMsgBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(226)))), ((int)(((byte)(228))))); this.txtMsgBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(226)))), ((int)(((byte)(228)))));
this.txtMsgBox.Name = "txtMsgBox"; this.txtMsgBox.Name = "txtMsgBox";
this.txtMsgBox.ReadOnly = true; this.txtMsgBox.ReadOnly = true;
@@ -457,6 +462,7 @@
// //
// cmsMsgBox // cmsMsgBox
// //
resources.ApplyResources(this.cmsMsgBox, "cmsMsgBox");
this.cmsMsgBox.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.cmsMsgBox.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menuMsgBoxSelectAll, this.menuMsgBoxSelectAll,
this.menuMsgBoxCopy, this.menuMsgBoxCopy,
@@ -464,40 +470,40 @@
this.menuMsgBoxAddRoutingRule, this.menuMsgBoxAddRoutingRule,
this.menuMsgBoxFilter}); this.menuMsgBoxFilter});
this.cmsMsgBox.Name = "cmsMsgBox"; this.cmsMsgBox.Name = "cmsMsgBox";
resources.ApplyResources(this.cmsMsgBox, "cmsMsgBox");
// //
// menuMsgBoxSelectAll // menuMsgBoxSelectAll
// //
this.menuMsgBoxSelectAll.Name = "menuMsgBoxSelectAll";
resources.ApplyResources(this.menuMsgBoxSelectAll, "menuMsgBoxSelectAll"); resources.ApplyResources(this.menuMsgBoxSelectAll, "menuMsgBoxSelectAll");
this.menuMsgBoxSelectAll.Name = "menuMsgBoxSelectAll";
this.menuMsgBoxSelectAll.Click += new System.EventHandler(this.menuMsgBoxSelectAll_Click); this.menuMsgBoxSelectAll.Click += new System.EventHandler(this.menuMsgBoxSelectAll_Click);
// //
// menuMsgBoxCopy // menuMsgBoxCopy
// //
this.menuMsgBoxCopy.Name = "menuMsgBoxCopy";
resources.ApplyResources(this.menuMsgBoxCopy, "menuMsgBoxCopy"); resources.ApplyResources(this.menuMsgBoxCopy, "menuMsgBoxCopy");
this.menuMsgBoxCopy.Name = "menuMsgBoxCopy";
this.menuMsgBoxCopy.Click += new System.EventHandler(this.menuMsgBoxCopy_Click); this.menuMsgBoxCopy.Click += new System.EventHandler(this.menuMsgBoxCopy_Click);
// //
// menuMsgBoxCopyAll // menuMsgBoxCopyAll
// //
this.menuMsgBoxCopyAll.Name = "menuMsgBoxCopyAll";
resources.ApplyResources(this.menuMsgBoxCopyAll, "menuMsgBoxCopyAll"); resources.ApplyResources(this.menuMsgBoxCopyAll, "menuMsgBoxCopyAll");
this.menuMsgBoxCopyAll.Name = "menuMsgBoxCopyAll";
this.menuMsgBoxCopyAll.Click += new System.EventHandler(this.menuMsgBoxCopyAll_Click); this.menuMsgBoxCopyAll.Click += new System.EventHandler(this.menuMsgBoxCopyAll_Click);
// //
// menuMsgBoxAddRoutingRule // menuMsgBoxAddRoutingRule
// //
this.menuMsgBoxAddRoutingRule.Name = "menuMsgBoxAddRoutingRule";
resources.ApplyResources(this.menuMsgBoxAddRoutingRule, "menuMsgBoxAddRoutingRule"); resources.ApplyResources(this.menuMsgBoxAddRoutingRule, "menuMsgBoxAddRoutingRule");
this.menuMsgBoxAddRoutingRule.Name = "menuMsgBoxAddRoutingRule";
this.menuMsgBoxAddRoutingRule.Click += new System.EventHandler(this.menuMsgBoxAddRoutingRule_Click); this.menuMsgBoxAddRoutingRule.Click += new System.EventHandler(this.menuMsgBoxAddRoutingRule_Click);
// //
// menuMsgBoxFilter // menuMsgBoxFilter
// //
this.menuMsgBoxFilter.Name = "menuMsgBoxFilter";
resources.ApplyResources(this.menuMsgBoxFilter, "menuMsgBoxFilter"); resources.ApplyResources(this.menuMsgBoxFilter, "menuMsgBoxFilter");
this.menuMsgBoxFilter.Name = "menuMsgBoxFilter";
this.menuMsgBoxFilter.Click += new System.EventHandler(this.menuMsgBoxFilter_Click); this.menuMsgBoxFilter.Click += new System.EventHandler(this.menuMsgBoxFilter_Click);
// //
// ssMain // ssMain
// //
resources.ApplyResources(this.ssMain, "ssMain");
this.ssMain.ImageScalingSize = new System.Drawing.Size(20, 20); this.ssMain.ImageScalingSize = new System.Drawing.Size(20, 20);
this.ssMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.ssMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolSslInboundInfo, this.toolSslInboundInfo,
@@ -506,14 +512,13 @@
this.toolSslBlank2, this.toolSslBlank2,
this.toolSslServerSpeed, this.toolSslServerSpeed,
this.toolSslBlank4}); this.toolSslBlank4});
resources.ApplyResources(this.ssMain, "ssMain");
this.ssMain.Name = "ssMain"; this.ssMain.Name = "ssMain";
this.ssMain.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.ssMain_ItemClicked); this.ssMain.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.ssMain_ItemClicked);
// //
// toolSslInboundInfo // toolSslInboundInfo
// //
this.toolSslInboundInfo.Name = "toolSslInboundInfo";
resources.ApplyResources(this.toolSslInboundInfo, "toolSslInboundInfo"); resources.ApplyResources(this.toolSslInboundInfo, "toolSslInboundInfo");
this.toolSslInboundInfo.Name = "toolSslInboundInfo";
// //
// toolSslBlank1 // toolSslBlank1
// //
@@ -521,6 +526,17 @@
this.toolSslBlank1.Name = "toolSslBlank1"; this.toolSslBlank1.Name = "toolSslBlank1";
this.toolSslBlank1.Spring = true; this.toolSslBlank1.Spring = true;
// //
// toolSslRoutingRule
//
resources.ApplyResources(this.toolSslRoutingRule, "toolSslRoutingRule");
this.toolSslRoutingRule.Name = "toolSslRoutingRule";
//
// toolSslBlank2
//
resources.ApplyResources(this.toolSslBlank2, "toolSslBlank2");
this.toolSslBlank2.Name = "toolSslBlank2";
this.toolSslBlank2.Spring = true;
//
// toolSslServerSpeed // toolSslServerSpeed
// //
resources.ApplyResources(this.toolSslServerSpeed, "toolSslServerSpeed"); resources.ApplyResources(this.toolSslServerSpeed, "toolSslServerSpeed");
@@ -529,23 +545,24 @@
// //
// toolSslBlank4 // toolSslBlank4
// //
this.toolSslBlank4.Name = "toolSslBlank4";
resources.ApplyResources(this.toolSslBlank4, "toolSslBlank4"); resources.ApplyResources(this.toolSslBlank4, "toolSslBlank4");
this.toolSslBlank4.Name = "toolSslBlank4";
// //
// notifyMain // notifyMain
// //
this.notifyMain.ContextMenuStrip = this.cmsMain;
resources.ApplyResources(this.notifyMain, "notifyMain"); resources.ApplyResources(this.notifyMain, "notifyMain");
this.notifyMain.ContextMenuStrip = this.cmsMain;
this.notifyMain.MouseClick += new System.Windows.Forms.MouseEventHandler(this.notifyMain_MouseClick); this.notifyMain.MouseClick += new System.Windows.Forms.MouseEventHandler(this.notifyMain_MouseClick);
// //
// cmsMain // cmsMain
// //
this.cmsMain.ImageScalingSize = new System.Drawing.Size(20, 20);
resources.ApplyResources(this.cmsMain, "cmsMain"); resources.ApplyResources(this.cmsMain, "cmsMain");
this.cmsMain.ImageScalingSize = new System.Drawing.Size(20, 20);
this.cmsMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.cmsMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menuSysAgentMode, this.menuSysAgentMode,
this.menuRoutings, this.menuRoutings,
this.menuServers, this.menuServers,
this.menuServers2,
this.toolStripSeparator13, this.toolStripSeparator13,
this.menuAddServers2, this.menuAddServers2,
this.menuScanScreen2, this.menuScanScreen2,
@@ -559,73 +576,81 @@
// //
// menuSysAgentMode // menuSysAgentMode
// //
resources.ApplyResources(this.menuSysAgentMode, "menuSysAgentMode");
this.menuSysAgentMode.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menuSysAgentMode.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menuKeepClear, this.menuKeepClear,
this.menuGlobal, this.menuGlobal,
this.menuKeepNothing}); this.menuKeepNothing});
this.menuSysAgentMode.Name = "menuSysAgentMode"; this.menuSysAgentMode.Name = "menuSysAgentMode";
resources.ApplyResources(this.menuSysAgentMode, "menuSysAgentMode");
// //
// menuKeepClear // menuKeepClear
// //
this.menuKeepClear.Name = "menuKeepClear";
resources.ApplyResources(this.menuKeepClear, "menuKeepClear"); resources.ApplyResources(this.menuKeepClear, "menuKeepClear");
this.menuKeepClear.Name = "menuKeepClear";
this.menuKeepClear.Click += new System.EventHandler(this.menuKeepClear_Click); this.menuKeepClear.Click += new System.EventHandler(this.menuKeepClear_Click);
// //
// menuGlobal // menuGlobal
// //
this.menuGlobal.Name = "menuGlobal";
resources.ApplyResources(this.menuGlobal, "menuGlobal"); resources.ApplyResources(this.menuGlobal, "menuGlobal");
this.menuGlobal.Name = "menuGlobal";
this.menuGlobal.Click += new System.EventHandler(this.menuGlobal_Click); this.menuGlobal.Click += new System.EventHandler(this.menuGlobal_Click);
// //
// menuKeepNothing // menuKeepNothing
// //
this.menuKeepNothing.Name = "menuKeepNothing";
resources.ApplyResources(this.menuKeepNothing, "menuKeepNothing"); resources.ApplyResources(this.menuKeepNothing, "menuKeepNothing");
this.menuKeepNothing.Name = "menuKeepNothing";
this.menuKeepNothing.Click += new System.EventHandler(this.menuKeepNothing_Click); this.menuKeepNothing.Click += new System.EventHandler(this.menuKeepNothing_Click);
// //
// menuRoutings // menuRoutings
// //
this.menuRoutings.Name = "menuRoutings";
resources.ApplyResources(this.menuRoutings, "menuRoutings"); resources.ApplyResources(this.menuRoutings, "menuRoutings");
this.menuRoutings.Name = "menuRoutings";
// //
// menuServers // menuServers
// //
this.menuServers.Name = "menuServers";
resources.ApplyResources(this.menuServers, "menuServers"); resources.ApplyResources(this.menuServers, "menuServers");
this.menuServers.Name = "menuServers";
//
// menuServers2
//
resources.ApplyResources(this.menuServers2, "menuServers2");
this.menuServers2.BackColor = System.Drawing.SystemColors.Window;
this.menuServers2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.menuServers2.DropDownWidth = 500;
this.menuServers2.Name = "menuServers2";
// //
// toolStripSeparator13 // toolStripSeparator13
// //
this.toolStripSeparator13.Name = "toolStripSeparator13";
resources.ApplyResources(this.toolStripSeparator13, "toolStripSeparator13"); resources.ApplyResources(this.toolStripSeparator13, "toolStripSeparator13");
this.toolStripSeparator13.Name = "toolStripSeparator13";
// //
// menuAddServers2 // menuAddServers2
// //
this.menuAddServers2.Name = "menuAddServers2";
resources.ApplyResources(this.menuAddServers2, "menuAddServers2"); resources.ApplyResources(this.menuAddServers2, "menuAddServers2");
this.menuAddServers2.Name = "menuAddServers2";
this.menuAddServers2.Click += new System.EventHandler(this.menuAddServers_Click); this.menuAddServers2.Click += new System.EventHandler(this.menuAddServers_Click);
// //
// menuScanScreen2 // menuScanScreen2
// //
this.menuScanScreen2.Name = "menuScanScreen2";
resources.ApplyResources(this.menuScanScreen2, "menuScanScreen2"); resources.ApplyResources(this.menuScanScreen2, "menuScanScreen2");
this.menuScanScreen2.Name = "menuScanScreen2";
this.menuScanScreen2.Click += new System.EventHandler(this.menuScanScreen_Click); this.menuScanScreen2.Click += new System.EventHandler(this.menuScanScreen_Click);
// //
// menuUpdateSubscriptions // menuUpdateSubscriptions
// //
this.menuUpdateSubscriptions.Name = "menuUpdateSubscriptions";
resources.ApplyResources(this.menuUpdateSubscriptions, "menuUpdateSubscriptions"); resources.ApplyResources(this.menuUpdateSubscriptions, "menuUpdateSubscriptions");
this.menuUpdateSubscriptions.Name = "menuUpdateSubscriptions";
this.menuUpdateSubscriptions.Click += new System.EventHandler(this.menuUpdateSubscriptions_Click); this.menuUpdateSubscriptions.Click += new System.EventHandler(this.menuUpdateSubscriptions_Click);
// //
// toolStripSeparator2 // toolStripSeparator2
// //
this.toolStripSeparator2.Name = "toolStripSeparator2";
resources.ApplyResources(this.toolStripSeparator2, "toolStripSeparator2"); resources.ApplyResources(this.toolStripSeparator2, "toolStripSeparator2");
this.toolStripSeparator2.Name = "toolStripSeparator2";
// //
// menuExit // menuExit
// //
this.menuExit.Name = "menuExit";
resources.ApplyResources(this.menuExit, "menuExit"); resources.ApplyResources(this.menuExit, "menuExit");
this.menuExit.Name = "menuExit";
this.menuExit.Click += new System.EventHandler(this.menuExit_Click); this.menuExit.Click += new System.EventHandler(this.menuExit_Click);
// //
// bgwScan // bgwScan
@@ -641,6 +666,7 @@
// //
// tsMain // tsMain
// //
resources.ApplyResources(this.tsMain, "tsMain");
this.tsMain.ImageScalingSize = new System.Drawing.Size(32, 32); this.tsMain.ImageScalingSize = new System.Drawing.Size(32, 32);
this.tsMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.tsMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.tsbServer, this.tsbServer,
@@ -658,88 +684,87 @@
this.tsbPromotion, this.tsbPromotion,
this.toolStripSeparator11, this.toolStripSeparator11,
this.tsbClose}); this.tsbClose});
resources.ApplyResources(this.tsMain, "tsMain");
this.tsMain.Name = "tsMain"; this.tsMain.Name = "tsMain";
this.tsMain.TabStop = true; this.tsMain.TabStop = true;
// //
// toolStripSeparator4 // toolStripSeparator4
// //
this.toolStripSeparator4.Name = "toolStripSeparator4";
resources.ApplyResources(this.toolStripSeparator4, "toolStripSeparator4"); resources.ApplyResources(this.toolStripSeparator4, "toolStripSeparator4");
this.toolStripSeparator4.Name = "toolStripSeparator4";
// //
// tsbSub // tsbSub
// //
resources.ApplyResources(this.tsbSub, "tsbSub");
this.tsbSub.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.tsbSub.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.tsbSubSetting, this.tsbSubSetting,
this.tsbSubUpdate}); this.tsbSubUpdate});
this.tsbSub.Image = global::v2rayN.Properties.Resources.sub; this.tsbSub.Image = global::v2rayN.Properties.Resources.sub;
resources.ApplyResources(this.tsbSub, "tsbSub");
this.tsbSub.Name = "tsbSub"; this.tsbSub.Name = "tsbSub";
// //
// tsbSubSetting // tsbSubSetting
// //
this.tsbSubSetting.Name = "tsbSubSetting";
resources.ApplyResources(this.tsbSubSetting, "tsbSubSetting"); resources.ApplyResources(this.tsbSubSetting, "tsbSubSetting");
this.tsbSubSetting.Name = "tsbSubSetting";
this.tsbSubSetting.Click += new System.EventHandler(this.tsbSubSetting_Click); this.tsbSubSetting.Click += new System.EventHandler(this.tsbSubSetting_Click);
// //
// tsbSubUpdate // tsbSubUpdate
// //
this.tsbSubUpdate.Name = "tsbSubUpdate";
resources.ApplyResources(this.tsbSubUpdate, "tsbSubUpdate"); resources.ApplyResources(this.tsbSubUpdate, "tsbSubUpdate");
this.tsbSubUpdate.Name = "tsbSubUpdate";
this.tsbSubUpdate.Click += new System.EventHandler(this.tsbSubUpdate_Click); this.tsbSubUpdate.Click += new System.EventHandler(this.tsbSubUpdate_Click);
// //
// tsbQRCodeSwitch // tsbQRCodeSwitch
// //
resources.ApplyResources(this.tsbQRCodeSwitch, "tsbQRCodeSwitch");
this.tsbQRCodeSwitch.CheckOnClick = true; this.tsbQRCodeSwitch.CheckOnClick = true;
this.tsbQRCodeSwitch.ForeColor = System.Drawing.Color.Black; this.tsbQRCodeSwitch.ForeColor = System.Drawing.Color.Black;
this.tsbQRCodeSwitch.Image = global::v2rayN.Properties.Resources.share; this.tsbQRCodeSwitch.Image = global::v2rayN.Properties.Resources.share;
resources.ApplyResources(this.tsbQRCodeSwitch, "tsbQRCodeSwitch");
this.tsbQRCodeSwitch.Name = "tsbQRCodeSwitch"; this.tsbQRCodeSwitch.Name = "tsbQRCodeSwitch";
this.tsbQRCodeSwitch.CheckedChanged += new System.EventHandler(this.tsbQRCodeSwitch_CheckedChanged); this.tsbQRCodeSwitch.CheckedChanged += new System.EventHandler(this.tsbQRCodeSwitch_CheckedChanged);
// //
// toolStripSeparator8 // toolStripSeparator8
// //
this.toolStripSeparator8.Name = "toolStripSeparator8";
resources.ApplyResources(this.toolStripSeparator8, "toolStripSeparator8"); resources.ApplyResources(this.toolStripSeparator8, "toolStripSeparator8");
this.toolStripSeparator8.Name = "toolStripSeparator8";
// //
// tsbSetting // tsbSetting
// //
resources.ApplyResources(this.tsbSetting, "tsbSetting");
this.tsbSetting.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.tsbSetting.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.tsbOptionSetting, this.tsbOptionSetting,
this.tsbRoutingSetting, this.tsbRoutingSetting,
this.toolStripSeparator14, this.toolStripSeparator14,
this.tsbBackupGuiNConfig}); this.tsbBackupGuiNConfig});
this.tsbSetting.Image = global::v2rayN.Properties.Resources.option; this.tsbSetting.Image = global::v2rayN.Properties.Resources.option;
resources.ApplyResources(this.tsbSetting, "tsbSetting");
this.tsbSetting.Name = "tsbSetting"; this.tsbSetting.Name = "tsbSetting";
// //
// tsbOptionSetting // tsbOptionSetting
// //
this.tsbOptionSetting.Name = "tsbOptionSetting";
resources.ApplyResources(this.tsbOptionSetting, "tsbOptionSetting"); resources.ApplyResources(this.tsbOptionSetting, "tsbOptionSetting");
this.tsbOptionSetting.Name = "tsbOptionSetting";
this.tsbOptionSetting.Click += new System.EventHandler(this.tsbOptionSetting_Click); this.tsbOptionSetting.Click += new System.EventHandler(this.tsbOptionSetting_Click);
// //
// tsbRoutingSetting // tsbRoutingSetting
// //
this.tsbRoutingSetting.Name = "tsbRoutingSetting";
resources.ApplyResources(this.tsbRoutingSetting, "tsbRoutingSetting"); resources.ApplyResources(this.tsbRoutingSetting, "tsbRoutingSetting");
this.tsbRoutingSetting.Name = "tsbRoutingSetting";
this.tsbRoutingSetting.Click += new System.EventHandler(this.tsbRoutingSetting_Click); this.tsbRoutingSetting.Click += new System.EventHandler(this.tsbRoutingSetting_Click);
// //
// toolStripSeparator14 // toolStripSeparator14
// //
this.toolStripSeparator14.Name = "toolStripSeparator14";
resources.ApplyResources(this.toolStripSeparator14, "toolStripSeparator14"); resources.ApplyResources(this.toolStripSeparator14, "toolStripSeparator14");
this.toolStripSeparator14.Name = "toolStripSeparator14";
// //
// tsbBackupGuiNConfig // tsbBackupGuiNConfig
// //
this.tsbBackupGuiNConfig.Name = "tsbBackupGuiNConfig";
resources.ApplyResources(this.tsbBackupGuiNConfig, "tsbBackupGuiNConfig"); resources.ApplyResources(this.tsbBackupGuiNConfig, "tsbBackupGuiNConfig");
this.tsbBackupGuiNConfig.Name = "tsbBackupGuiNConfig";
this.tsbBackupGuiNConfig.Click += new System.EventHandler(this.tsbBackupGuiNConfig_Click); this.tsbBackupGuiNConfig.Click += new System.EventHandler(this.tsbBackupGuiNConfig_Click);
// //
// toolStripSeparator5 // toolStripSeparator5
// //
this.toolStripSeparator5.Name = "toolStripSeparator5";
resources.ApplyResources(this.toolStripSeparator5, "toolStripSeparator5"); resources.ApplyResources(this.toolStripSeparator5, "toolStripSeparator5");
this.toolStripSeparator5.Name = "toolStripSeparator5";
// //
// tsbReload // tsbReload
// //
@@ -749,11 +774,12 @@
// //
// toolStripSeparator7 // toolStripSeparator7
// //
this.toolStripSeparator7.Name = "toolStripSeparator7";
resources.ApplyResources(this.toolStripSeparator7, "toolStripSeparator7"); resources.ApplyResources(this.toolStripSeparator7, "toolStripSeparator7");
this.toolStripSeparator7.Name = "toolStripSeparator7";
// //
// tsbCheckUpdate // tsbCheckUpdate
// //
resources.ApplyResources(this.tsbCheckUpdate, "tsbCheckUpdate");
this.tsbCheckUpdate.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.tsbCheckUpdate.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.tsbCheckUpdateN, this.tsbCheckUpdateN,
this.tsbCheckUpdateCore, this.tsbCheckUpdateCore,
@@ -762,51 +788,51 @@
this.tsbCheckUpdateGeoSite, this.tsbCheckUpdateGeoSite,
this.tsbCheckUpdateGeoIP}); this.tsbCheckUpdateGeoIP});
this.tsbCheckUpdate.Image = global::v2rayN.Properties.Resources.checkupdate; this.tsbCheckUpdate.Image = global::v2rayN.Properties.Resources.checkupdate;
resources.ApplyResources(this.tsbCheckUpdate, "tsbCheckUpdate");
this.tsbCheckUpdate.Name = "tsbCheckUpdate"; this.tsbCheckUpdate.Name = "tsbCheckUpdate";
// //
// tsbCheckUpdateN // tsbCheckUpdateN
// //
this.tsbCheckUpdateN.Name = "tsbCheckUpdateN";
resources.ApplyResources(this.tsbCheckUpdateN, "tsbCheckUpdateN"); resources.ApplyResources(this.tsbCheckUpdateN, "tsbCheckUpdateN");
this.tsbCheckUpdateN.Name = "tsbCheckUpdateN";
this.tsbCheckUpdateN.Click += new System.EventHandler(this.tsbCheckUpdateN_Click); this.tsbCheckUpdateN.Click += new System.EventHandler(this.tsbCheckUpdateN_Click);
// //
// tsbCheckUpdateCore // tsbCheckUpdateCore
// //
this.tsbCheckUpdateCore.Name = "tsbCheckUpdateCore";
resources.ApplyResources(this.tsbCheckUpdateCore, "tsbCheckUpdateCore"); resources.ApplyResources(this.tsbCheckUpdateCore, "tsbCheckUpdateCore");
this.tsbCheckUpdateCore.Name = "tsbCheckUpdateCore";
this.tsbCheckUpdateCore.Click += new System.EventHandler(this.tsbCheckUpdateCore_Click); this.tsbCheckUpdateCore.Click += new System.EventHandler(this.tsbCheckUpdateCore_Click);
// //
// tsbCheckUpdateXrayCore // tsbCheckUpdateXrayCore
// //
this.tsbCheckUpdateXrayCore.Name = "tsbCheckUpdateXrayCore";
resources.ApplyResources(this.tsbCheckUpdateXrayCore, "tsbCheckUpdateXrayCore"); resources.ApplyResources(this.tsbCheckUpdateXrayCore, "tsbCheckUpdateXrayCore");
this.tsbCheckUpdateXrayCore.Name = "tsbCheckUpdateXrayCore";
this.tsbCheckUpdateXrayCore.Click += new System.EventHandler(this.tsbCheckUpdateXrayCore_Click); this.tsbCheckUpdateXrayCore.Click += new System.EventHandler(this.tsbCheckUpdateXrayCore_Click);
// //
// toolStripSeparator15 // toolStripSeparator15
// //
this.toolStripSeparator15.Name = "toolStripSeparator15";
resources.ApplyResources(this.toolStripSeparator15, "toolStripSeparator15"); resources.ApplyResources(this.toolStripSeparator15, "toolStripSeparator15");
this.toolStripSeparator15.Name = "toolStripSeparator15";
// //
// tsbCheckUpdateGeoSite // tsbCheckUpdateGeoSite
// //
this.tsbCheckUpdateGeoSite.Name = "tsbCheckUpdateGeoSite";
resources.ApplyResources(this.tsbCheckUpdateGeoSite, "tsbCheckUpdateGeoSite"); resources.ApplyResources(this.tsbCheckUpdateGeoSite, "tsbCheckUpdateGeoSite");
this.tsbCheckUpdateGeoSite.Name = "tsbCheckUpdateGeoSite";
this.tsbCheckUpdateGeoSite.Click += new System.EventHandler(this.tsbCheckUpdateGeoSite_Click); this.tsbCheckUpdateGeoSite.Click += new System.EventHandler(this.tsbCheckUpdateGeoSite_Click);
// //
// tsbCheckUpdateGeoIP // tsbCheckUpdateGeoIP
// //
this.tsbCheckUpdateGeoIP.Name = "tsbCheckUpdateGeoIP";
resources.ApplyResources(this.tsbCheckUpdateGeoIP, "tsbCheckUpdateGeoIP"); resources.ApplyResources(this.tsbCheckUpdateGeoIP, "tsbCheckUpdateGeoIP");
this.tsbCheckUpdateGeoIP.Name = "tsbCheckUpdateGeoIP";
this.tsbCheckUpdateGeoIP.Click += new System.EventHandler(this.tsbCheckUpdateGeoIP_Click); this.tsbCheckUpdateGeoIP.Click += new System.EventHandler(this.tsbCheckUpdateGeoIP_Click);
// //
// toolStripSeparator10 // toolStripSeparator10
// //
this.toolStripSeparator10.Name = "toolStripSeparator10";
resources.ApplyResources(this.toolStripSeparator10, "toolStripSeparator10"); resources.ApplyResources(this.toolStripSeparator10, "toolStripSeparator10");
this.toolStripSeparator10.Name = "toolStripSeparator10";
// //
// tsbHelp // tsbHelp
// //
resources.ApplyResources(this.tsbHelp, "tsbHelp");
this.tsbHelp.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.tsbHelp.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.tsbAbout, this.tsbAbout,
this.tsbV2rayWebsite, this.tsbV2rayWebsite,
@@ -814,50 +840,49 @@
this.tsbLanguageDef, this.tsbLanguageDef,
this.tsbLanguageZhHans}); this.tsbLanguageZhHans});
this.tsbHelp.Image = global::v2rayN.Properties.Resources.help; this.tsbHelp.Image = global::v2rayN.Properties.Resources.help;
resources.ApplyResources(this.tsbHelp, "tsbHelp");
this.tsbHelp.Name = "tsbHelp"; this.tsbHelp.Name = "tsbHelp";
// //
// tsbAbout // tsbAbout
// //
this.tsbAbout.Name = "tsbAbout";
resources.ApplyResources(this.tsbAbout, "tsbAbout"); resources.ApplyResources(this.tsbAbout, "tsbAbout");
this.tsbAbout.Name = "tsbAbout";
this.tsbAbout.Click += new System.EventHandler(this.tsbAbout_Click); this.tsbAbout.Click += new System.EventHandler(this.tsbAbout_Click);
// //
// tsbV2rayWebsite // tsbV2rayWebsite
// //
this.tsbV2rayWebsite.Name = "tsbV2rayWebsite";
resources.ApplyResources(this.tsbV2rayWebsite, "tsbV2rayWebsite"); resources.ApplyResources(this.tsbV2rayWebsite, "tsbV2rayWebsite");
this.tsbV2rayWebsite.Name = "tsbV2rayWebsite";
this.tsbV2rayWebsite.Click += new System.EventHandler(this.tsbV2rayWebsite_Click); this.tsbV2rayWebsite.Click += new System.EventHandler(this.tsbV2rayWebsite_Click);
// //
// toolStripSeparator12 // toolStripSeparator12
// //
this.toolStripSeparator12.Name = "toolStripSeparator12";
resources.ApplyResources(this.toolStripSeparator12, "toolStripSeparator12"); resources.ApplyResources(this.toolStripSeparator12, "toolStripSeparator12");
this.toolStripSeparator12.Name = "toolStripSeparator12";
// //
// tsbLanguageDef // tsbLanguageDef
// //
this.tsbLanguageDef.Name = "tsbLanguageDef";
resources.ApplyResources(this.tsbLanguageDef, "tsbLanguageDef"); resources.ApplyResources(this.tsbLanguageDef, "tsbLanguageDef");
this.tsbLanguageDef.Name = "tsbLanguageDef";
this.tsbLanguageDef.Click += new System.EventHandler(this.tsbLanguageDef_Click); this.tsbLanguageDef.Click += new System.EventHandler(this.tsbLanguageDef_Click);
// //
// tsbLanguageZhHans // tsbLanguageZhHans
// //
this.tsbLanguageZhHans.Name = "tsbLanguageZhHans";
resources.ApplyResources(this.tsbLanguageZhHans, "tsbLanguageZhHans"); resources.ApplyResources(this.tsbLanguageZhHans, "tsbLanguageZhHans");
this.tsbLanguageZhHans.Name = "tsbLanguageZhHans";
this.tsbLanguageZhHans.Click += new System.EventHandler(this.tsbLanguageZhHans_Click); this.tsbLanguageZhHans.Click += new System.EventHandler(this.tsbLanguageZhHans_Click);
// //
// tsbPromotion // tsbPromotion
// //
resources.ApplyResources(this.tsbPromotion, "tsbPromotion");
this.tsbPromotion.ForeColor = System.Drawing.Color.Black; this.tsbPromotion.ForeColor = System.Drawing.Color.Black;
this.tsbPromotion.Image = global::v2rayN.Properties.Resources.promotion; this.tsbPromotion.Image = global::v2rayN.Properties.Resources.promotion;
resources.ApplyResources(this.tsbPromotion, "tsbPromotion");
this.tsbPromotion.Name = "tsbPromotion"; this.tsbPromotion.Name = "tsbPromotion";
this.tsbPromotion.Click += new System.EventHandler(this.tsbPromotion_Click); this.tsbPromotion.Click += new System.EventHandler(this.tsbPromotion_Click);
// //
// toolStripSeparator11 // toolStripSeparator11
// //
this.toolStripSeparator11.Name = "toolStripSeparator11";
resources.ApplyResources(this.toolStripSeparator11, "toolStripSeparator11"); resources.ApplyResources(this.toolStripSeparator11, "toolStripSeparator11");
this.toolStripSeparator11.Name = "toolStripSeparator11";
// //
// tsbClose // tsbClose
// //
@@ -865,17 +890,6 @@
this.tsbClose.Name = "tsbClose"; this.tsbClose.Name = "tsbClose";
this.tsbClose.Click += new System.EventHandler(this.tsbClose_Click); this.tsbClose.Click += new System.EventHandler(this.tsbClose_Click);
// //
// toolSslRoutingRule
//
this.toolSslRoutingRule.Name = "toolSslRoutingRule";
resources.ApplyResources(this.toolSslRoutingRule, "toolSslRoutingRule");
//
// toolSslBlank2
//
this.toolSslBlank2.Name = "toolSslBlank2";
resources.ApplyResources(this.toolSslBlank2, "toolSslBlank2");
this.toolSslBlank2.Spring = true;
//
// MainForm // MainForm
// //
resources.ApplyResources(this, "$this"); resources.ApplyResources(this, "$this");
@@ -1017,6 +1031,7 @@
private System.Windows.Forms.ToolStripStatusLabel toolSslInboundInfo; private System.Windows.Forms.ToolStripStatusLabel toolSslInboundInfo;
private System.Windows.Forms.ToolStripStatusLabel toolSslRoutingRule; private System.Windows.Forms.ToolStripStatusLabel toolSslRoutingRule;
private System.Windows.Forms.ToolStripStatusLabel toolSslBlank2; private System.Windows.Forms.ToolStripStatusLabel toolSslBlank2;
private System.Windows.Forms.ToolStripComboBox menuServers2;
} }
} }
+45 -14
View File
@@ -296,25 +296,56 @@ namespace v2rayN.Forms
private void RefreshServersMenu() private void RefreshServersMenu()
{ {
menuServers.DropDownItems.Clear(); menuServers.DropDownItems.Clear();
menuServers2.SelectedIndexChanged -= MenuServers2_SelectedIndexChanged;
menuServers2.Items.Clear();
menuServers.Visible = false;
menuServers2.Visible = false;
List<ToolStripMenuItem> lst = new List<ToolStripMenuItem>(); if (config.vmess.Count > 20)
for (int k = 0; k < config.vmess.Count; k++)
{ {
VmessItem item = config.vmess[k]; for (int k = 0; k < config.vmess.Count; k++)
string name = item.getSummary(); {
VmessItem item = config.vmess[k];
string name = item.getSummary();
if (config.index.Equals(k))
{
name = $"√ {name}";
}
menuServers2.Items.Add(name);
ToolStripMenuItem ts = new ToolStripMenuItem(name)
{
Tag = k
};
if (config.index.Equals(k))
{
ts.Checked = true;
} }
ts.Click += new EventHandler(ts_Click); menuServers2.SelectedIndex = config.index;
lst.Add(ts); menuServers2.SelectedIndexChanged += MenuServers2_SelectedIndexChanged;
menuServers2.Visible = true;
} }
menuServers.DropDownItems.AddRange(lst.ToArray()); else
{
List<ToolStripMenuItem> lst = new List<ToolStripMenuItem>();
for (int k = 0; k < config.vmess.Count; k++)
{
VmessItem item = config.vmess[k];
string name = item.getSummary();
ToolStripMenuItem ts = new ToolStripMenuItem(name)
{
Tag = k
};
if (config.index.Equals(k))
{
ts.Checked = true;
}
ts.Click += new EventHandler(ts_Click);
lst.Add(ts);
}
menuServers.DropDownItems.AddRange(lst.ToArray());
menuServers.Visible = true;
}
}
private void MenuServers2_SelectedIndexChanged(object sender, EventArgs e)
{
SetDefaultServer(((ToolStripComboBox)sender).SelectedIndex);
} }
private void ts_Click(object sender, EventArgs e) private void ts_Click(object sender, EventArgs e)
File diff suppressed because it is too large Load Diff
+79 -76
View File
@@ -321,6 +321,12 @@
<data name="groupBox1.Text" xml:space="preserve"> <data name="groupBox1.Text" xml:space="preserve">
<value>服务器列表</value> <value>服务器列表</value>
</data> </data>
<data name="gbMsgTitle.Text" xml:space="preserve">
<value>信息</value>
</data>
<data name="cmsMsgBox.Size" type="System.Drawing.Size, System.Drawing">
<value>222, 114</value>
</data>
<data name="menuMsgBoxSelectAll.Size" type="System.Drawing.Size, System.Drawing"> <data name="menuMsgBoxSelectAll.Size" type="System.Drawing.Size, System.Drawing">
<value>221, 22</value> <value>221, 22</value>
</data> </data>
@@ -351,14 +357,62 @@
<data name="menuMsgBoxFilter.Text" xml:space="preserve"> <data name="menuMsgBoxFilter.Text" xml:space="preserve">
<value>设置信息过滤器</value> <value>设置信息过滤器</value>
</data> </data>
<data name="cmsMsgBox.Size" type="System.Drawing.Size, System.Drawing">
<value>222, 114</value>
</data>
<data name="toolSslServerSpeed.Text" xml:space="preserve"> <data name="toolSslServerSpeed.Text" xml:space="preserve">
<value>网速显示未启用</value> <value>网速显示未启用</value>
</data> </data>
<data name="gbMsgTitle.Text" xml:space="preserve"> <data name="menuSysAgentMode.Size" type="System.Drawing.Size, System.Drawing">
<value>信息</value> <value>260, 22</value>
</data>
<data name="menuSysAgentMode.Text" xml:space="preserve">
<value>系统代理</value>
</data>
<data name="menuRoutings.Size" type="System.Drawing.Size, System.Drawing">
<value>260, 22</value>
</data>
<data name="menuRoutings.Text" xml:space="preserve">
<value>路由</value>
</data>
<data name="menuServers.Size" type="System.Drawing.Size, System.Drawing">
<value>260, 22</value>
</data>
<data name="menuServers.Text" xml:space="preserve">
<value>服务器</value>
</data>
<data name="menuServers2.ToolTipText" xml:space="preserve">
<value>服务器</value>
</data>
<data name="toolStripSeparator13.Size" type="System.Drawing.Size, System.Drawing">
<value>257, 6</value>
</data>
<data name="menuAddServers2.Size" type="System.Drawing.Size, System.Drawing">
<value>260, 22</value>
</data>
<data name="menuAddServers2.Text" xml:space="preserve">
<value>从剪贴板导入批量URL</value>
</data>
<data name="menuScanScreen2.Size" type="System.Drawing.Size, System.Drawing">
<value>260, 22</value>
</data>
<data name="menuScanScreen2.Text" xml:space="preserve">
<value>扫描屏幕上的二维码</value>
</data>
<data name="menuUpdateSubscriptions.Size" type="System.Drawing.Size, System.Drawing">
<value>260, 22</value>
</data>
<data name="menuUpdateSubscriptions.Text" xml:space="preserve">
<value>更新订阅</value>
</data>
<data name="toolStripSeparator2.Size" type="System.Drawing.Size, System.Drawing">
<value>257, 6</value>
</data>
<data name="menuExit.Size" type="System.Drawing.Size, System.Drawing">
<value>260, 22</value>
</data>
<data name="menuExit.Text" xml:space="preserve">
<value>退出</value>
</data>
<data name="cmsMain.Size" type="System.Drawing.Size, System.Drawing">
<value>261, 199</value>
</data> </data>
<data name="menuKeepClear.Size" type="System.Drawing.Size, System.Drawing"> <data name="menuKeepClear.Size" type="System.Drawing.Size, System.Drawing">
<value>172, 22</value> <value>172, 22</value>
@@ -378,56 +432,11 @@
<data name="menuKeepNothing.Text" xml:space="preserve"> <data name="menuKeepNothing.Text" xml:space="preserve">
<value>不改变系统代理</value> <value>不改变系统代理</value>
</data> </data>
<data name="menuSysAgentMode.Size" type="System.Drawing.Size, System.Drawing"> <data name="tsbSub.Size" type="System.Drawing.Size, System.Drawing">
<value>195, 22</value> <value>61, 53</value>
</data> </data>
<data name="menuSysAgentMode.Text" xml:space="preserve"> <data name="tsbSub.Text" xml:space="preserve">
<value>系统代理</value> <value> 订阅 </value>
</data>
<data name="menuRoutings.Size" type="System.Drawing.Size, System.Drawing">
<value>195, 22</value>
</data>
<data name="menuRoutings.Text" xml:space="preserve">
<value>路由</value>
</data>
<data name="menuServers.Size" type="System.Drawing.Size, System.Drawing">
<value>195, 22</value>
</data>
<data name="menuServers.Text" xml:space="preserve">
<value>服务器</value>
</data>
<data name="toolStripSeparator13.Size" type="System.Drawing.Size, System.Drawing">
<value>192, 6</value>
</data>
<data name="menuAddServers2.Size" type="System.Drawing.Size, System.Drawing">
<value>195, 22</value>
</data>
<data name="menuAddServers2.Text" xml:space="preserve">
<value>从剪贴板导入批量URL</value>
</data>
<data name="menuScanScreen2.Size" type="System.Drawing.Size, System.Drawing">
<value>195, 22</value>
</data>
<data name="menuScanScreen2.Text" xml:space="preserve">
<value>扫描屏幕上的二维码</value>
</data>
<data name="menuUpdateSubscriptions.Size" type="System.Drawing.Size, System.Drawing">
<value>195, 22</value>
</data>
<data name="menuUpdateSubscriptions.Text" xml:space="preserve">
<value>更新订阅</value>
</data>
<data name="toolStripSeparator2.Size" type="System.Drawing.Size, System.Drawing">
<value>192, 6</value>
</data>
<data name="menuExit.Size" type="System.Drawing.Size, System.Drawing">
<value>195, 22</value>
</data>
<data name="menuExit.Text" xml:space="preserve">
<value>退出</value>
</data>
<data name="cmsMain.Size" type="System.Drawing.Size, System.Drawing">
<value>196, 170</value>
</data> </data>
<data name="tsbSubSetting.Size" type="System.Drawing.Size, System.Drawing"> <data name="tsbSubSetting.Size" type="System.Drawing.Size, System.Drawing">
<value>124, 22</value> <value>124, 22</value>
@@ -441,18 +450,18 @@
<data name="tsbSubUpdate.Text" xml:space="preserve"> <data name="tsbSubUpdate.Text" xml:space="preserve">
<value>更新订阅</value> <value>更新订阅</value>
</data> </data>
<data name="tsbSub.Size" type="System.Drawing.Size, System.Drawing">
<value>61, 53</value>
</data>
<data name="tsbSub.Text" xml:space="preserve">
<value> 订阅 </value>
</data>
<data name="tsbQRCodeSwitch.Size" type="System.Drawing.Size, System.Drawing"> <data name="tsbQRCodeSwitch.Size" type="System.Drawing.Size, System.Drawing">
<value>52, 53</value> <value>52, 53</value>
</data> </data>
<data name="tsbQRCodeSwitch.Text" xml:space="preserve"> <data name="tsbQRCodeSwitch.Text" xml:space="preserve">
<value> 分享 </value> <value> 分享 </value>
</data> </data>
<data name="tsbSetting.Size" type="System.Drawing.Size, System.Drawing">
<value>61, 53</value>
</data>
<data name="tsbSetting.Text" xml:space="preserve">
<value> 设置 </value>
</data>
<data name="tsbOptionSetting.Size" type="System.Drawing.Size, System.Drawing"> <data name="tsbOptionSetting.Size" type="System.Drawing.Size, System.Drawing">
<value>189, 22</value> <value>189, 22</value>
</data> </data>
@@ -474,12 +483,6 @@
<data name="tsbBackupGuiNConfig.Text" xml:space="preserve"> <data name="tsbBackupGuiNConfig.Text" xml:space="preserve">
<value>备份v2rayN配置文件</value> <value>备份v2rayN配置文件</value>
</data> </data>
<data name="tsbSetting.Size" type="System.Drawing.Size, System.Drawing">
<value>61, 53</value>
</data>
<data name="tsbSetting.Text" xml:space="preserve">
<value> 设置 </value>
</data>
<data name="tsbReload.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="tsbReload.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
@@ -497,6 +500,12 @@
<data name="tsbReload.Text" xml:space="preserve"> <data name="tsbReload.Text" xml:space="preserve">
<value> 重启服务 </value> <value> 重启服务 </value>
</data> </data>
<data name="tsbCheckUpdate.Size" type="System.Drawing.Size, System.Drawing">
<value>85, 53</value>
</data>
<data name="tsbCheckUpdate.Text" xml:space="preserve">
<value> 检查更新 </value>
</data>
<data name="tsbCheckUpdateN.Size" type="System.Drawing.Size, System.Drawing"> <data name="tsbCheckUpdateN.Size" type="System.Drawing.Size, System.Drawing">
<value>168, 22</value> <value>168, 22</value>
</data> </data>
@@ -524,11 +533,11 @@
<data name="tsbCheckUpdateGeoIP.Size" type="System.Drawing.Size, System.Drawing"> <data name="tsbCheckUpdateGeoIP.Size" type="System.Drawing.Size, System.Drawing">
<value>168, 22</value> <value>168, 22</value>
</data> </data>
<data name="tsbCheckUpdate.Size" type="System.Drawing.Size, System.Drawing"> <data name="tsbHelp.Size" type="System.Drawing.Size, System.Drawing">
<value>85, 53</value> <value>69, 53</value>
</data> </data>
<data name="tsbCheckUpdate.Text" xml:space="preserve"> <data name="tsbHelp.Text" xml:space="preserve">
<value> 检查更新 </value> <value> 帮助 </value>
</data> </data>
<data name="tsbAbout.Text" xml:space="preserve"> <data name="tsbAbout.Text" xml:space="preserve">
<value>v2rayN 项目</value> <value>v2rayN 项目</value>
@@ -536,12 +545,6 @@
<data name="tsbV2rayWebsite.Text" xml:space="preserve"> <data name="tsbV2rayWebsite.Text" xml:space="preserve">
<value>V2Ray 官网</value> <value>V2Ray 官网</value>
</data> </data>
<data name="tsbHelp.Size" type="System.Drawing.Size, System.Drawing">
<value>69, 53</value>
</data>
<data name="tsbHelp.Text" xml:space="preserve">
<value> 帮助 </value>
</data>
<data name="tsbPromotion.Size" type="System.Drawing.Size, System.Drawing"> <data name="tsbPromotion.Size" type="System.Drawing.Size, System.Drawing">
<value>68, 53</value> <value>68, 53</value>
</data> </data>
+22
View File
@@ -31,6 +31,7 @@
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ServerTransportControl)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ServerTransportControl));
this.gbTransport = new System.Windows.Forms.GroupBox(); this.gbTransport = new System.Windows.Forms.GroupBox();
this.panTlsMore = new System.Windows.Forms.Panel(); this.panTlsMore = new System.Windows.Forms.Panel();
this.label1 = new System.Windows.Forms.Label();
this.txtSNI = new System.Windows.Forms.TextBox(); this.txtSNI = new System.Windows.Forms.TextBox();
this.labSNI = new System.Windows.Forms.Label(); this.labSNI = new System.Windows.Forms.Label();
this.labAllowInsecure = new System.Windows.Forms.Label(); this.labAllowInsecure = new System.Windows.Forms.Label();
@@ -49,6 +50,7 @@
this.labHeaderType = new System.Windows.Forms.Label(); this.labHeaderType = new System.Windows.Forms.Label();
this.labRequestHost = new System.Windows.Forms.Label(); this.labRequestHost = new System.Windows.Forms.Label();
this.cmbHeaderType = new System.Windows.Forms.ComboBox(); this.cmbHeaderType = new System.Windows.Forms.ComboBox();
this.clbAlpn = new System.Windows.Forms.CheckedListBox();
this.gbTransport.SuspendLayout(); this.gbTransport.SuspendLayout();
this.panTlsMore.SuspendLayout(); this.panTlsMore.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
@@ -76,6 +78,8 @@
// //
// panTlsMore // panTlsMore
// //
this.panTlsMore.Controls.Add(this.clbAlpn);
this.panTlsMore.Controls.Add(this.label1);
this.panTlsMore.Controls.Add(this.txtSNI); this.panTlsMore.Controls.Add(this.txtSNI);
this.panTlsMore.Controls.Add(this.labSNI); this.panTlsMore.Controls.Add(this.labSNI);
this.panTlsMore.Controls.Add(this.labAllowInsecure); this.panTlsMore.Controls.Add(this.labAllowInsecure);
@@ -83,6 +87,11 @@
resources.ApplyResources(this.panTlsMore, "panTlsMore"); resources.ApplyResources(this.panTlsMore, "panTlsMore");
this.panTlsMore.Name = "panTlsMore"; this.panTlsMore.Name = "panTlsMore";
// //
// label1
//
resources.ApplyResources(this.label1, "label1");
this.label1.Name = "label1";
//
// txtSNI // txtSNI
// //
resources.ApplyResources(this.txtSNI, "txtSNI"); resources.ApplyResources(this.txtSNI, "txtSNI");
@@ -202,6 +211,17 @@
resources.ApplyResources(this.cmbHeaderType, "cmbHeaderType"); resources.ApplyResources(this.cmbHeaderType, "cmbHeaderType");
this.cmbHeaderType.Name = "cmbHeaderType"; this.cmbHeaderType.Name = "cmbHeaderType";
// //
// clbAlpn
//
this.clbAlpn.CheckOnClick = true;
resources.ApplyResources(this.clbAlpn, "clbAlpn");
this.clbAlpn.FormattingEnabled = true;
this.clbAlpn.Items.AddRange(new object[] {
resources.GetString("clbAlpn.Items"),
resources.GetString("clbAlpn.Items1")});
this.clbAlpn.MultiColumn = true;
this.clbAlpn.Name = "clbAlpn";
//
// ServerTransportControl // ServerTransportControl
// //
resources.ApplyResources(this, "$this"); resources.ApplyResources(this, "$this");
@@ -239,5 +259,7 @@
private System.Windows.Forms.Label labHeaderType; private System.Windows.Forms.Label labHeaderType;
private System.Windows.Forms.Label labRequestHost; private System.Windows.Forms.Label labRequestHost;
private System.Windows.Forms.ComboBox cmbHeaderType; private System.Windows.Forms.ComboBox cmbHeaderType;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.CheckedListBox clbAlpn;
} }
} }
@@ -1,4 +1,5 @@
using System; using System;
using System.Collections.Generic;
using System.Windows.Forms; using System.Windows.Forms;
using v2rayN.Mode; using v2rayN.Mode;
@@ -41,6 +42,17 @@ namespace v2rayN.Forms
cmbStreamSecurity.Text = vmessItem.streamSecurity; cmbStreamSecurity.Text = vmessItem.streamSecurity;
cmbAllowInsecure.Text = vmessItem.allowInsecure; cmbAllowInsecure.Text = vmessItem.allowInsecure;
txtSNI.Text = vmessItem.sni; txtSNI.Text = vmessItem.sni;
if (vmessItem.alpn != null)
{
for (int i = 0; i < clbAlpn.Items.Count; i++)
{
if (vmessItem.alpn.Contains(clbAlpn.Items[i].ToString()))
{
clbAlpn.SetItemChecked(i, true);
}
}
}
} }
public void ClearServer(VmessItem item) public void ClearServer(VmessItem item)
@@ -54,6 +66,10 @@ namespace v2rayN.Forms
cmbAllowInsecure.Text = ""; cmbAllowInsecure.Text = "";
txtPath.Text = ""; txtPath.Text = "";
txtSNI.Text = ""; txtSNI.Text = "";
for (int i = 0; i < clbAlpn.Items.Count; i++)
{
clbAlpn.SetItemChecked(i, false);
}
} }
public void EndBindingServer() public void EndBindingServer()
@@ -73,6 +89,16 @@ namespace v2rayN.Forms
vmessItem.streamSecurity = streamSecurity; vmessItem.streamSecurity = streamSecurity;
vmessItem.allowInsecure = allowInsecure; vmessItem.allowInsecure = allowInsecure;
vmessItem.sni = sni; vmessItem.sni = sni;
var alpn = new List<string>();
for (int i = 0; i < clbAlpn.Items.Count; i++)
{
if (clbAlpn.GetItemChecked(i))
{
alpn.Add(clbAlpn.Items[i].ToString());
}
}
vmessItem.alpn = alpn;
} }
private void cmbNetwork_SelectedIndexChanged(object sender, EventArgs e) private void cmbNetwork_SelectedIndexChanged(object sender, EventArgs e)
+84 -24
View File
@@ -117,14 +117,75 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="clbAlpn.ColumnWidth" type="System.Int32, mscorlib">
<value>70</value>
</data>
<data name="clbAlpn.Items" xml:space="preserve">
<value>h2</value>
</data>
<data name="clbAlpn.Items1" xml:space="preserve">
<value>http/1.1</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="clbAlpn.Location" type="System.Drawing.Point, System.Drawing">
<value>313, 7</value>
</data>
<data name="clbAlpn.Size" type="System.Drawing.Size, System.Drawing">
<value>172, 20</value>
</data>
<data name="clbAlpn.TabIndex" type="System.Int32, mscorlib">
<value>44</value>
</data>
<data name="&gt;&gt;clbAlpn.Name" xml:space="preserve">
<value>clbAlpn</value>
</data>
<data name="&gt;&gt;clbAlpn.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckedListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;clbAlpn.Parent" xml:space="preserve">
<value>panTlsMore</value>
</data>
<data name="&gt;&gt;clbAlpn.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="label1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>241, 11</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>29, 12</value>
</data>
<data name="label1.TabIndex" type="System.Int32, mscorlib">
<value>43</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>alpn</value>
</data>
<data name="&gt;&gt;label1.Name" xml:space="preserve">
<value>label1</value>
</data>
<data name="&gt;&gt;label1.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label1.Parent" xml:space="preserve">
<value>panTlsMore</value>
</data>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="txtSNI.Location" type="System.Drawing.Point, System.Drawing"> <data name="txtSNI.Location" type="System.Drawing.Point, System.Drawing">
<value>300, 7</value> <value>100, 39</value>
</data> </data>
<data name="txtSNI.Size" type="System.Drawing.Size, System.Drawing"> <data name="txtSNI.Size" type="System.Drawing.Size, System.Drawing">
<value>197, 21</value> <value>385, 21</value>
</data> </data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="txtSNI.TabIndex" type="System.Int32, mscorlib"> <data name="txtSNI.TabIndex" type="System.Int32, mscorlib">
<value>1</value> <value>1</value>
</data> </data>
@@ -138,17 +199,16 @@
<value>panTlsMore</value> <value>panTlsMore</value>
</data> </data>
<data name="&gt;&gt;txtSNI.ZOrder" xml:space="preserve"> <data name="&gt;&gt;txtSNI.ZOrder" xml:space="preserve">
<value>0</value> <value>2</value>
</data> </data>
<data name="labSNI.AutoSize" type="System.Boolean, mscorlib"> <data name="labSNI.AutoSize" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
</data> </data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="labSNI.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> <data name="labSNI.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="labSNI.Location" type="System.Drawing.Point, System.Drawing"> <data name="labSNI.Location" type="System.Drawing.Point, System.Drawing">
<value>270, 11</value> <value>12, 43</value>
</data> </data>
<data name="labSNI.Size" type="System.Drawing.Size, System.Drawing"> <data name="labSNI.Size" type="System.Drawing.Size, System.Drawing">
<value>23, 12</value> <value>23, 12</value>
@@ -169,7 +229,7 @@
<value>panTlsMore</value> <value>panTlsMore</value>
</data> </data>
<data name="&gt;&gt;labSNI.ZOrder" xml:space="preserve"> <data name="&gt;&gt;labSNI.ZOrder" xml:space="preserve">
<value>1</value> <value>3</value>
</data> </data>
<data name="labAllowInsecure.AutoSize" type="System.Boolean, mscorlib"> <data name="labAllowInsecure.AutoSize" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
@@ -199,7 +259,7 @@
<value>panTlsMore</value> <value>panTlsMore</value>
</data> </data>
<data name="&gt;&gt;labAllowInsecure.ZOrder" xml:space="preserve"> <data name="&gt;&gt;labAllowInsecure.ZOrder" xml:space="preserve">
<value>2</value> <value>4</value>
</data> </data>
<data name="cmbAllowInsecure.Items" xml:space="preserve"> <data name="cmbAllowInsecure.Items" xml:space="preserve">
<value /> <value />
@@ -229,13 +289,13 @@
<value>panTlsMore</value> <value>panTlsMore</value>
</data> </data>
<data name="&gt;&gt;cmbAllowInsecure.ZOrder" xml:space="preserve"> <data name="&gt;&gt;cmbAllowInsecure.ZOrder" xml:space="preserve">
<value>3</value> <value>5</value>
</data> </data>
<data name="panTlsMore.Location" type="System.Drawing.Point, System.Drawing"> <data name="panTlsMore.Location" type="System.Drawing.Point, System.Drawing">
<value>200, 171</value> <value>200, 149</value>
</data> </data>
<data name="panTlsMore.Size" type="System.Drawing.Size, System.Drawing"> <data name="panTlsMore.Size" type="System.Drawing.Size, System.Drawing">
<value>500, 35</value> <value>500, 71</value>
</data> </data>
<data name="panTlsMore.TabIndex" type="System.Int32, mscorlib"> <data name="panTlsMore.TabIndex" type="System.Int32, mscorlib">
<value>33</value> <value>33</value>
@@ -283,7 +343,7 @@
<value>1</value> <value>1</value>
</data> </data>
<data name="txtPath.Location" type="System.Drawing.Point, System.Drawing"> <data name="txtPath.Location" type="System.Drawing.Point, System.Drawing">
<value>127, 136</value> <value>127, 124</value>
</data> </data>
<data name="txtPath.Multiline" type="System.Boolean, mscorlib"> <data name="txtPath.Multiline" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
@@ -382,7 +442,7 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="labPath.Location" type="System.Drawing.Point, System.Drawing"> <data name="labPath.Location" type="System.Drawing.Point, System.Drawing">
<value>9, 140</value> <value>9, 128</value>
</data> </data>
<data name="labPath.Size" type="System.Drawing.Size, System.Drawing"> <data name="labPath.Size" type="System.Drawing.Size, System.Drawing">
<value>29, 12</value> <value>29, 12</value>
@@ -412,7 +472,7 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="tipPath.Location" type="System.Drawing.Point, System.Drawing"> <data name="tipPath.Location" type="System.Drawing.Point, System.Drawing">
<value>529, 140</value> <value>529, 128</value>
</data> </data>
<data name="tipPath.Size" type="System.Drawing.Size, System.Drawing"> <data name="tipPath.Size" type="System.Drawing.Size, System.Drawing">
<value>11, 12</value> <value>11, 12</value>
@@ -442,7 +502,7 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="tipRequestHost.Location" type="System.Drawing.Point, System.Drawing"> <data name="tipRequestHost.Location" type="System.Drawing.Point, System.Drawing">
<value>464, 104</value> <value>464, 96</value>
</data> </data>
<data name="tipRequestHost.Size" type="System.Drawing.Size, System.Drawing"> <data name="tipRequestHost.Size" type="System.Drawing.Size, System.Drawing">
<value>11, 12</value> <value>11, 12</value>
@@ -472,7 +532,7 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="labStreamSecurity.Location" type="System.Drawing.Point, System.Drawing"> <data name="labStreamSecurity.Location" type="System.Drawing.Point, System.Drawing">
<value>9, 182</value> <value>9, 160</value>
</data> </data>
<data name="labStreamSecurity.Size" type="System.Drawing.Size, System.Drawing"> <data name="labStreamSecurity.Size" type="System.Drawing.Size, System.Drawing">
<value>23, 12</value> <value>23, 12</value>
@@ -496,7 +556,7 @@
<value>8</value> <value>8</value>
</data> </data>
<data name="cmbStreamSecurity.Location" type="System.Drawing.Point, System.Drawing"> <data name="cmbStreamSecurity.Location" type="System.Drawing.Point, System.Drawing">
<value>127, 178</value> <value>127, 156</value>
</data> </data>
<data name="cmbStreamSecurity.Size" type="System.Drawing.Size, System.Drawing"> <data name="cmbStreamSecurity.Size" type="System.Drawing.Size, System.Drawing">
<value>60, 20</value> <value>60, 20</value>
@@ -523,7 +583,7 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="tipHeaderType.Location" type="System.Drawing.Point, System.Drawing"> <data name="tipHeaderType.Location" type="System.Drawing.Point, System.Drawing">
<value>282, 66</value> <value>282, 64</value>
</data> </data>
<data name="tipHeaderType.Size" type="System.Drawing.Size, System.Drawing"> <data name="tipHeaderType.Size" type="System.Drawing.Size, System.Drawing">
<value>11, 12</value> <value>11, 12</value>
@@ -547,7 +607,7 @@
<value>10</value> <value>10</value>
</data> </data>
<data name="txtRequestHost.Location" type="System.Drawing.Point, System.Drawing"> <data name="txtRequestHost.Location" type="System.Drawing.Point, System.Drawing">
<value>158, 100</value> <value>158, 92</value>
</data> </data>
<data name="txtRequestHost.Multiline" type="System.Boolean, mscorlib"> <data name="txtRequestHost.Multiline" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
@@ -577,7 +637,7 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="labHeaderType.Location" type="System.Drawing.Point, System.Drawing"> <data name="labHeaderType.Location" type="System.Drawing.Point, System.Drawing">
<value>9, 66</value> <value>9, 64</value>
</data> </data>
<data name="labHeaderType.Size" type="System.Drawing.Size, System.Drawing"> <data name="labHeaderType.Size" type="System.Drawing.Size, System.Drawing">
<value>95, 12</value> <value>95, 12</value>
@@ -607,7 +667,7 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="labRequestHost.Location" type="System.Drawing.Point, System.Drawing"> <data name="labRequestHost.Location" type="System.Drawing.Point, System.Drawing">
<value>9, 104</value> <value>9, 96</value>
</data> </data>
<data name="labRequestHost.Size" type="System.Drawing.Size, System.Drawing"> <data name="labRequestHost.Size" type="System.Drawing.Size, System.Drawing">
<value>143, 12</value> <value>143, 12</value>
@@ -652,7 +712,7 @@
<value>wireguard</value> <value>wireguard</value>
</data> </data>
<data name="cmbHeaderType.Location" type="System.Drawing.Point, System.Drawing"> <data name="cmbHeaderType.Location" type="System.Drawing.Point, System.Drawing">
<value>127, 64</value> <value>127, 60</value>
</data> </data>
<data name="cmbHeaderType.Size" type="System.Drawing.Size, System.Drawing"> <data name="cmbHeaderType.Size" type="System.Drawing.Size, System.Drawing">
<value>143, 20</value> <value>143, 20</value>
@@ -679,7 +739,7 @@
<value>0, 0</value> <value>0, 0</value>
</data> </data>
<data name="gbTransport.Size" type="System.Drawing.Size, System.Drawing"> <data name="gbTransport.Size" type="System.Drawing.Size, System.Drawing">
<value>723, 220</value> <value>723, 223</value>
</data> </data>
<data name="gbTransport.TabIndex" type="System.Int32, mscorlib"> <data name="gbTransport.TabIndex" type="System.Int32, mscorlib">
<value>22</value> <value>22</value>
@@ -706,7 +766,7 @@
<value>6, 12</value> <value>6, 12</value>
</data> </data>
<data name="$this.Size" type="System.Drawing.Size, System.Drawing"> <data name="$this.Size" type="System.Drawing.Size, System.Drawing">
<value>723, 220</value> <value>723, 223</value>
</data> </data>
<data name="&gt;&gt;$this.Name" xml:space="preserve"> <data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>ServerTransportControl</value> <value>ServerTransportControl</value>
@@ -118,15 +118,6 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="labAllowInsecure.Size" type="System.Drawing.Size, System.Drawing">
<value>167, 12</value>
</data>
<data name="labAllowInsecure.Text" xml:space="preserve">
<value>跳过证书验证(allowInsecure)</value>
</data>
<data name="cmbAllowInsecure.Location" type="System.Drawing.Point, System.Drawing">
<value>183, 7</value>
</data>
<data name="tipNetwork.Size" type="System.Drawing.Size, System.Drawing"> <data name="tipNetwork.Size" type="System.Drawing.Size, System.Drawing">
<value>143, 12</value> <value>143, 12</value>
</data> </data>
@@ -157,11 +148,8 @@
<data name="labStreamSecurity.Text" xml:space="preserve"> <data name="labStreamSecurity.Text" xml:space="preserve">
<value>底层传输安全(tls)</value> <value>底层传输安全(tls)</value>
</data> </data>
<data name="tipHeaderType.Size" type="System.Drawing.Size, System.Drawing">
<value>203, 12</value>
</data>
<data name="txtRequestHost.Location" type="System.Drawing.Point, System.Drawing"> <data name="txtRequestHost.Location" type="System.Drawing.Point, System.Drawing">
<value>127, 100</value> <value>127, 92</value>
</data> </data>
<data name="txtRequestHost.Size" type="System.Drawing.Size, System.Drawing"> <data name="txtRequestHost.Size" type="System.Drawing.Size, System.Drawing">
<value>331, 20</value> <value>331, 20</value>
@@ -181,4 +169,25 @@
<data name="gbTransport.Text" xml:space="preserve"> <data name="gbTransport.Text" xml:space="preserve">
<value>底层传输方式(transport)</value> <value>底层传输方式(transport)</value>
</data> </data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>282, 11</value>
</data>
<data name="clbAlpn.Location" type="System.Drawing.Point, System.Drawing">
<value>331, 7</value>
</data>
<data name="clbAlpn.Size" type="System.Drawing.Size, System.Drawing">
<value>160, 20</value>
</data>
<data name="txtSNI.Size" type="System.Drawing.Size, System.Drawing">
<value>391, 21</value>
</data>
<data name="labAllowInsecure.Size" type="System.Drawing.Size, System.Drawing">
<value>167, 12</value>
</data>
<data name="labAllowInsecure.Text" xml:space="preserve">
<value>跳过证书验证(allowInsecure)</value>
</data>
<data name="cmbAllowInsecure.Location" type="System.Drawing.Point, System.Drawing">
<value>183, 7</value>
</data>
</root> </root>
+17
View File
@@ -30,6 +30,8 @@
{ {
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SubSettingControl)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SubSettingControl));
this.grbMain = new System.Windows.Forms.GroupBox(); this.grbMain = new System.Windows.Forms.GroupBox();
this.txtUserAgent = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.btnShare = new System.Windows.Forms.Button(); this.btnShare = new System.Windows.Forms.Button();
this.chkEnabled = new System.Windows.Forms.CheckBox(); this.chkEnabled = new System.Windows.Forms.CheckBox();
this.btnRemove = new System.Windows.Forms.Button(); this.btnRemove = new System.Windows.Forms.Button();
@@ -44,6 +46,8 @@
// //
// grbMain // grbMain
// //
this.grbMain.Controls.Add(this.txtUserAgent);
this.grbMain.Controls.Add(this.label1);
this.grbMain.Controls.Add(this.btnShare); this.grbMain.Controls.Add(this.btnShare);
this.grbMain.Controls.Add(this.chkEnabled); this.grbMain.Controls.Add(this.chkEnabled);
this.grbMain.Controls.Add(this.btnRemove); this.grbMain.Controls.Add(this.btnRemove);
@@ -55,6 +59,17 @@
this.grbMain.Name = "grbMain"; this.grbMain.Name = "grbMain";
this.grbMain.TabStop = false; this.grbMain.TabStop = false;
// //
// txtUserAgent
//
resources.ApplyResources(this.txtUserAgent, "txtUserAgent");
this.txtUserAgent.Name = "txtUserAgent";
this.txtUserAgent.Leave += new System.EventHandler(this.txtRemarks_Leave);
//
// label1
//
resources.ApplyResources(this.label1, "label1");
this.label1.Name = "label1";
//
// btnShare // btnShare
// //
resources.ApplyResources(this.btnShare, "btnShare"); resources.ApplyResources(this.btnShare, "btnShare");
@@ -130,5 +145,7 @@
private System.Windows.Forms.CheckBox chkEnabled; private System.Windows.Forms.CheckBox chkEnabled;
private System.Windows.Forms.Button btnShare; private System.Windows.Forms.Button btnShare;
private System.Windows.Forms.PictureBox picQRCode; private System.Windows.Forms.PictureBox picQRCode;
private System.Windows.Forms.TextBox txtUserAgent;
private System.Windows.Forms.Label label1;
} }
} }
+2
View File
@@ -35,6 +35,7 @@ namespace v2rayN.Forms
txtRemarks.Text = subItem.remarks.ToString(); txtRemarks.Text = subItem.remarks.ToString();
txtUrl.Text = subItem.url.ToString(); txtUrl.Text = subItem.url.ToString();
chkEnabled.Checked = subItem.enabled; chkEnabled.Checked = subItem.enabled;
txtUserAgent.Text = subItem.userAgent;
} }
} }
private void EndBindingSub() private void EndBindingSub()
@@ -44,6 +45,7 @@ namespace v2rayN.Forms
subItem.remarks = txtRemarks.Text.TrimEx(); subItem.remarks = txtRemarks.Text.TrimEx();
subItem.url = txtUrl.Text.TrimEx(); subItem.url = txtUrl.Text.TrimEx();
subItem.enabled = chkEnabled.Checked; subItem.enabled = chkEnabled.Checked;
subItem.userAgent = txtUserAgent.Text.TrimEx();
} }
} }
private void txtRemarks_Leave(object sender, EventArgs e) private void txtRemarks_Leave(object sender, EventArgs e)
+67 -16
View File
@@ -117,18 +117,69 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="txtUserAgent.Location" type="System.Drawing.Point, System.Drawing">
<value>127, 111</value>
</data>
<data name="txtUserAgent.Size" type="System.Drawing.Size, System.Drawing">
<value>473, 21</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="txtUserAgent.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="&gt;&gt;txtUserAgent.Name" xml:space="preserve">
<value>txtUserAgent</value>
</data>
<data name="&gt;&gt;txtUserAgent.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;txtUserAgent.Parent" xml:space="preserve">
<value>grbMain</value>
</data>
<data name="&gt;&gt;txtUserAgent.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="label1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 115</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>65, 12</value>
</data>
<data name="label1.TabIndex" type="System.Int32, mscorlib">
<value>27</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>User Agent</value>
</data>
<data name="&gt;&gt;label1.Name" xml:space="preserve">
<value>label1</value>
</data>
<data name="&gt;&gt;label1.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label1.Parent" xml:space="preserve">
<value>grbMain</value>
</data>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="btnShare.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> <data name="btnShare.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="btnShare.Location" type="System.Drawing.Point, System.Drawing"> <data name="btnShare.Location" type="System.Drawing.Point, System.Drawing">
<value>434, 21</value> <value>434, 21</value>
</data> </data>
<data name="btnShare.Size" type="System.Drawing.Size, System.Drawing"> <data name="btnShare.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value> <value>75, 23</value>
</data> </data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="btnShare.TabIndex" type="System.Int32, mscorlib"> <data name="btnShare.TabIndex" type="System.Int32, mscorlib">
<value>26</value> <value>26</value>
</data> </data>
@@ -145,7 +196,7 @@
<value>grbMain</value> <value>grbMain</value>
</data> </data>
<data name="&gt;&gt;btnShare.ZOrder" xml:space="preserve"> <data name="&gt;&gt;btnShare.ZOrder" xml:space="preserve">
<value>0</value> <value>2</value>
</data> </data>
<data name="chkEnabled.AutoSize" type="System.Boolean, mscorlib"> <data name="chkEnabled.AutoSize" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
@@ -175,7 +226,7 @@
<value>grbMain</value> <value>grbMain</value>
</data> </data>
<data name="&gt;&gt;chkEnabled.ZOrder" xml:space="preserve"> <data name="&gt;&gt;chkEnabled.ZOrder" xml:space="preserve">
<value>1</value> <value>3</value>
</data> </data>
<data name="btnRemove.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> <data name="btnRemove.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value> <value>NoControl</value>
@@ -202,10 +253,10 @@
<value>grbMain</value> <value>grbMain</value>
</data> </data>
<data name="&gt;&gt;btnRemove.ZOrder" xml:space="preserve"> <data name="&gt;&gt;btnRemove.ZOrder" xml:space="preserve">
<value>2</value> <value>4</value>
</data> </data>
<data name="txtUrl.Location" type="System.Drawing.Point, System.Drawing"> <data name="txtUrl.Location" type="System.Drawing.Point, System.Drawing">
<value>127, 55</value> <value>127, 53</value>
</data> </data>
<data name="txtUrl.Multiline" type="System.Boolean, mscorlib"> <data name="txtUrl.Multiline" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
@@ -217,7 +268,7 @@
<value>473, 46</value> <value>473, 46</value>
</data> </data>
<data name="txtUrl.TabIndex" type="System.Int32, mscorlib"> <data name="txtUrl.TabIndex" type="System.Int32, mscorlib">
<value>23</value> <value>2</value>
</data> </data>
<data name="&gt;&gt;txtUrl.Name" xml:space="preserve"> <data name="&gt;&gt;txtUrl.Name" xml:space="preserve">
<value>txtUrl</value> <value>txtUrl</value>
@@ -229,7 +280,7 @@
<value>grbMain</value> <value>grbMain</value>
</data> </data>
<data name="&gt;&gt;txtUrl.ZOrder" xml:space="preserve"> <data name="&gt;&gt;txtUrl.ZOrder" xml:space="preserve">
<value>3</value> <value>5</value>
</data> </data>
<data name="txtRemarks.Location" type="System.Drawing.Point, System.Drawing"> <data name="txtRemarks.Location" type="System.Drawing.Point, System.Drawing">
<value>127, 21</value> <value>127, 21</value>
@@ -238,7 +289,7 @@
<value>232, 21</value> <value>232, 21</value>
</data> </data>
<data name="txtRemarks.TabIndex" type="System.Int32, mscorlib"> <data name="txtRemarks.TabIndex" type="System.Int32, mscorlib">
<value>11</value> <value>1</value>
</data> </data>
<data name="&gt;&gt;txtRemarks.Name" xml:space="preserve"> <data name="&gt;&gt;txtRemarks.Name" xml:space="preserve">
<value>txtRemarks</value> <value>txtRemarks</value>
@@ -250,7 +301,7 @@
<value>grbMain</value> <value>grbMain</value>
</data> </data>
<data name="&gt;&gt;txtRemarks.ZOrder" xml:space="preserve"> <data name="&gt;&gt;txtRemarks.ZOrder" xml:space="preserve">
<value>4</value> <value>6</value>
</data> </data>
<data name="label2.AutoSize" type="System.Boolean, mscorlib"> <data name="label2.AutoSize" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
@@ -280,7 +331,7 @@
<value>grbMain</value> <value>grbMain</value>
</data> </data>
<data name="&gt;&gt;label2.ZOrder" xml:space="preserve"> <data name="&gt;&gt;label2.ZOrder" xml:space="preserve">
<value>5</value> <value>7</value>
</data> </data>
<data name="label3.AutoSize" type="System.Boolean, mscorlib"> <data name="label3.AutoSize" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
@@ -289,7 +340,7 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="label3.Location" type="System.Drawing.Point, System.Drawing"> <data name="label3.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 55</value> <value>12, 53</value>
</data> </data>
<data name="label3.Size" type="System.Drawing.Size, System.Drawing"> <data name="label3.Size" type="System.Drawing.Size, System.Drawing">
<value>83, 12</value> <value>83, 12</value>
@@ -310,7 +361,7 @@
<value>grbMain</value> <value>grbMain</value>
</data> </data>
<data name="&gt;&gt;label3.ZOrder" xml:space="preserve"> <data name="&gt;&gt;label3.ZOrder" xml:space="preserve">
<value>6</value> <value>8</value>
</data> </data>
<data name="grbMain.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> <data name="grbMain.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Top</value> <value>Top</value>
@@ -319,7 +370,7 @@
<value>0, 0</value> <value>0, 0</value>
</data> </data>
<data name="grbMain.Size" type="System.Drawing.Size, System.Drawing"> <data name="grbMain.Size" type="System.Drawing.Size, System.Drawing">
<value>619, 110</value> <value>619, 148</value>
</data> </data>
<data name="grbMain.TabIndex" type="System.Int32, mscorlib"> <data name="grbMain.TabIndex" type="System.Int32, mscorlib">
<value>10</value> <value>10</value>
@@ -346,10 +397,10 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="picQRCode.Location" type="System.Drawing.Point, System.Drawing"> <data name="picQRCode.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 110</value> <value>0, 148</value>
</data> </data>
<data name="picQRCode.Size" type="System.Drawing.Size, System.Drawing"> <data name="picQRCode.Size" type="System.Drawing.Size, System.Drawing">
<value>619, 200</value> <value>619, 162</value>
</data> </data>
<data name="picQRCode.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms"> <data name="picQRCode.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
<value>Zoom</value> <value>Zoom</value>
-1
View File
@@ -21,7 +21,6 @@ namespace v2rayN
/// </summary> /// </summary>
public const string SpeedTestUrl = @"http://cachefly.cachefly.net/10mb.test"; public const string SpeedTestUrl = @"http://cachefly.cachefly.net/10mb.test";
public const string SpeedPingTestUrl = @"https://www.google.com/generate_204"; public const string SpeedPingTestUrl = @"https://www.google.com/generate_204";
public const string AvailabilityTestUrl = @"https://www.google.com/generate_204";
/// <summary> /// <summary>
/// CustomRoutingListUrl /// CustomRoutingListUrl
+29 -20
View File
@@ -128,18 +128,22 @@ namespace v2rayN.Handler
config.uiItem.mainLvColWidth = new Dictionary<string, int>(); config.uiItem.mainLvColWidth = new Dictionary<string, int>();
} }
//// 如果是用户升级,首次会有端口号为0的情况,不可用,这里处理
//if (config.pacPort == 0) if (config.constItem == null)
//{
// config.pacPort = 8888;
//}
if (Utils.IsNullOrEmpty(config.speedTestUrl))
{ {
config.speedTestUrl = Global.SpeedTestUrl; config.constItem = new ConstItem();
} }
if (Utils.IsNullOrEmpty(config.speedPingTestUrl)) if (Utils.IsNullOrEmpty(config.constItem.speedTestUrl))
{ {
config.speedPingTestUrl = Global.SpeedPingTestUrl; config.constItem.speedTestUrl = Global.SpeedTestUrl;
}
if (Utils.IsNullOrEmpty(config.constItem.speedPingTestUrl))
{
config.constItem.speedPingTestUrl = Global.SpeedPingTestUrl;
}
if (Utils.IsNullOrEmpty(config.constItem.defIEProxyExceptions))
{
config.constItem.defIEProxyExceptions = Global.IEProxyExceptions;
} }
//if (Utils.IsNullOrEmpty(config.remoteDNS)) //if (Utils.IsNullOrEmpty(config.remoteDNS))
//{ //{
@@ -901,6 +905,7 @@ namespace v2rayN.Handler
{ {
return -1; return -1;
} }
var propertyName = string.Empty;
switch (name) switch (name)
{ {
case EServerColName.configType: case EServerColName.configType:
@@ -910,6 +915,10 @@ namespace v2rayN.Handler
case EServerColName.security: case EServerColName.security:
case EServerColName.network: case EServerColName.network:
case EServerColName.testResult: case EServerColName.testResult:
propertyName = name.ToString();
break;
case EServerColName.subRemarks:
propertyName = "subid";
break; break;
default: default:
return -1; return -1;
@@ -919,11 +928,11 @@ namespace v2rayN.Handler
if (asc) if (asc)
{ {
config.vmess = items.OrderBy(name.ToString()).ToList(); config.vmess = items.OrderBy(propertyName).ToList();
} }
else else
{ {
config.vmess = items.OrderByDescending(name.ToString()).ToList(); config.vmess = items.OrderByDescending(propertyName).ToList();
} }
var index_ = config.vmess.FindIndex(it => it.getItemId() == itemId); var index_ = config.vmess.FindIndex(it => it.getItemId() == itemId);
@@ -1263,15 +1272,6 @@ namespace v2rayN.Handler
if (config.routings.Count(it => it.locked != true) <= 0) if (config.routings.Count(it => it.locked != true) <= 0)
{ {
//Global
var item1 = new RoutingItem()
{
remarks = "全局(Global)",
url = string.Empty,
};
AddBatchRoutingRules(ref item1, Utils.GetEmbedText(Global.CustomRoutingFileName + "global"));
config.routings.Add(item1);
//Bypass the mainland //Bypass the mainland
var item2 = new RoutingItem() var item2 = new RoutingItem()
{ {
@@ -1290,6 +1290,15 @@ namespace v2rayN.Handler
AddBatchRoutingRules(ref item3, Utils.GetEmbedText(Global.CustomRoutingFileName + "black")); AddBatchRoutingRules(ref item3, Utils.GetEmbedText(Global.CustomRoutingFileName + "black"));
config.routings.Add(item3); config.routings.Add(item3);
//Global
var item1 = new RoutingItem()
{
remarks = "全局(Global)",
url = string.Empty,
};
AddBatchRoutingRules(ref item1, Utils.GetEmbedText(Global.CustomRoutingFileName + "global"));
config.routings.Add(item1);
config.routingIndex = 0; config.routingIndex = 0;
} }
+6 -1
View File
@@ -131,7 +131,7 @@ namespace v2rayN.Handler
/// DownloadString /// DownloadString
/// </summary> /// </summary>
/// <param name="url"></param> /// <param name="url"></param>
public void WebDownloadString(string url) public void WebDownloadString(string url, string userAgent)
{ {
string source = string.Empty; string source = string.Empty;
try try
@@ -139,6 +139,11 @@ namespace v2rayN.Handler
Utils.SetSecurityProtocol(); Utils.SetSecurityProtocol();
WebClientEx ws = new WebClientEx(); WebClientEx ws = new WebClientEx();
if (!Utils.IsNullOrEmpty(userAgent))
{
ws.Headers.Add("user-agent", userAgent);
}
ws.DownloadStringCompleted += Ws_DownloadStringCompleted; ws.DownloadStringCompleted += Ws_DownloadStringCompleted;
ws.DownloadStringAsync(new Uri(url)); ws.DownloadStringAsync(new Uri(url));
} }
+12 -5
View File
@@ -76,7 +76,8 @@ namespace v2rayN.Handler
host = item.requestHost, host = item.requestHost,
path = item.path, path = item.path,
tls = item.streamSecurity, tls = item.streamSecurity,
sni = item.sni sni = item.sni,
alpn = Utils.List2String(item.alpn)
}; };
url = Utils.ToJson(vmessQRCode); url = Utils.ToJson(vmessQRCode);
@@ -180,6 +181,10 @@ namespace v2rayN.Handler
{ {
dicQuery.Add("sni", item.sni); dicQuery.Add("sni", item.sni);
} }
if (item.alpn != null && item.alpn.Count > 0)
{
dicQuery.Add("alpn", Utils.UrlEncode(Utils.List2String(item.alpn)));
}
if (!Utils.IsNullOrEmpty(item.network)) if (!Utils.IsNullOrEmpty(item.network))
{ {
dicQuery.Add("type", item.network); dicQuery.Add("type", item.network);
@@ -422,8 +427,9 @@ namespace v2rayN.Handler
vmessItem.path = Utils.ToString(vmessQRCode.path); vmessItem.path = Utils.ToString(vmessQRCode.path);
vmessItem.streamSecurity = Utils.ToString(vmessQRCode.tls); vmessItem.streamSecurity = Utils.ToString(vmessQRCode.tls);
vmessItem.sni = Utils.ToString(vmessQRCode.sni); vmessItem.sni = Utils.ToString(vmessQRCode.sni);
vmessItem.alpn = Utils.String2List(vmessQRCode.alpn);
return vmessItem; return vmessItem;
} }
private static VmessItem ResolveVmess4Kitsunebi(string result) private static VmessItem ResolveVmess4Kitsunebi(string result)
@@ -477,7 +483,7 @@ namespace v2rayN.Handler
i.address = u.IdnHost; i.address = u.IdnHost;
i.port = u.Port; i.port = u.Port;
i.remarks = u.GetComponents(UriComponents.Fragment, UriFormat.Unescaped); i.remarks = Utils.UrlDecode(u.GetComponents(UriComponents.Fragment, UriFormat.Unescaped));
var q = HttpUtility.ParseQueryString(u.Query); var q = HttpUtility.ParseQueryString(u.Query);
var m = StdVmessUserInfo.Match(u.UserInfo); var m = StdVmessUserInfo.Match(u.UserInfo);
@@ -564,7 +570,7 @@ namespace v2rayN.Handler
} }
VmessItem server = new VmessItem VmessItem server = new VmessItem
{ {
remarks = parsedUrl.GetComponents(UriComponents.Fragment, UriFormat.Unescaped), remarks = Utils.UrlDecode(parsedUrl.GetComponents(UriComponents.Fragment, UriFormat.Unescaped)),
address = parsedUrl.IdnHost, address = parsedUrl.IdnHost,
port = parsedUrl.Port, port = parsedUrl.Port,
}; };
@@ -721,7 +727,7 @@ namespace v2rayN.Handler
item.address = url.IdnHost; item.address = url.IdnHost;
item.port = url.Port; item.port = url.Port;
item.remarks = url.GetComponents(UriComponents.Fragment, UriFormat.Unescaped); item.remarks = Utils.UrlDecode(url.GetComponents(UriComponents.Fragment, UriFormat.Unescaped));
item.id = url.UserInfo; item.id = url.UserInfo;
var query = HttpUtility.ParseQueryString(url.Query); var query = HttpUtility.ParseQueryString(url.Query);
@@ -730,6 +736,7 @@ namespace v2rayN.Handler
item.security = query["encryption"] ?? "none"; item.security = query["encryption"] ?? "none";
item.streamSecurity = query["security"] ?? ""; item.streamSecurity = query["security"] ?? "";
item.sni = query["sni"] ?? ""; item.sni = query["sni"] ?? "";
item.alpn = Utils.String2List(Utils.UrlDecode(query["alpn"] ?? ""));
item.network = query["type"] ?? "tcp"; item.network = query["type"] ?? "tcp";
switch (item.network) switch (item.network)
{ {
+3 -3
View File
@@ -122,7 +122,7 @@ namespace v2rayN.Handler
{ {
WebProxy webProxy = new WebProxy(Global.Loopback, httpPort + itemIndex); WebProxy webProxy = new WebProxy(Global.Loopback, httpPort + itemIndex);
int responseTime = -1; int responseTime = -1;
string status = GetRealPingTime(_config.speedPingTestUrl, webProxy, out responseTime); string status = GetRealPingTime(_config.constItem.speedPingTestUrl, webProxy, out responseTime);
string output = Utils.IsNullOrEmpty(status) ? FormatOut(responseTime, "ms") : FormatOut(status, ""); string output = Utils.IsNullOrEmpty(status) ? FormatOut(responseTime, "ms") : FormatOut(status, "");
_updateFunc(itemIndex, output); _updateFunc(itemIndex, output);
} }
@@ -157,7 +157,7 @@ namespace v2rayN.Handler
{ {
WebProxy webProxy = new WebProxy(Global.Loopback, httpPort); WebProxy webProxy = new WebProxy(Global.Loopback, httpPort);
int responseTime = -1; int responseTime = -1;
string status = GetRealPingTime(Global.AvailabilityTestUrl, webProxy, out responseTime); string status = GetRealPingTime(Global.SpeedPingTestUrl, webProxy, out responseTime);
bool noError = Utils.IsNullOrEmpty(status); bool noError = Utils.IsNullOrEmpty(status);
return noError ? responseTime : -1; return noError ? responseTime : -1;
} }
@@ -193,7 +193,7 @@ namespace v2rayN.Handler
return; return;
} }
string url = _config.speedTestUrl; string url = _config.constItem.speedTestUrl;
DownloadHandle downloadHandle2 = new DownloadHandle(); DownloadHandle downloadHandle2 = new DownloadHandle();
downloadHandle2.UpdateCompleted += (sender2, args) => downloadHandle2.UpdateCompleted += (sender2, args) =>
{ {
+2 -1
View File
@@ -179,6 +179,7 @@ namespace v2rayN.Handler
{ {
string id = config.subItem[k - 1].id.Trim(); string id = config.subItem[k - 1].id.Trim();
string url = config.subItem[k - 1].url.Trim(); string url = config.subItem[k - 1].url.Trim();
string userAgent = config.subItem[k - 1].userAgent.Trim();
string hashCode = $"{k}->"; string hashCode = $"{k}->";
if (config.subItem[k - 1].enabled == false) if (config.subItem[k - 1].enabled == false)
{ {
@@ -227,7 +228,7 @@ namespace v2rayN.Handler
_updateFunc(false, args.GetException().Message); _updateFunc(false, args.GetException().Message);
}; };
downloadHandle3.WebDownloadString(url); downloadHandle3.WebDownloadString(url, userAgent);
_updateFunc(false, $"{hashCode}{UIRes.I18N("MsgStartGettingSubscriptions")}"); _updateFunc(false, $"{hashCode}{UIRes.I18N("MsgStartGettingSubscriptions")}");
} }
+4 -2
View File
@@ -587,7 +587,8 @@ namespace v2rayN.Handler
TlsSettings tlsSettings = new TlsSettings TlsSettings tlsSettings = new TlsSettings
{ {
allowInsecure = config.allowInsecure() allowInsecure = config.allowInsecure(),
alpn = config.alpn()
}; };
if (!string.IsNullOrWhiteSpace(sni)) if (!string.IsNullOrWhiteSpace(sni))
{ {
@@ -607,7 +608,8 @@ namespace v2rayN.Handler
TlsSettings xtlsSettings = new TlsSettings TlsSettings xtlsSettings = new TlsSettings
{ {
allowInsecure = config.allowInsecure() allowInsecure = config.allowInsecure(),
alpn = config.alpn()
}; };
if (!string.IsNullOrWhiteSpace(sni)) if (!string.IsNullOrWhiteSpace(sni))
{ {
@@ -166,7 +166,8 @@ namespace v2rayN.HttpProxyHandler
} }
if (type == ESysProxyType.ForcedChange) if (type == ESysProxyType.ForcedChange)
{ {
SysProxyHandle.SetIEProxy(true, $"{Global.Loopback}:{port}", config.systemProxyExceptions); var strExceptions = $"{config.constItem.defIEProxyExceptions};{config.systemProxyExceptions}";
SysProxyHandle.SetIEProxy(true, $"{Global.Loopback}:{port}", strExceptions);
} }
else if (type == ESysProxyType.ForcedClear) else if (type == ESysProxyType.ForcedClear)
{ {
@@ -85,15 +85,6 @@ namespace v2rayN.HttpProxyHandler
public static void SetIEProxy(bool global, string strProxy, string strExceptions) public static void SetIEProxy(bool global, string strProxy, string strExceptions)
{ {
if (Utils.IsNullOrEmpty(strExceptions))
{
strExceptions = Global.IEProxyExceptions;
}
else
{
strExceptions = $"{Global.IEProxyExceptions};{strExceptions}";
}
string arguments = global string arguments = global
? $"global {strProxy} {strExceptions}" ? $"global {strProxy} {strExceptions}"
: $"pac {strProxy}"; : $"pac {strProxy}";
+57 -15
View File
@@ -76,21 +76,6 @@ namespace v2rayN.Mode
get; set; get; set;
} }
/// <summary>
/// 自定义服务器下载测速url
/// </summary>
public string speedTestUrl
{
get; set;
}
/// <summary>
/// 自定义“服务器真连接延迟”测试url
/// </summary>
public string speedPingTestUrl
{
get; set;
}
/// <summary> /// <summary>
/// 允许来自局域网的连接 /// 允许来自局域网的连接
/// </summary> /// </summary>
@@ -200,6 +185,10 @@ namespace v2rayN.Mode
get; set; get; set;
} = 0; } = 0;
public ConstItem constItem
{
get; set;
}
#region #region
public string address() public string address()
@@ -371,6 +360,21 @@ namespace v2rayN.Mode
} }
return vmess[index].sni.TrimEx(); return vmess[index].sni.TrimEx();
} }
public List<string> alpn()
{
if (index < 0)
{
return null;
}
if (vmess[index].alpn != null && vmess[index].alpn.Count > 0)
{
return vmess[index].alpn;
}
else
{
return null;
}
}
#endregion #endregion
} }
@@ -604,6 +608,13 @@ namespace v2rayN.Mode
{ {
get; set; get; set;
} }
/// <summary>
/// tls alpn
/// </summary>
public List<string> alpn
{
get; set;
}
} }
[Serializable] [Serializable]
@@ -725,6 +736,14 @@ namespace v2rayN.Mode
/// enable /// enable
/// </summary> /// </summary>
public bool enabled { get; set; } = true; public bool enabled { get; set; } = true;
/// <summary>
///
/// </summary>
public string userAgent
{
get; set;
} = string.Empty;
} }
[Serializable] [Serializable]
@@ -742,4 +761,27 @@ namespace v2rayN.Mode
get; set; get; set;
} }
} }
[Serializable]
public class ConstItem
{
/// <summary>
/// 自定义服务器下载测速url
/// </summary>
public string speedTestUrl
{
get; set;
}
/// <summary>
/// 自定义“服务器真连接延迟”测试url
/// </summary>
public string speedPingTestUrl
{
get; set;
}
public string defIEProxyExceptions
{
get; set;
}
}
} }
+7
View File
@@ -404,6 +404,13 @@ namespace v2rayN.Mode
/// ///
/// </summary> /// </summary>
public string serverName { get; set; } public string serverName { get; set; }
/// <summary>
///
/// </summary>
public List<string> alpn
{
get; set;
}
} }
public class TcpSettings public class TcpSettings
+20 -13
View File
@@ -2,61 +2,68 @@
namespace v2rayN.Mode namespace v2rayN.Mode
{ {
/// <summary>
/// https://github.com/2dust/v2rayN/wiki/
/// </summary>
[Serializable] [Serializable]
class VmessQRCode class VmessQRCode
{ {
/// <summary> /// <summary>
/// 版本 ///
/// </summary> /// </summary>
public string v { get; set; } = string.Empty; public string v { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 备注 ///
/// </summary> /// </summary>
public string ps { get; set; } = string.Empty; public string ps { get; set; } = string.Empty;
/// <summary> /// <summary>
/// VMess 远程服务器地址 ///
/// </summary> /// </summary>
public string add { get; set; } = string.Empty; public string add { get; set; } = string.Empty;
/// <summary> /// <summary>
/// VMess 远程服务器端口 ///
/// </summary> /// </summary>
public string port { get; set; } = string.Empty; public string port { get; set; } = string.Empty;
/// <summary> /// <summary>
/// VMess 远程服务器ID ///
/// </summary> /// </summary>
public string id { get; set; } = string.Empty; public string id { get; set; } = string.Empty;
/// <summary> /// <summary>
/// VMess 远程服务器额外ID ///
/// </summary> /// </summary>
public string aid { get; set; } = string.Empty; public string aid { get; set; } = string.Empty;
/// <summary> /// <summary>
/// VMess Security ///
/// </summary> /// </summary>
public string scy { get; set; } = string.Empty; public string scy { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 传输协议tcp,kcp,ws ///
/// </summary> /// </summary>
public string net { get; set; } = string.Empty; public string net { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 伪装类型 ///
/// </summary> /// </summary>
public string type { get; set; } = string.Empty; public string type { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 伪装的域名 ///
/// </summary> /// </summary>
public string host { get; set; } = string.Empty; public string host { get; set; } = string.Empty;
/// <summary> /// <summary>
/// path ///
/// </summary> /// </summary>
public string path { get; set; } = string.Empty; public string path { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 底层传输安全 /// TLS
/// </summary> /// </summary>
public string tls { get; set; } = string.Empty; public string tls { get; set; } = string.Empty;
/// <summary> /// <summary>
/// SNI /// TLS SNI
/// </summary> /// </summary>
public string sni { get; set; } = string.Empty; public string sni { get; set; } = string.Empty;
/// <summary>
/// TLS alpn
/// </summary>
public string alpn { get; set; } = string.Empty;
} }
} }
+1 -1
View File
@@ -32,4 +32,4 @@ using System.Runtime.InteropServices;
// 方法是按如下所示使用“*”: // 方法是按如下所示使用“*”:
//[assembly: AssemblyVersion("1.0.*")] //[assembly: AssemblyVersion("1.0.*")]
//[assembly: AssemblyVersion("1.0.0")] //[assembly: AssemblyVersion("1.0.0")]
[assembly: AssemblyFileVersion("4.26")] [assembly: AssemblyFileVersion("4.28")]
+12 -12
View File
@@ -908,7 +908,7 @@ namespace v2rayN.Resx {
} }
/// <summary> /// <summary>
/// 查找类似 1)tcp camouflage type 的本地化字符串。 /// 查找类似 *tcp camouflage type 的本地化字符串。
/// </summary> /// </summary>
internal static string TransportHeaderTypeTip1 { internal static string TransportHeaderTypeTip1 {
get { get {
@@ -917,7 +917,7 @@ namespace v2rayN.Resx {
} }
/// <summary> /// <summary>
/// 查找类似 2)kcp camouflage type 的本地化字符串。 /// 查找类似 *kcp camouflage type 的本地化字符串。
/// </summary> /// </summary>
internal static string TransportHeaderTypeTip2 { internal static string TransportHeaderTypeTip2 {
get { get {
@@ -926,7 +926,7 @@ namespace v2rayN.Resx {
} }
/// <summary> /// <summary>
/// 查找类似 3)QUIC camouflage type 的本地化字符串。 /// 查找类似 *QUIC camouflage type 的本地化字符串。
/// </summary> /// </summary>
internal static string TransportHeaderTypeTip3 { internal static string TransportHeaderTypeTip3 {
get { get {
@@ -935,7 +935,7 @@ namespace v2rayN.Resx {
} }
/// <summary> /// <summary>
/// 查找类似 4)grpc mode 的本地化字符串。 /// 查找类似 *grpc mode 的本地化字符串。
/// </summary> /// </summary>
internal static string TransportHeaderTypeTip4 { internal static string TransportHeaderTypeTip4 {
get { get {
@@ -944,7 +944,7 @@ namespace v2rayN.Resx {
} }
/// <summary> /// <summary>
/// 查找类似 1)ws path 的本地化字符串。 /// 查找类似 *ws path 的本地化字符串。
/// </summary> /// </summary>
internal static string TransportPathTip1 { internal static string TransportPathTip1 {
get { get {
@@ -953,7 +953,7 @@ namespace v2rayN.Resx {
} }
/// <summary> /// <summary>
/// 查找类似 2)h2 path 的本地化字符串。 /// 查找类似 *h2 path 的本地化字符串。
/// </summary> /// </summary>
internal static string TransportPathTip2 { internal static string TransportPathTip2 {
get { get {
@@ -962,7 +962,7 @@ namespace v2rayN.Resx {
} }
/// <summary> /// <summary>
/// 查找类似 3)QUIC key/Kcp seed 的本地化字符串。 /// 查找类似 *QUIC key/Kcp seed 的本地化字符串。
/// </summary> /// </summary>
internal static string TransportPathTip3 { internal static string TransportPathTip3 {
get { get {
@@ -971,7 +971,7 @@ namespace v2rayN.Resx {
} }
/// <summary> /// <summary>
/// 查找类似 4)grpc serviceName 的本地化字符串。 /// 查找类似 *grpc serviceName 的本地化字符串。
/// </summary> /// </summary>
internal static string TransportPathTip4 { internal static string TransportPathTip4 {
get { get {
@@ -980,7 +980,7 @@ namespace v2rayN.Resx {
} }
/// <summary> /// <summary>
/// 查找类似 1)http host Separated by commas (,) 的本地化字符串。 /// 查找类似 *http host Separated by commas (,) 的本地化字符串。
/// </summary> /// </summary>
internal static string TransportRequestHostTip1 { internal static string TransportRequestHostTip1 {
get { get {
@@ -989,7 +989,7 @@ namespace v2rayN.Resx {
} }
/// <summary> /// <summary>
/// 查找类似 2)ws host 的本地化字符串。 /// 查找类似 *ws host 的本地化字符串。
/// </summary> /// </summary>
internal static string TransportRequestHostTip2 { internal static string TransportRequestHostTip2 {
get { get {
@@ -998,7 +998,7 @@ namespace v2rayN.Resx {
} }
/// <summary> /// <summary>
/// 查找类似 3)h2 host Separated by commas (,) 的本地化字符串。 /// 查找类似 *h2 host Separated by commas (,) 的本地化字符串。
/// </summary> /// </summary>
internal static string TransportRequestHostTip3 { internal static string TransportRequestHostTip3 {
get { get {
@@ -1007,7 +1007,7 @@ namespace v2rayN.Resx {
} }
/// <summary> /// <summary>
/// 查找类似 4)QUIC securty 的本地化字符串。 /// 查找类似 *QUIC securty 的本地化字符串。
/// </summary> /// </summary>
internal static string TransportRequestHostTip4 { internal static string TransportRequestHostTip4 {
get { get {
+12 -12
View File
@@ -401,39 +401,39 @@
<value>Please fill in the correct custom DNS</value> <value>Please fill in the correct custom DNS</value>
</data> </data>
<data name="TransportPathTip1" xml:space="preserve"> <data name="TransportPathTip1" xml:space="preserve">
<value>1)ws path</value> <value>*ws path</value>
</data> </data>
<data name="TransportPathTip2" xml:space="preserve"> <data name="TransportPathTip2" xml:space="preserve">
<value>2)h2 path</value> <value>*h2 path</value>
</data> </data>
<data name="TransportPathTip3" xml:space="preserve"> <data name="TransportPathTip3" xml:space="preserve">
<value>3)QUIC key/Kcp seed</value> <value>*QUIC key/Kcp seed</value>
</data> </data>
<data name="TransportPathTip4" xml:space="preserve"> <data name="TransportPathTip4" xml:space="preserve">
<value>4)grpc serviceName</value> <value>*grpc serviceName</value>
</data> </data>
<data name="TransportRequestHostTip1" xml:space="preserve"> <data name="TransportRequestHostTip1" xml:space="preserve">
<value>1)http host Separated by commas (,)</value> <value>*http host Separated by commas (,)</value>
</data> </data>
<data name="TransportRequestHostTip2" xml:space="preserve"> <data name="TransportRequestHostTip2" xml:space="preserve">
<value>2)ws host</value> <value>*ws host</value>
</data> </data>
<data name="TransportRequestHostTip3" xml:space="preserve"> <data name="TransportRequestHostTip3" xml:space="preserve">
<value>3)h2 host Separated by commas (,)</value> <value>*h2 host Separated by commas (,)</value>
</data> </data>
<data name="TransportRequestHostTip4" xml:space="preserve"> <data name="TransportRequestHostTip4" xml:space="preserve">
<value>4)QUIC securty</value> <value>*QUIC securty</value>
</data> </data>
<data name="TransportHeaderTypeTip1" xml:space="preserve"> <data name="TransportHeaderTypeTip1" xml:space="preserve">
<value>1)tcp camouflage type</value> <value>*tcp camouflage type</value>
</data> </data>
<data name="TransportHeaderTypeTip2" xml:space="preserve"> <data name="TransportHeaderTypeTip2" xml:space="preserve">
<value>2)kcp camouflage type</value> <value>*kcp camouflage type</value>
</data> </data>
<data name="TransportHeaderTypeTip3" xml:space="preserve"> <data name="TransportHeaderTypeTip3" xml:space="preserve">
<value>3)QUIC camouflage type</value> <value>*QUIC camouflage type</value>
</data> </data>
<data name="TransportHeaderTypeTip4" xml:space="preserve"> <data name="TransportHeaderTypeTip4" xml:space="preserve">
<value>4)grpc mode</value> <value>*grpc mode</value>
</data> </data>
</root> </root>
+12 -12
View File
@@ -401,39 +401,39 @@
<value>请填写正确的自定义DNS</value> <value>请填写正确的自定义DNS</value>
</data> </data>
<data name="TransportPathTip1" xml:space="preserve"> <data name="TransportPathTip1" xml:space="preserve">
<value>1)ws path</value> <value>*ws path</value>
</data> </data>
<data name="TransportPathTip2" xml:space="preserve"> <data name="TransportPathTip2" xml:space="preserve">
<value>2)h2 path</value> <value>*h2 path</value>
</data> </data>
<data name="TransportPathTip3" xml:space="preserve"> <data name="TransportPathTip3" xml:space="preserve">
<value>3)QUIC 加密密钥/Kcp seed</value> <value>*QUIC 加密密钥/Kcp seed</value>
</data> </data>
<data name="TransportPathTip4" xml:space="preserve"> <data name="TransportPathTip4" xml:space="preserve">
<value>4)grpc serviceName</value> <value>*grpc serviceName</value>
</data> </data>
<data name="TransportRequestHostTip1" xml:space="preserve"> <data name="TransportRequestHostTip1" xml:space="preserve">
<value>1)http host中间逗号(,)隔开</value> <value>*http host中间逗号(,)隔开</value>
</data> </data>
<data name="TransportRequestHostTip2" xml:space="preserve"> <data name="TransportRequestHostTip2" xml:space="preserve">
<value>2)ws host</value> <value>*ws host</value>
</data> </data>
<data name="TransportRequestHostTip3" xml:space="preserve"> <data name="TransportRequestHostTip3" xml:space="preserve">
<value>3)h2 host中间逗号(,)隔开</value> <value>*h2 host中间逗号(,)隔开</value>
</data> </data>
<data name="TransportRequestHostTip4" xml:space="preserve"> <data name="TransportRequestHostTip4" xml:space="preserve">
<value>4)QUIC 加密方式</value> <value>*QUIC 加密方式</value>
</data> </data>
<data name="TransportHeaderTypeTip1" xml:space="preserve"> <data name="TransportHeaderTypeTip1" xml:space="preserve">
<value>1)tcp伪装类型</value> <value>*tcp伪装类型</value>
</data> </data>
<data name="TransportHeaderTypeTip2" xml:space="preserve"> <data name="TransportHeaderTypeTip2" xml:space="preserve">
<value>2)kcp伪装类型</value> <value>*kcp伪装类型</value>
</data> </data>
<data name="TransportHeaderTypeTip3" xml:space="preserve"> <data name="TransportHeaderTypeTip3" xml:space="preserve">
<value>3)QUIC伪装类型</value> <value>*QUIC伪装类型</value>
</data> </data>
<data name="TransportHeaderTypeTip4" xml:space="preserve"> <data name="TransportHeaderTypeTip4" xml:space="preserve">
<value>4)grpc 模式</value> <value>*grpc 模式</value>
</data> </data>
</root> </root>
+40 -5
View File
@@ -180,6 +180,10 @@ namespace v2rayN
{ {
try try
{ {
if (lst == null)
{
return string.Empty;
}
if (wrap) if (wrap)
{ {
return string.Join("," + Environment.NewLine, lst.ToArray()); return string.Join("," + Environment.NewLine, lst.ToArray());
@@ -627,6 +631,26 @@ namespace v2rayN
regKey?.Close(); regKey?.Close();
} }
} }
/// <summary>
/// 判断.Net Framework的Release是否符合
/// (.Net Framework 版本在4.0及以上)
/// </summary>
/// <param name="release">需要的版本4.6.2=394802;4.8=528040</param>
/// <returns></returns>
public static bool GetDotNetRelease(int release)
{
const string subkey = @"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\";
using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).OpenSubKey(subkey))
{
if (ndpKey != null && ndpKey.GetValue("Release") != null)
{
return (int)ndpKey.GetValue("Release") >= release ? true : false;
}
return false;
}
}
#endregion #endregion
#region #region
@@ -693,11 +717,22 @@ namespace v2rayN
public static void SetSecurityProtocol() public static void SetSecurityProtocol()
{ {
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 //.NET Framework 4.8
| SecurityProtocolType.Tls if (GetDotNetRelease(528040))
| SecurityProtocolType.Tls11 {
| SecurityProtocolType.Tls12 ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3
| SecurityProtocolType.Tls13; | SecurityProtocolType.Tls
| SecurityProtocolType.Tls11
| SecurityProtocolType.Tls12
| SecurityProtocolType.Tls13;
}
else
{
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3
| SecurityProtocolType.Tls
| SecurityProtocolType.Tls11
| SecurityProtocolType.Tls12;
}
ServicePointManager.DefaultConnectionLimit = 256; ServicePointManager.DefaultConnectionLimit = 256;
} }
#endregion #endregion
+6 -6
View File
@@ -487,24 +487,24 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Google.Protobuf"> <PackageReference Include="Google.Protobuf">
<Version>3.11.4</Version> <Version>3.19.1</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Grpc.Core"> <PackageReference Include="Grpc.Core">
<Version>2.27.0</Version> <Version>2.42.0</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Grpc.Tools"> <PackageReference Include="Grpc.Tools">
<Version>2.27.0</Version> <Version>2.42.0</Version>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets> <PrivateAssets>all</PrivateAssets>
</PackageReference> </PackageReference>
<PackageReference Include="log4net"> <PackageReference Include="log4net">
<Version>2.0.13</Version> <Version>2.0.14</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Newtonsoft.Json"> <PackageReference Include="Newtonsoft.Json">
<Version>12.0.3</Version> <Version>13.0.1</Version>
</PackageReference> </PackageReference>
<PackageReference Include="ZXing.Net"> <PackageReference Include="ZXing.Net">
<Version>0.16.5</Version> <Version>0.16.7</Version>
</PackageReference> </PackageReference>
</ItemGroup> </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />