*EIpNg@K9H<=!>fTIO?ltwDIsq329ecy2cPIe<4nYD(Io
zeA$iH)XYes_q5tk+8%@CN*(M3vOUrEmV)&z2$;lqTt83ibZVwMncG+H)>k#agaTVj
zE%JOAE#lk`poOH9sx!NDebx7@(w7DvaA@ilhRJrFNUuKgyJnIiFSICD@mwCKhnLeMUq=oE;tbT;Rit>6>U}
zcRRjGFVehQ-6Yw4c>&7SdAc|IM#YHRFoAp{QR=YcZ&QZ_RJ$Y?<()!6d
zr!|Z?XL?>bKI=
z{bJP3ofhVNqhy?a&J&{^jK0S&G(>}%Z|9p${kPGBRIQ8)YFZhk^_WHs#9b?lkSpN3
zR*NsAnhWG%D)#|cjXKTi1eG3|oR_gr1JJ)`-Pr}S(zSR47h)CF*V6O;T+~=U%4F2X
zXR)b~eyJG~M7{OX7-cD_5Gpl;;
zV9Q3(nnK!XCPI8U{o2f)4jVD+xkIY(FXxBsP5NbKD)UAb9sSeMrJL{heE7kGOMmOz
zEdJ%&{i1E*n_ZXQ{=>^3`uD>>J@?By-@&Ud@49W-qrDGwJRQ30)p3UT!>9Q3#qK2D
z83oprtCoQsI>jk^8EfEG%)JRVP#B*cOY5CD--5eicqWQE>%EbkuGH)VAu
zx0{O#a?cc77I9?Wj~ByxU}3z_-(HM-0
zR~Nse-mQ>r<5=vQmA8^R7WCE+VQe^iG}Ny?rK!THnOma6j6PHab;vx2l_FN*Te)3H
zKBy=gpQmnW0lqR)S8L|Ts>ce8>9dQx8s{24+PUjs<@7!C@?UfHZ_Sqf=K245{=bxF
zxf1?6E9n`frrG2F8O)3P{{k@+m!bF#$$!{vQ
lB>2!9xyWI$(d$2eoRyR3=bR;zx4^&N2{E{~UQqwP1kJ?;<|F7G$!~E}d
zcp$!bdMti#4+LjlZ@0zU+ue(QUcbxjcDH-F>{F8gmopIdwmU68huvp!1_EwN(B<`6
z+%``j;;@I>wQBhPdalg33IA*%0brcGkN?D6etE6TWG2kIHKX04r2aBA|~$4pv^iqgS235YJNC*
zJ@_h#uxj`j)FxjK~
z{!f?Bn#TXV{+s24XMJ;b`k#+|Y~rT))rTn0Qk}yOj~Rzao*h5#WGKU&&jq^YT-KMM
zl>NN4|An%joAvupZ9AUHzp{3CG!|PY8(E2e4%Jp>?C;zyLH`XtUyJ>{TKyY6Sd8=s
z$%h_B6CQ{2&`Z#~JqaJnWl$Ra8t@ai{>a%vJPmj!{G<;6hTu!J2yMO@yZSzg^D7n!
zVaNHc*r(0&t;o7_KF)7I6zF|8Uy6O3KLC99yM?$7@EO2g0zS4_hW5M>k&pim=Qm%-
zZHYoG!DgGA@%&*#A)q_Y`>~hq3pjtXRfuok{D0ret#xS2GU;aGUoOOYwEGUk1^OVa
zpT9zgXL0`@-^UPpNUU^;%&dA7G}IxSFIf%OFWeun%Op}S06v2I??oJ!2l4wprx4%8
z`Q=C*bT!ToBNhnZ@8B~=nCxK6cRY(J5(j(@a5u`Eo~G`M(#GU#tFecjb;Bxf^oi
z2A)b1n==$813RC2+Zi3-c>awGUi|Rmod;HSZA16P@spkZ&(G3y3Oa@Nsek74f3?9E
z&Y0n+Fsd=;dl@&@%wSG~w^sfygTQVo|Ccd;wDhN|&VO#*-Ev@?mH#Ub-xXp)iD$+!
zjS4qp{QXOvC%gTo+4`GW<&RqVZ*puJ_7#w)2*80_e!x}0Baz;MSAq=7cn;k2L6S)y
zUFM)8QK9yngxS0osGcnEoK^;j5#lbuAmAs#B|HN7GN}KvfI(32uLHJ#TK^ny{d!nN
zLFETFh;g&@(`bJy+!k3rblaAr|MA0@U;VEg51eAT__p8Q@;aI|%|(0#6eztTdp?8z
zvECoG2+^OMb9MbwT|)eK5iZ4T@q$l#2sM*W8-dr=8_N)E5W?6$V&uMq>pxow{t$2T
zfSaKPg!tNKA-)Cp&=w({K#8~3%KwA!)L9?^%!cauf0ci+S^R%~{>Jjz(AiV=^{v7G
zt0|U&**U9zD1-mauY98vll8`zSBY2l;cIqQRBn~ZZAIz%%YAFcIN96bBTmDr!kB!L
zJDjl2fDgInP3}B1KEpB?hli2eC3fAWubowRrgAifoAHsj_|#dKKb3hyc~ZR6(ugda
z9zC{#6In`f`PbZR*jCIB>i-!_-ON7L%FEt_H%2~M?nC`!?1rN&htB)LyY@ePPUjnv
zCaUGacXJrujUZ1>d=CN1_T&642qtR*uLbM@d<4)Bcs3>wuLl4rpgx&_-Eb&i)bg(b
zg4&4%Kl8o*aG@UqinIiCjP_5T5ctSdIWT|Rd^Ag@0M$nu;}5)eLs
zoz|>(83gHT0S{&1Vu!rGACRl@bO_kj0e%#a_ah{Qt{X~c;I9A~>2{Y(hz|fh4HyKx
z8Vh0<;7X;%C-1@>r*iVx
zpFwd4cnNUhX8{)i*Nx!XGr(!PPZi?t&O+98{I-4(l$L<&79*Yb0^~Gn1%3l`Tnt=>
zXL@W{$9QHD7Un82$!B6M-iPyBurQwobY6qpL13y6M1W@ip8;YS16(;J#Or`dKO)3A
zcy8I9cowkji$dHFXly^4jZbO)cdhbUt@^K8pP#4y^Ys5OFvI8Re{<-6t@_JapEv41
zfe|qim`f}L8HZ8Gm}6-G|Km6&r_Ov<)E!OedZh@C*4>Rq@G-0ZG^4*74kg0T;UQ}{
z7SrV?kOJZE?HKIp@6W`8$OD(f1J>=y9_)YGs->;H#^>?q0;A2bucu>BI)J4Hv!3Z&
zdj|&ll7YCkH<8>kIOc@Ed%LaO?laudlZeL?!`5^lIi#gi91>M-JGVG>tX`c8U9ZIh
zDQi3$N+wc?NZJ}o#8-#4F)fxD(UPmkBBX%hp9J=$<*(AFMtMLZFNJ8;FAiYZqIesbq7LwaG@`1)PHqFu+N~I?;z(EsCeJAc0hlx+hTz7V%<3_5V{yqQxn=Aj-Du30Je>3C1-VFM0q@TpdbD4je>-4*Tf6GW3
zY1js6n~Fo*&iG0r&_*Y8`GYYDvpEu#P`==z;6XS
zd@daSfC%ngBE(gI-OHhygO2V?7U=t+%e&NrYtYR-2_^bsz#Ur=UKY>&(*Rry0DpT8
zI6FM&3nQL4Y$QKNXtz;Dp5y>~%Bh&F9HB*ZV!
z*0C=N@hIB*mtPj*MZoXhkG7+{#~v1<75827E!2nd?mQ~Qm8e(spW8l{!i}rUx5G0O6|Gt-#CBF(EsNfBEM7`y_Pw;iEZM*N{kyE%;=aV
zfXl`p|4{ErGhb3b_;O|!gO95VF72+N|_vf(M?gBPb*rl}o
G?f(HalW~Cn
diff --git a/v2rayN/v2rayN/App.xaml b/v2rayN/v2rayN/App.xaml
new file mode 100644
index 00000000..56a04a3a
--- /dev/null
+++ b/v2rayN/v2rayN/App.xaml
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+ 26
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v2rayN/v2rayN/App.xaml.cs b/v2rayN/v2rayN/App.xaml.cs
new file mode 100644
index 00000000..edba4acf
--- /dev/null
+++ b/v2rayN/v2rayN/App.xaml.cs
@@ -0,0 +1,85 @@
+using System.Windows;
+using System.Windows.Threading;
+using v2rayN.Handler;
+using v2rayN.Mode;
+using v2rayN.Tool;
+
+namespace v2rayN
+{
+ ///
+ /// Interaction logic for App.xaml
+ ///
+ public partial class App : Application
+ {
+ public static EventWaitHandle ProgramStarted;
+ private static Config _config;
+
+ public App()
+ {
+ // Locator.CurrentMutable.RegisterViewsForViewModels(Assembly.GetCallingAssembly());
+ this.DispatcherUnhandledException += App_DispatcherUnhandledException;
+ AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
+ TaskScheduler.UnobservedTaskException += TaskScheduler_UnobservedTaskException;
+ }
+
+ ///
+ /// 只打开一个进程
+ ///
+ ///
+ protected override void OnStartup(StartupEventArgs e)
+ {
+ Global.ExePathKey = Utils.GetMD5(Utils.GetExePath());
+
+ ProgramStarted = new EventWaitHandle(false, EventResetMode.AutoReset, Global.ExePathKey, out bool bCreatedNew);
+ if (!bCreatedNew)
+ {
+ ProgramStarted.Set();
+ Current.Shutdown();
+ Environment.Exit(0);
+ return;
+ }
+
+ Global.processJob = new Job();
+
+ Logging.Setup();
+ Utils.SaveLog($"v2rayN start up | {Utils.GetVersion()} | {Utils.GetExePath()}");
+ Logging.ClearLogs();
+
+ Init();
+
+ Thread.CurrentThread.CurrentUICulture = new(_config.uiItem.currentLanguage);
+
+ base.OnStartup(e);
+ }
+
+
+ private void Init()
+ {
+ if (ConfigHandler.LoadConfig(ref _config) != 0)
+ {
+ UI.ShowWarning($"Loading GUI configuration file is abnormal,please restart the application{Environment.NewLine}加载GUI配置文件异常,请重启应用");
+ Application.Current.Shutdown();
+ Environment.Exit(0);
+ return;
+ }
+ }
+ private void App_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
+ {
+ Utils.SaveLog("App_DispatcherUnhandledException", e.Exception);
+ e.Handled = true;
+ }
+
+ private void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
+ {
+ if (e.ExceptionObject != null)
+ {
+ Utils.SaveLog("CurrentDomain_UnhandledException", (Exception)e.ExceptionObject!);
+ }
+ }
+
+ private void TaskScheduler_UnobservedTaskException(object sender, UnobservedTaskExceptionEventArgs e)
+ {
+ Utils.SaveLog("TaskScheduler_UnobservedTaskException", e.Exception);
+ }
+ }
+}
diff --git a/v2rayN/v2rayN/AssemblyInfo.cs b/v2rayN/v2rayN/AssemblyInfo.cs
new file mode 100644
index 00000000..8b5504ec
--- /dev/null
+++ b/v2rayN/v2rayN/AssemblyInfo.cs
@@ -0,0 +1,10 @@
+using System.Windows;
+
+[assembly: ThemeInfo(
+ ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
+ //(used if a resource is not found in the page,
+ // or application resource dictionaries)
+ ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+ //(used if a resource is not found in the page,
+ // app, or any theme specific resource dictionaries)
+)]
diff --git a/v2rayN/v2rayN/Base/HttpClientHelper.cs b/v2rayN/v2rayN/Base/HttpClientHelper.cs
index a3bacb5d..4fbbc400 100644
--- a/v2rayN/v2rayN/Base/HttpClientHelper.cs
+++ b/v2rayN/v2rayN/Base/HttpClientHelper.cs
@@ -1,12 +1,6 @@
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Net;
+using System.IO;
using System.Net.Http;
using System.Net.Http.Headers;
-using System.Threading;
-using System.Threading.Tasks;
namespace v2rayN.Base
{
@@ -58,7 +52,7 @@ namespace v2rayN.Base
HttpResponseMessage response = await client.GetAsync(url, token);
if (!response.IsSuccessStatusCode)
{
- throw new Exception(string.Format("The request returned with HTTP status code {0}", response.StatusCode));
+ throw new Exception(string.Format("{0}", response.StatusCode));
}
return await response.Content.ReadAsStringAsync();
}
@@ -92,7 +86,7 @@ namespace v2rayN.Base
if (!response.IsSuccessStatusCode)
{
- throw new Exception(string.Format("The request returned with HTTP status code {0}", response.StatusCode));
+ throw new Exception(string.Format("{0}", response.StatusCode));
}
var total = response.Content.Headers.ContentLength.HasValue ? response.Content.Headers.ContentLength.Value : -1L;
@@ -159,7 +153,7 @@ namespace v2rayN.Base
if (!response.IsSuccessStatusCode)
{
- throw new Exception(string.Format("The request returned with HTTP status code {0}", response.StatusCode));
+ throw new Exception(string.Format("{0}", response.StatusCode));
}
//var total = response.Content.Headers.ContentLength.HasValue ? response.Content.Headers.ContentLength.Value : -1L;
@@ -172,6 +166,7 @@ namespace v2rayN.Base
var isMoreToRead = true;
string progressSpeed = string.Empty;
DateTime totalDatetime = DateTime.Now;
+ int totalSecond = 0;
do
{
@@ -202,9 +197,10 @@ namespace v2rayN.Base
totalRead += read;
TimeSpan ts = (DateTime.Now - totalDatetime);
- var speed = (totalRead * 1d / ts.TotalMilliseconds / 1000).ToString("#0.0");
- if (progress != null)
+ if (progress != null && ts.Seconds > totalSecond)
{
+ totalSecond = ts.Seconds;
+ var speed = (totalRead * 1d / ts.TotalMilliseconds / 1000).ToString("#0.0");
if (progressSpeed != speed)
{
progressSpeed = speed;
diff --git a/v2rayN/v2rayN/Base/ListViewFlickerFree.cs b/v2rayN/v2rayN/Base/ListViewFlickerFree.cs
deleted file mode 100644
index 94e803e9..00000000
--- a/v2rayN/v2rayN/Base/ListViewFlickerFree.cs
+++ /dev/null
@@ -1,112 +0,0 @@
-using System;
-using System.Drawing;
-using System.Windows.Forms;
-
-namespace v2rayN.Base
-{
- class ListViewFlickerFree : ListView
- {
- Action _updateFunc;
-
- public ListViewFlickerFree()
- {
- SetStyle(ControlStyles.OptimizedDoubleBuffer
- | ControlStyles.AllPaintingInWmPaint
- , true);
- UpdateStyles();
- }
-
- public void RegisterDragEvent(Action update)
- {
- _updateFunc = update;
- AllowDrop = true;
-
- ItemDrag += lv_ItemDrag;
- DragDrop += lv_DragDrop;
- DragEnter += lv_DragEnter;
- DragOver += lv_DragOver;
- DragLeave += lv_DragLeave;
- }
-
- private void lv_DragDrop(object sender, DragEventArgs e)
- {
- int targetIndex = InsertionMark.Index;
- if (targetIndex == -1)
- {
- return;
- }
- if (InsertionMark.AppearsAfterItem)
- {
- targetIndex++;
- }
-
-
- if (SelectedIndices.Count <= 0)
- {
- return;
- }
-
- _updateFunc(SelectedIndices[0], targetIndex);
-
- //ListViewItem draggedItem = (ListViewItem)e.Data.GetData(typeof(ListViewItem));
- //this.BeginUpdate();
- //this.Items.Insert(targetIndex, (ListViewItem)draggedItem.Clone());
- //this.Items.Remove(draggedItem);
- //this.EndUpdate();
- }
-
-
- private void lv_DragEnter(object sender, DragEventArgs e)
- {
- e.Effect = e.AllowedEffect;
- }
-
- private void lv_DragLeave(object sender, EventArgs e)
- {
- InsertionMark.Index = -1;
- }
-
- private void lv_DragOver(object sender, DragEventArgs e)
- {
- Point targetPoint = PointToClient(new Point(e.X, e.Y));
- int targetIndex = InsertionMark.NearestIndex(targetPoint);
-
- if (targetIndex > -1)
- {
- Rectangle itemBounds = GetItemRect(targetIndex);
- EnsureVisible(targetIndex);
-
- if (targetPoint.Y > itemBounds.Top + (itemBounds.Height / 2))
- {
- InsertionMark.AppearsAfterItem = true;
- }
- else
- {
- InsertionMark.AppearsAfterItem = false;
- }
- }
- InsertionMark.Index = targetIndex;
- }
-
- private void lv_ItemDrag(object sender, ItemDragEventArgs e)
- {
- DoDragDrop(e.Item, DragDropEffects.Move);
- InsertionMark.Index = -1;
- }
- public void SetScrollPosition(int pos)
- {
- pos = Math.Min(Items.Count - 1, pos);
-
- if (pos < 0 || pos >= Items.Count)
- return;
-
- EnsureVisible(pos);
-
- for (int i = 0; i < 10; i++)
- {
- if (TopItem != null && TopItem.Index != pos)
- TopItem = Items[pos];
- }
- }
- }
-}
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Base/SqliteHandler.cs b/v2rayN/v2rayN/Base/SqliteHandler.cs
new file mode 100644
index 00000000..eeb7b8e5
--- /dev/null
+++ b/v2rayN/v2rayN/Base/SqliteHandler.cs
@@ -0,0 +1,91 @@
+
+using SQLite;
+using System.Collections;
+
+namespace v2rayN.Base
+{
+ public sealed class SqliteHelper
+ {
+ private static readonly Lazy _instance = new Lazy(() => new());
+ public static SqliteHelper Instance => _instance.Value;
+ private string _connstr;
+ public SQLiteConnection _db;
+ public SQLiteAsyncConnection _dbAsync;
+
+ public SqliteHelper()
+ {
+ _connstr = Utils.GetConfigPath(Global.ConfigDB);
+ _db = new SQLiteConnection(_connstr, false);
+ _dbAsync = new SQLiteAsyncConnection(_connstr, false);
+ }
+
+ public CreateTableResult CreateTable()
+ {
+ return _db.CreateTable();
+ }
+
+ public int Add(object model)
+ {
+ return _db.Insert(model);
+ }
+ public async Task AddAsync(object model)
+ {
+ return await _dbAsync.InsertAsync(model);
+ }
+ public int Replace(object model)
+ {
+ return _db.InsertOrReplace(model);
+ }
+ public async Task Replacesync(object model)
+ {
+ return await _dbAsync.InsertOrReplaceAsync(model);
+ }
+
+ public int Update(object model)
+ {
+ return _db.Update(model);
+ }
+ public async Task UpdateAsync(object model)
+ {
+ return await _dbAsync.UpdateAsync(model);
+ }
+ public int UpdateAll(IEnumerable models)
+ {
+ return _db.UpdateAll(models);
+ }
+
+ public int Delete(object model)
+ {
+ return _db.Delete(model);
+ }
+ public async Task DeleteAsync(object model)
+ {
+ return await _dbAsync.DeleteAsync(model);
+ }
+ public List Query(string sql) where T : new()
+ {
+ return _db.Query(sql);
+ }
+ public async Task> QueryAsync(string sql) where T : new()
+ {
+ return await _dbAsync.QueryAsync(sql);
+ }
+ public int Execute(string sql)
+ {
+ return _db.Execute(sql);
+ }
+ public async Task ExecuteAsync(string sql)
+ {
+ return await _dbAsync.ExecuteAsync(sql);
+ }
+
+ public TableQuery Table() where T : new()
+ {
+ return _db.Table();
+ }
+ public AsyncTableQuery TableAsync() where T : new()
+ {
+ return _dbAsync.Table();
+ }
+ }
+}
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Base/StringEx.cs b/v2rayN/v2rayN/Base/StringEx.cs
index 40544106..8e5c8dbb 100644
--- a/v2rayN/v2rayN/Base/StringEx.cs
+++ b/v2rayN/v2rayN/Base/StringEx.cs
@@ -1,6 +1,4 @@
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
+using System.IO;
namespace v2rayN.Base
{
diff --git a/v2rayN/v2rayN/Converters/DelayColorConverter.cs b/v2rayN/v2rayN/Converters/DelayColorConverter.cs
new file mode 100644
index 00000000..ab43c991
--- /dev/null
+++ b/v2rayN/v2rayN/Converters/DelayColorConverter.cs
@@ -0,0 +1,25 @@
+using System.Windows.Data;
+using System.Windows.Media;
+
+namespace v2rayN.Converters
+{
+ public class DelayColorConverter : IValueConverter
+ {
+ public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
+ {
+ int.TryParse(value.ToString(), out var delay);
+
+ if (delay <= 0)
+ return new SolidColorBrush(Colors.Red);
+ if (delay <= 200)
+ return new SolidColorBrush(Colors.Green);
+ else
+ return new SolidColorBrush(Colors.IndianRed);
+ }
+
+ public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
+ {
+ return null;
+ }
+ }
+}
diff --git a/v2rayN/v2rayN/FodyWeavers.xml b/v2rayN/v2rayN/FodyWeavers.xml
new file mode 100644
index 00000000..63fc1484
--- /dev/null
+++ b/v2rayN/v2rayN/FodyWeavers.xml
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/AddServer2Form.Designer.cs b/v2rayN/v2rayN/Forms/AddServer2Form.Designer.cs
deleted file mode 100644
index cff9eca2..00000000
--- a/v2rayN/v2rayN/Forms/AddServer2Form.Designer.cs
+++ /dev/null
@@ -1,202 +0,0 @@
-namespace v2rayN.Forms
-{
- partial class AddServer2Form
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AddServer2Form));
- this.btnClose = new System.Windows.Forms.Button();
- this.groupBox1 = new System.Windows.Forms.GroupBox();
- this.label3 = new System.Windows.Forms.Label();
- this.label2 = new System.Windows.Forms.Label();
- this.txtPreSocksPort = new System.Windows.Forms.TextBox();
- this.btnEdit = new System.Windows.Forms.Button();
- this.cmbCoreType = new System.Windows.Forms.ComboBox();
- this.labCoreType = new System.Windows.Forms.Label();
- this.btnBrowse = new System.Windows.Forms.Button();
- this.txtAddress = new System.Windows.Forms.TextBox();
- this.label13 = new System.Windows.Forms.Label();
- this.txtRemarks = new System.Windows.Forms.TextBox();
- this.label6 = new System.Windows.Forms.Label();
- this.label1 = new System.Windows.Forms.Label();
- this.panel2 = new System.Windows.Forms.Panel();
- this.btnOK = new System.Windows.Forms.Button();
- this.panel1 = new System.Windows.Forms.Panel();
- this.groupBox1.SuspendLayout();
- this.panel2.SuspendLayout();
- this.SuspendLayout();
- //
- // btnClose
- //
- resources.ApplyResources(this.btnClose, "btnClose");
- this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
- this.btnClose.Name = "btnClose";
- this.btnClose.UseVisualStyleBackColor = true;
- this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
- //
- // groupBox1
- //
- resources.ApplyResources(this.groupBox1, "groupBox1");
- this.groupBox1.Controls.Add(this.label3);
- this.groupBox1.Controls.Add(this.label2);
- this.groupBox1.Controls.Add(this.txtPreSocksPort);
- this.groupBox1.Controls.Add(this.btnEdit);
- this.groupBox1.Controls.Add(this.cmbCoreType);
- this.groupBox1.Controls.Add(this.labCoreType);
- this.groupBox1.Controls.Add(this.btnBrowse);
- this.groupBox1.Controls.Add(this.txtAddress);
- this.groupBox1.Controls.Add(this.label13);
- this.groupBox1.Controls.Add(this.txtRemarks);
- this.groupBox1.Controls.Add(this.label6);
- this.groupBox1.Controls.Add(this.label1);
- this.groupBox1.Name = "groupBox1";
- this.groupBox1.TabStop = false;
- //
- // label3
- //
- resources.ApplyResources(this.label3, "label3");
- this.label3.Name = "label3";
- //
- // label2
- //
- resources.ApplyResources(this.label2, "label2");
- this.label2.Name = "label2";
- //
- // txtPreSocksPort
- //
- resources.ApplyResources(this.txtPreSocksPort, "txtPreSocksPort");
- this.txtPreSocksPort.Name = "txtPreSocksPort";
- //
- // btnEdit
- //
- resources.ApplyResources(this.btnEdit, "btnEdit");
- this.btnEdit.Name = "btnEdit";
- this.btnEdit.UseVisualStyleBackColor = true;
- this.btnEdit.Click += new System.EventHandler(this.btnEdit_Click);
- //
- // cmbCoreType
- //
- resources.ApplyResources(this.cmbCoreType, "cmbCoreType");
- this.cmbCoreType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cmbCoreType.FormattingEnabled = true;
- this.cmbCoreType.Name = "cmbCoreType";
- //
- // labCoreType
- //
- resources.ApplyResources(this.labCoreType, "labCoreType");
- this.labCoreType.Name = "labCoreType";
- //
- // btnBrowse
- //
- resources.ApplyResources(this.btnBrowse, "btnBrowse");
- this.btnBrowse.Name = "btnBrowse";
- this.btnBrowse.UseVisualStyleBackColor = true;
- this.btnBrowse.Click += new System.EventHandler(this.btnBrowse_Click);
- //
- // txtAddress
- //
- resources.ApplyResources(this.txtAddress, "txtAddress");
- this.txtAddress.Name = "txtAddress";
- //
- // label13
- //
- resources.ApplyResources(this.label13, "label13");
- this.label13.Name = "label13";
- //
- // txtRemarks
- //
- resources.ApplyResources(this.txtRemarks, "txtRemarks");
- this.txtRemarks.Name = "txtRemarks";
- //
- // label6
- //
- resources.ApplyResources(this.label6, "label6");
- this.label6.Name = "label6";
- //
- // label1
- //
- resources.ApplyResources(this.label1, "label1");
- this.label1.Name = "label1";
- //
- // panel2
- //
- resources.ApplyResources(this.panel2, "panel2");
- this.panel2.Controls.Add(this.btnClose);
- this.panel2.Controls.Add(this.btnOK);
- this.panel2.Name = "panel2";
- //
- // btnOK
- //
- resources.ApplyResources(this.btnOK, "btnOK");
- this.btnOK.Name = "btnOK";
- this.btnOK.UseVisualStyleBackColor = true;
- this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
- //
- // panel1
- //
- resources.ApplyResources(this.panel1, "panel1");
- this.panel1.Name = "panel1";
- //
- // AddServer2Form
- //
- resources.ApplyResources(this, "$this");
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.CancelButton = this.btnClose;
- this.Controls.Add(this.groupBox1);
- this.Controls.Add(this.panel2);
- this.Controls.Add(this.panel1);
- this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
- this.Name = "AddServer2Form";
- this.Load += new System.EventHandler(this.AddServer2Form_Load);
- this.groupBox1.ResumeLayout(false);
- this.groupBox1.PerformLayout();
- this.panel2.ResumeLayout(false);
- this.ResumeLayout(false);
-
- }
-
- #endregion
-
- private System.Windows.Forms.GroupBox groupBox1;
- private System.Windows.Forms.Button btnClose;
- private System.Windows.Forms.Button btnOK;
- private System.Windows.Forms.TextBox txtRemarks;
- private System.Windows.Forms.Label label6;
- private System.Windows.Forms.Label label1;
- private System.Windows.Forms.Panel panel1;
- private System.Windows.Forms.Panel panel2;
- private System.Windows.Forms.Label label13;
- private System.Windows.Forms.TextBox txtAddress;
- private System.Windows.Forms.Button btnBrowse;
- private System.Windows.Forms.ComboBox cmbCoreType;
- private System.Windows.Forms.Label labCoreType;
- private System.Windows.Forms.Button btnEdit;
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.TextBox txtPreSocksPort;
- private System.Windows.Forms.Label label3;
- }
-}
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/AddServer2Form.cs b/v2rayN/v2rayN/Forms/AddServer2Form.cs
deleted file mode 100644
index 823f0137..00000000
--- a/v2rayN/v2rayN/Forms/AddServer2Form.cs
+++ /dev/null
@@ -1,155 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.IO;
-using System.Windows.Forms;
-using v2rayN.Handler;
-using v2rayN.Mode;
-using v2rayN.Resx;
-
-namespace v2rayN.Forms
-{
- public partial class AddServer2Form : BaseServerForm
- {
-
- public AddServer2Form()
- {
- InitializeComponent();
- }
-
- private void AddServer2Form_Load(object sender, EventArgs e)
- {
- List coreTypes = new List();
- foreach (ECoreType it in Enum.GetValues(typeof(ECoreType)))
- {
- if (it == ECoreType.v2rayN)
- continue;
- coreTypes.Add(it.ToString());
- }
-
- cmbCoreType.Items.AddRange(coreTypes.ToArray());
- cmbCoreType.Items.Add(string.Empty);
-
- txtAddress.ReadOnly = true;
- if (vmessItem != null)
- {
- BindingServer();
- }
- else
- {
- vmessItem = new VmessItem
- {
- groupId = groupId
- };
- ClearServer();
- }
- }
-
- ///
- /// 绑定数据
- ///
- private void BindingServer()
- {
- txtRemarks.Text = vmessItem.remarks;
- txtAddress.Text = vmessItem.address;
- txtPreSocksPort.Text = vmessItem.preSocksPort.ToString();
-
- cmbCoreType.Text = vmessItem.coreType == null ? string.Empty : vmessItem.coreType.ToString();
- }
-
-
- ///
- /// 清除设置
- ///
- private void ClearServer()
- {
- txtRemarks.Text = "";
- }
-
- private void btnOK_Click(object sender, EventArgs e)
- {
- string remarks = txtRemarks.Text;
- if (Utils.IsNullOrEmpty(remarks))
- {
- UI.Show(ResUI.PleaseFillRemarks);
- return;
- }
- if (Utils.IsNullOrEmpty(txtAddress.Text))
- {
- UI.Show(ResUI.FillServerAddressCustom);
- return;
- }
- vmessItem.remarks = remarks;
- vmessItem.preSocksPort = Utils.ToInt(txtPreSocksPort.Text);
-
- if (Utils.IsNullOrEmpty(cmbCoreType.Text))
- {
- vmessItem.coreType = null;
- }
- else
- {
- vmessItem.coreType = (ECoreType)Enum.Parse(typeof(ECoreType), cmbCoreType.Text);
- }
-
- if (ConfigHandler.EditCustomServer(ref config, vmessItem) == 0)
- {
- DialogResult = DialogResult.OK;
- }
- else
- {
- UI.ShowWarning(ResUI.OperationFailed);
- }
- }
-
- private void btnClose_Click(object sender, EventArgs e)
- {
- DialogResult = Utils.IsNullOrEmpty(vmessItem.indexId) ? DialogResult.Cancel : DialogResult.OK;
- }
-
- private void btnBrowse_Click(object sender, EventArgs e)
- {
- UI.Show(ResUI.CustomServerTips);
-
- OpenFileDialog fileDialog = new OpenFileDialog
- {
- Multiselect = false,
- Filter = "Config|*.json|YAML|*.yaml;*.yml|All|*.*"
- };
- if (fileDialog.ShowDialog() != DialogResult.OK)
- {
- return;
- }
- string fileName = fileDialog.FileName;
- if (Utils.IsNullOrEmpty(fileName))
- {
- return;
- }
-
- vmessItem.address = fileName;
- vmessItem.remarks = txtRemarks.Text;
-
- if (ConfigHandler.AddCustomServer(ref config, vmessItem, false) == 0)
- {
- BindingServer();
- UI.Show(ResUI.SuccessfullyImportedCustomServer);
- }
- else
- {
- UI.ShowWarning(ResUI.FailedImportedCustomServer);
- }
- }
-
- private void btnEdit_Click(object sender, EventArgs e)
- {
- var address = txtAddress.Text;
- if (Utils.IsNullOrEmpty(address))
- {
- UI.Show(ResUI.FillServerAddressCustom);
- return;
- }
-
- address = Utils.GetConfigPath(address);
- Process.Start(address);
- }
- }
-}
diff --git a/v2rayN/v2rayN/Forms/AddServer2Form.resx b/v2rayN/v2rayN/Forms/AddServer2Form.resx
deleted file mode 100644
index 0935b393..00000000
--- a/v2rayN/v2rayN/Forms/AddServer2Form.resx
+++ /dev/null
@@ -1,573 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
- 113, 12
-
-
- 370, 41
-
-
- label6
-
-
-
- True
-
-
- panel2
-
-
- 11
-
-
- 59, 12
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
- Bottom
-
-
- panel1
-
-
- 3
-
-
- * After setting this value, an socks service will be started using V2ray to provide functions such as speed display
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 5
-
-
- NoControl
-
-
- 75, 23
-
-
- groupBox1
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Fill
-
-
- 127, 157
-
-
- 127, 62
-
-
- 8
-
-
- True
-
-
- Custom configuration server
-
-
- 127, 110
-
-
- NoControl
-
-
- 11
-
-
- 357, 17
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 46
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 0
-
-
- 432, 37
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 2
-
-
- 450, 17
-
-
- 43
-
-
- 1
-
-
- txtPreSocksPort
-
-
- label1
-
-
- 611, 60
-
-
- 0, 0
-
-
- 45
-
-
- groupBox1
-
-
- True
-
-
- 22
-
-
- 75, 23
-
-
- 208, 110
-
-
- &Edit
-
-
- 2
-
-
- panel2
-
-
- 5
-
-
- Alias (remarks)
-
-
- 313, 21
-
-
- groupBox1
-
-
- NoControl
-
-
- 41
-
-
- 12, 62
-
-
- groupBox1
-
-
- 1
-
-
- AddServer2Form
-
-
- 446, 26
-
-
- groupBox1
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- labCoreType
-
-
- 0
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- btnOK
-
-
- $this
-
-
- 89, 12
-
-
- 89, 20
-
-
- $this
-
-
- groupBox1
-
-
- 42
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel2
-
-
- 89, 21
-
-
- 611, 10
-
-
- 0, 10
-
-
- Core Type
-
-
- 127, 195
-
-
- 75, 23
-
-
- groupBox1
-
-
- 6
-
-
- btnEdit
-
-
- &OK
-
-
- btnClose
-
-
- $this
-
-
- 0
-
-
- 229, 189
-
-
- 44
-
-
- True
-
-
- groupBox1
-
-
- 12, 161
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 23
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 6
-
-
- 1
-
-
- 7
-
-
- cmbCoreType
-
-
- &Browse
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- v2rayN.Forms.BaseServerForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
-
-
- label3
-
-
- Pre-Socks Port
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Top
-
-
- 0, 259
-
-
- 7
-
-
- NoControl
-
-
- groupBox1
-
-
- 47, 12
-
-
- True
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 6, 12
-
-
- Address
-
-
- 3
-
-
- 127, 23
-
-
- 95, 12
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 4
-
-
- * Fill in manually
-
-
- label2
-
-
- groupBox1
-
-
- 12, 199
-
-
- 611, 319
-
-
- btnBrowse
-
-
- 611, 249
-
-
- 40
-
-
- 10
-
-
- 75, 23
-
-
- 0
-
-
- label13
-
-
- &Cancel
-
-
- NoControl
-
-
- 4
-
-
- 9
-
-
- groupBox1
-
-
- txtAddress
-
-
- groupBox1
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Server
-
-
- txtRemarks
-
-
- 10
-
-
- 12, 27
-
-
- True
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- True
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/AddServer2Form.zh-Hans.resx b/v2rayN/v2rayN/Forms/AddServer2Form.zh-Hans.resx
deleted file mode 100644
index ba37ebc6..00000000
--- a/v2rayN/v2rayN/Forms/AddServer2Form.zh-Hans.resx
+++ /dev/null
@@ -1,172 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 取消(&C)
-
-
- 服务器
-
-
-
- 337, 41
-
-
- * 自定义配置的Socks端口值,可不设置;当设置此值后,将使用V2ray-core额外启动一个前置Socks服务,提供分流和速度显示等功能
-
-
- 59, 12
-
-
- Socks端口
-
-
- 编辑(&E)
-
-
- 53, 12
-
-
- Core类型
-
-
- 浏览(&B)
-
-
- *手填,方便识别管理
-
-
- 83, 12
-
-
- 别名(remarks)
-
-
- 83, 12
-
-
- 地址(address)
-
-
- 确定(&O)
-
-
- 自定义配置
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/AddServerForm.Designer.cs b/v2rayN/v2rayN/Forms/AddServerForm.Designer.cs
deleted file mode 100644
index ae575f01..00000000
--- a/v2rayN/v2rayN/Forms/AddServerForm.Designer.cs
+++ /dev/null
@@ -1,488 +0,0 @@
-namespace v2rayN.Forms
-{
- partial class AddServerForm
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AddServerForm));
- this.btnClose = new System.Windows.Forms.Button();
- this.groupBox1 = new System.Windows.Forms.GroupBox();
- this.panSocks = new System.Windows.Forms.Panel();
- this.label17 = new System.Windows.Forms.Label();
- this.txtSecurity4 = new System.Windows.Forms.TextBox();
- this.label18 = new System.Windows.Forms.Label();
- this.txtId4 = new System.Windows.Forms.TextBox();
- this.panSs = new System.Windows.Forms.Panel();
- this.txtId3 = new System.Windows.Forms.TextBox();
- this.label15 = new System.Windows.Forms.Label();
- this.cmbSecurity3 = new System.Windows.Forms.ComboBox();
- this.label16 = new System.Windows.Forms.Label();
- this.panTrojan = new System.Windows.Forms.Panel();
- this.label12 = new System.Windows.Forms.Label();
- this.cmbFlow6 = new System.Windows.Forms.ComboBox();
- this.txtId6 = new System.Windows.Forms.TextBox();
- this.label14 = new System.Windows.Forms.Label();
- this.panVless = new System.Windows.Forms.Panel();
- this.label7 = new System.Windows.Forms.Label();
- this.cmbFlow5 = new System.Windows.Forms.ComboBox();
- this.txtId5 = new System.Windows.Forms.TextBox();
- this.label9 = new System.Windows.Forms.Label();
- this.label10 = new System.Windows.Forms.Label();
- this.btnGUID5 = new System.Windows.Forms.Button();
- this.cmbSecurity5 = new System.Windows.Forms.ComboBox();
- this.label11 = new System.Windows.Forms.Label();
- this.panVmess = new System.Windows.Forms.Panel();
- this.label3 = new System.Windows.Forms.Label();
- this.txtId = new System.Windows.Forms.TextBox();
- this.btnGUID = new System.Windows.Forms.Button();
- this.label4 = new System.Windows.Forms.Label();
- this.label8 = new System.Windows.Forms.Label();
- this.txtAlterId = new System.Windows.Forms.TextBox();
- this.cmbSecurity = new System.Windows.Forms.ComboBox();
- this.label5 = new System.Windows.Forms.Label();
- this.panAddr = new System.Windows.Forms.Panel();
- this.cmbCoreType = new System.Windows.Forms.ComboBox();
- this.labCoreType = new System.Windows.Forms.Label();
- this.label6 = new System.Windows.Forms.Label();
- this.label1 = new System.Windows.Forms.Label();
- this.txtAddress = new System.Windows.Forms.TextBox();
- this.label2 = new System.Windows.Forms.Label();
- this.txtPort = new System.Windows.Forms.TextBox();
- this.txtRemarks = new System.Windows.Forms.TextBox();
- this.panBottom = new System.Windows.Forms.Panel();
- this.btnOK = new System.Windows.Forms.Button();
- this.panTop = new System.Windows.Forms.Panel();
- this.panTran = new System.Windows.Forms.Panel();
- this.transportControl = new v2rayN.Forms.ServerTransportControl();
- this.groupBox1.SuspendLayout();
- this.panSocks.SuspendLayout();
- this.panSs.SuspendLayout();
- this.panTrojan.SuspendLayout();
- this.panVless.SuspendLayout();
- this.panVmess.SuspendLayout();
- this.panAddr.SuspendLayout();
- this.panBottom.SuspendLayout();
- this.panTran.SuspendLayout();
- this.SuspendLayout();
- //
- // btnClose
- //
- this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
- resources.ApplyResources(this.btnClose, "btnClose");
- this.btnClose.Name = "btnClose";
- this.btnClose.UseVisualStyleBackColor = true;
- this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
- //
- // groupBox1
- //
- this.groupBox1.Controls.Add(this.panSocks);
- this.groupBox1.Controls.Add(this.panSs);
- this.groupBox1.Controls.Add(this.panTrojan);
- this.groupBox1.Controls.Add(this.panVless);
- this.groupBox1.Controls.Add(this.panVmess);
- this.groupBox1.Controls.Add(this.panAddr);
- resources.ApplyResources(this.groupBox1, "groupBox1");
- this.groupBox1.Name = "groupBox1";
- this.groupBox1.TabStop = false;
- //
- // panSocks
- //
- this.panSocks.Controls.Add(this.label17);
- this.panSocks.Controls.Add(this.txtSecurity4);
- this.panSocks.Controls.Add(this.label18);
- this.panSocks.Controls.Add(this.txtId4);
- resources.ApplyResources(this.panSocks, "panSocks");
- this.panSocks.Name = "panSocks";
- //
- // label17
- //
- resources.ApplyResources(this.label17, "label17");
- this.label17.Name = "label17";
- //
- // txtSecurity4
- //
- resources.ApplyResources(this.txtSecurity4, "txtSecurity4");
- this.txtSecurity4.Name = "txtSecurity4";
- //
- // label18
- //
- resources.ApplyResources(this.label18, "label18");
- this.label18.Name = "label18";
- //
- // txtId4
- //
- resources.ApplyResources(this.txtId4, "txtId4");
- this.txtId4.Name = "txtId4";
- //
- // panSs
- //
- this.panSs.Controls.Add(this.txtId3);
- this.panSs.Controls.Add(this.label15);
- this.panSs.Controls.Add(this.cmbSecurity3);
- this.panSs.Controls.Add(this.label16);
- resources.ApplyResources(this.panSs, "panSs");
- this.panSs.Name = "panSs";
- //
- // txtId3
- //
- resources.ApplyResources(this.txtId3, "txtId3");
- this.txtId3.Name = "txtId3";
- //
- // label15
- //
- resources.ApplyResources(this.label15, "label15");
- this.label15.Name = "label15";
- //
- // cmbSecurity3
- //
- this.cmbSecurity3.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cmbSecurity3.FormattingEnabled = true;
- resources.ApplyResources(this.cmbSecurity3, "cmbSecurity3");
- this.cmbSecurity3.Name = "cmbSecurity3";
- //
- // label16
- //
- resources.ApplyResources(this.label16, "label16");
- this.label16.Name = "label16";
- //
- // panTrojan
- //
- this.panTrojan.Controls.Add(this.label12);
- this.panTrojan.Controls.Add(this.cmbFlow6);
- this.panTrojan.Controls.Add(this.txtId6);
- this.panTrojan.Controls.Add(this.label14);
- resources.ApplyResources(this.panTrojan, "panTrojan");
- this.panTrojan.Name = "panTrojan";
- //
- // label12
- //
- resources.ApplyResources(this.label12, "label12");
- this.label12.Name = "label12";
- //
- // cmbFlow6
- //
- this.cmbFlow6.FormattingEnabled = true;
- resources.ApplyResources(this.cmbFlow6, "cmbFlow6");
- this.cmbFlow6.Name = "cmbFlow6";
- //
- // txtId6
- //
- resources.ApplyResources(this.txtId6, "txtId6");
- this.txtId6.Name = "txtId6";
- //
- // label14
- //
- resources.ApplyResources(this.label14, "label14");
- this.label14.Name = "label14";
- //
- // panVless
- //
- this.panVless.Controls.Add(this.label7);
- this.panVless.Controls.Add(this.cmbFlow5);
- this.panVless.Controls.Add(this.txtId5);
- this.panVless.Controls.Add(this.label9);
- this.panVless.Controls.Add(this.label10);
- this.panVless.Controls.Add(this.btnGUID5);
- this.panVless.Controls.Add(this.cmbSecurity5);
- this.panVless.Controls.Add(this.label11);
- resources.ApplyResources(this.panVless, "panVless");
- this.panVless.Name = "panVless";
- //
- // label7
- //
- resources.ApplyResources(this.label7, "label7");
- this.label7.Name = "label7";
- //
- // cmbFlow5
- //
- this.cmbFlow5.FormattingEnabled = true;
- resources.ApplyResources(this.cmbFlow5, "cmbFlow5");
- this.cmbFlow5.Name = "cmbFlow5";
- //
- // txtId5
- //
- resources.ApplyResources(this.txtId5, "txtId5");
- this.txtId5.Name = "txtId5";
- //
- // label9
- //
- resources.ApplyResources(this.label9, "label9");
- this.label9.Name = "label9";
- //
- // label10
- //
- resources.ApplyResources(this.label10, "label10");
- this.label10.Name = "label10";
- //
- // btnGUID5
- //
- resources.ApplyResources(this.btnGUID5, "btnGUID5");
- this.btnGUID5.Name = "btnGUID5";
- this.btnGUID5.UseVisualStyleBackColor = true;
- this.btnGUID5.Click += new System.EventHandler(this.btnGUID_Click);
- //
- // cmbSecurity5
- //
- this.cmbSecurity5.DropDownStyle = System.Windows.Forms.ComboBoxStyle.Simple;
- this.cmbSecurity5.FormattingEnabled = true;
- this.cmbSecurity5.Items.AddRange(new object[] {
- resources.GetString("cmbSecurity5.Items")});
- resources.ApplyResources(this.cmbSecurity5, "cmbSecurity5");
- this.cmbSecurity5.Name = "cmbSecurity5";
- //
- // label11
- //
- resources.ApplyResources(this.label11, "label11");
- this.label11.Name = "label11";
- //
- // panVmess
- //
- this.panVmess.Controls.Add(this.label3);
- this.panVmess.Controls.Add(this.txtId);
- this.panVmess.Controls.Add(this.btnGUID);
- this.panVmess.Controls.Add(this.label4);
- this.panVmess.Controls.Add(this.label8);
- this.panVmess.Controls.Add(this.txtAlterId);
- this.panVmess.Controls.Add(this.cmbSecurity);
- this.panVmess.Controls.Add(this.label5);
- resources.ApplyResources(this.panVmess, "panVmess");
- this.panVmess.Name = "panVmess";
- //
- // label3
- //
- resources.ApplyResources(this.label3, "label3");
- this.label3.Name = "label3";
- //
- // txtId
- //
- resources.ApplyResources(this.txtId, "txtId");
- this.txtId.Name = "txtId";
- //
- // btnGUID
- //
- resources.ApplyResources(this.btnGUID, "btnGUID");
- this.btnGUID.Name = "btnGUID";
- this.btnGUID.UseVisualStyleBackColor = true;
- this.btnGUID.Click += new System.EventHandler(this.btnGUID_Click);
- //
- // label4
- //
- resources.ApplyResources(this.label4, "label4");
- this.label4.Name = "label4";
- //
- // label8
- //
- resources.ApplyResources(this.label8, "label8");
- this.label8.Name = "label8";
- //
- // txtAlterId
- //
- resources.ApplyResources(this.txtAlterId, "txtAlterId");
- this.txtAlterId.Name = "txtAlterId";
- //
- // cmbSecurity
- //
- this.cmbSecurity.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cmbSecurity.FormattingEnabled = true;
- resources.ApplyResources(this.cmbSecurity, "cmbSecurity");
- this.cmbSecurity.Name = "cmbSecurity";
- //
- // label5
- //
- resources.ApplyResources(this.label5, "label5");
- this.label5.Name = "label5";
- //
- // panAddr
- //
- this.panAddr.Controls.Add(this.cmbCoreType);
- this.panAddr.Controls.Add(this.labCoreType);
- this.panAddr.Controls.Add(this.label6);
- this.panAddr.Controls.Add(this.label1);
- this.panAddr.Controls.Add(this.txtAddress);
- this.panAddr.Controls.Add(this.label2);
- this.panAddr.Controls.Add(this.txtPort);
- this.panAddr.Controls.Add(this.txtRemarks);
- resources.ApplyResources(this.panAddr, "panAddr");
- this.panAddr.Name = "panAddr";
- //
- // cmbCoreType
- //
- this.cmbCoreType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cmbCoreType.FormattingEnabled = true;
- resources.ApplyResources(this.cmbCoreType, "cmbCoreType");
- this.cmbCoreType.Name = "cmbCoreType";
- //
- // labCoreType
- //
- resources.ApplyResources(this.labCoreType, "labCoreType");
- this.labCoreType.Name = "labCoreType";
- //
- // label6
- //
- resources.ApplyResources(this.label6, "label6");
- this.label6.Name = "label6";
- //
- // label1
- //
- resources.ApplyResources(this.label1, "label1");
- this.label1.Name = "label1";
- //
- // txtAddress
- //
- resources.ApplyResources(this.txtAddress, "txtAddress");
- this.txtAddress.Name = "txtAddress";
- //
- // label2
- //
- resources.ApplyResources(this.label2, "label2");
- this.label2.Name = "label2";
- //
- // txtPort
- //
- resources.ApplyResources(this.txtPort, "txtPort");
- this.txtPort.Name = "txtPort";
- //
- // txtRemarks
- //
- resources.ApplyResources(this.txtRemarks, "txtRemarks");
- this.txtRemarks.Name = "txtRemarks";
- //
- // panBottom
- //
- this.panBottom.Controls.Add(this.btnClose);
- this.panBottom.Controls.Add(this.btnOK);
- resources.ApplyResources(this.panBottom, "panBottom");
- this.panBottom.Name = "panBottom";
- //
- // btnOK
- //
- resources.ApplyResources(this.btnOK, "btnOK");
- this.btnOK.Name = "btnOK";
- this.btnOK.UseVisualStyleBackColor = true;
- this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
- //
- // panTop
- //
- resources.ApplyResources(this.panTop, "panTop");
- this.panTop.Name = "panTop";
- //
- // panTran
- //
- this.panTran.Controls.Add(this.transportControl);
- resources.ApplyResources(this.panTran, "panTran");
- this.panTran.Name = "panTran";
- //
- // transportControl
- //
- this.transportControl.AllowXtls = false;
- resources.ApplyResources(this.transportControl, "transportControl");
- this.transportControl.Name = "transportControl";
- //
- // AddServerForm
- //
- resources.ApplyResources(this, "$this");
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.CancelButton = this.btnClose;
- this.Controls.Add(this.groupBox1);
- this.Controls.Add(this.panTran);
- this.Controls.Add(this.panBottom);
- this.Controls.Add(this.panTop);
- this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
- this.Name = "AddServerForm";
- this.Load += new System.EventHandler(this.AddServerForm_Load);
- this.groupBox1.ResumeLayout(false);
- this.panSocks.ResumeLayout(false);
- this.panSocks.PerformLayout();
- this.panSs.ResumeLayout(false);
- this.panSs.PerformLayout();
- this.panTrojan.ResumeLayout(false);
- this.panTrojan.PerformLayout();
- this.panVless.ResumeLayout(false);
- this.panVless.PerformLayout();
- this.panVmess.ResumeLayout(false);
- this.panVmess.PerformLayout();
- this.panAddr.ResumeLayout(false);
- this.panAddr.PerformLayout();
- this.panBottom.ResumeLayout(false);
- this.panTran.ResumeLayout(false);
- this.ResumeLayout(false);
-
- }
-
- #endregion
-
- private System.Windows.Forms.GroupBox groupBox1;
- private System.Windows.Forms.Button btnClose;
- private System.Windows.Forms.Button btnOK;
- private System.Windows.Forms.TextBox txtRemarks;
- private System.Windows.Forms.Label label6;
- private System.Windows.Forms.Label label5;
- private System.Windows.Forms.TextBox txtAlterId;
- private System.Windows.Forms.Label label4;
- private System.Windows.Forms.TextBox txtId;
- private System.Windows.Forms.Label label3;
- private System.Windows.Forms.TextBox txtPort;
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.TextBox txtAddress;
- private System.Windows.Forms.Label label1;
- private System.Windows.Forms.ComboBox cmbSecurity;
- private System.Windows.Forms.Label label8;
- private System.Windows.Forms.Panel panTop;
- private System.Windows.Forms.Panel panBottom;
- private System.Windows.Forms.Button btnGUID;
- private System.Windows.Forms.Panel panTran;
- private ServerTransportControl transportControl;
- private System.Windows.Forms.Panel panAddr;
- private System.Windows.Forms.Panel panVmess;
- private System.Windows.Forms.Panel panVless;
- private System.Windows.Forms.Label label7;
- private System.Windows.Forms.ComboBox cmbFlow5;
- private System.Windows.Forms.TextBox txtId5;
- private System.Windows.Forms.Label label9;
- private System.Windows.Forms.Label label10;
- private System.Windows.Forms.Button btnGUID5;
- private System.Windows.Forms.ComboBox cmbSecurity5;
- private System.Windows.Forms.Label label11;
- private System.Windows.Forms.Panel panTrojan;
- private System.Windows.Forms.Label label12;
- private System.Windows.Forms.ComboBox cmbFlow6;
- private System.Windows.Forms.TextBox txtId6;
- private System.Windows.Forms.Label label14;
- private System.Windows.Forms.Panel panSs;
- private System.Windows.Forms.TextBox txtId3;
- private System.Windows.Forms.Label label15;
- private System.Windows.Forms.ComboBox cmbSecurity3;
- private System.Windows.Forms.Label label16;
- private System.Windows.Forms.Panel panSocks;
- private System.Windows.Forms.Label label17;
- private System.Windows.Forms.TextBox txtSecurity4;
- private System.Windows.Forms.Label label18;
- private System.Windows.Forms.TextBox txtId4;
- private System.Windows.Forms.ComboBox cmbCoreType;
- private System.Windows.Forms.Label labCoreType;
- }
-}
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/AddServerForm.cs b/v2rayN/v2rayN/Forms/AddServerForm.cs
deleted file mode 100644
index c0f4459f..00000000
--- a/v2rayN/v2rayN/Forms/AddServerForm.cs
+++ /dev/null
@@ -1,285 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Windows.Forms;
-using v2rayN.Handler;
-using v2rayN.Mode;
-using v2rayN.Resx;
-
-namespace v2rayN.Forms
-{
- public partial class AddServerForm : BaseServerForm
- {
- public AddServerForm()
- {
- InitializeComponent();
- }
-
- private void AddServerForm_Load(object sender, EventArgs e)
- {
- Text = (eConfigType).ToString();
-
- cmbCoreType.Items.AddRange(Global.coreTypes.ToArray());
- cmbCoreType.Items.Add(string.Empty);
-
- switch (eConfigType)
- {
- case EConfigType.VMess:
- panVmess.Dock = DockStyle.Fill;
- panVmess.Visible = true;
-
- cmbSecurity.Items.AddRange(Global.vmessSecuritys.ToArray());
- break;
- case EConfigType.Shadowsocks:
- panSs.Dock = DockStyle.Fill;
- panSs.Visible = true;
- //panTran.Visible = false;
- //this.Height = this.Height - panTran.Height;
-
- cmbSecurity3.Items.AddRange(LazyConfig.Instance.GetShadowsocksSecuritys(vmessItem).ToArray());
- break;
- case EConfigType.Socks:
- panSocks.Dock = DockStyle.Fill;
- panSocks.Visible = true;
- panTran.Visible = false;
- Height = Height - panTran.Height;
- break;
- case EConfigType.VLESS:
- panVless.Dock = DockStyle.Fill;
- panVless.Visible = true;
- transportControl.AllowXtls = true;
-
- cmbFlow5.Items.AddRange(Global.xtlsFlows.ToArray());
- break;
- case EConfigType.Trojan:
- panTrojan.Dock = DockStyle.Fill;
- panTrojan.Visible = true;
- transportControl.AllowXtls = true;
-
- cmbFlow6.Items.AddRange(Global.xtlsFlows.ToArray());
- break;
- }
-
- if (vmessItem != null)
- {
- BindingServer();
- }
- else
- {
- vmessItem = new VmessItem
- {
- groupId = groupId
- };
- ClearServer();
- }
- }
-
- ///
- /// 绑定数据
- ///
- private void BindingServer()
- {
- txtRemarks.Text = vmessItem.remarks;
- txtAddress.Text = vmessItem.address;
- txtPort.Text = vmessItem.port.ToString();
-
- switch (eConfigType)
- {
- case EConfigType.VMess:
- txtId.Text = vmessItem.id;
- txtAlterId.Text = vmessItem.alterId.ToString();
- cmbSecurity.Text = vmessItem.security;
- break;
- case EConfigType.Shadowsocks:
- txtId3.Text = vmessItem.id;
- cmbSecurity3.Text = vmessItem.security;
- break;
- case EConfigType.Socks:
- txtId4.Text = vmessItem.id;
- txtSecurity4.Text = vmessItem.security;
- break;
- case EConfigType.VLESS:
- txtId5.Text = vmessItem.id;
- cmbFlow5.Text = vmessItem.flow;
- cmbSecurity5.Text = vmessItem.security;
- break;
- case EConfigType.Trojan:
- txtId6.Text = vmessItem.id;
- cmbFlow6.Text = vmessItem.flow;
- break;
- }
-
- cmbCoreType.Text = vmessItem.coreType == null ? string.Empty : vmessItem.coreType.ToString();
-
- transportControl.BindingServer(vmessItem);
- }
-
- ///
- /// 清除设置
- ///
- private void ClearServer()
- {
- txtRemarks.Text = "";
- txtAddress.Text = "";
- txtPort.Text = "";
-
- switch (eConfigType)
- {
- case EConfigType.VMess:
- txtId.Text = "";
- txtAlterId.Text = "0";
- cmbSecurity.Text = Global.DefaultSecurity;
- break;
- case EConfigType.Shadowsocks:
- txtId3.Text = "";
- cmbSecurity3.Text = Global.DefaultSecurity;
- break;
- case EConfigType.Socks:
- txtId4.Text = "";
- txtSecurity4.Text = "";
- break;
- case EConfigType.VLESS:
- txtId5.Text = "";
- cmbFlow5.Text = "";
- cmbSecurity5.Text = Global.None;
- break;
- case EConfigType.Trojan:
- txtId6.Text = "";
- cmbFlow6.Text = "";
- break;
- }
-
- transportControl.ClearServer(vmessItem);
- }
-
- private void btnOK_Click(object sender, EventArgs e)
- {
- string remarks = txtRemarks.Text;
- string address = txtAddress.Text;
- string port = txtPort.Text;
-
- string id = string.Empty;
- string alterId = string.Empty;
- string security = string.Empty;
- string flow = string.Empty;
-
- switch (eConfigType)
- {
- case EConfigType.VMess:
- id = txtId.Text;
- alterId = txtAlterId.Text;
- security = cmbSecurity.Text;
- break;
- case EConfigType.Shadowsocks:
- id = txtId3.Text;
- security = cmbSecurity3.Text;
- break;
- case EConfigType.Socks:
- id = txtId4.Text;
- security = txtSecurity4.Text;
- break;
- case EConfigType.VLESS:
- id = txtId5.Text;
- flow = cmbFlow5.Text;
- security = cmbSecurity5.Text;
- break;
- case EConfigType.Trojan:
- id = txtId6.Text;
- flow = cmbFlow6.Text;
- break;
- }
-
- if (Utils.IsNullOrEmpty(address))
- {
- UI.Show(ResUI.FillServerAddress);
- return;
- }
- if (Utils.IsNullOrEmpty(port) || !Utils.IsNumberic(port))
- {
- UI.Show(ResUI.FillCorrectServerPort);
- return;
- }
- if (eConfigType == EConfigType.Shadowsocks)
- {
- if (Utils.IsNullOrEmpty(id))
- {
- UI.Show(ResUI.FillPassword);
- return;
- }
- if (Utils.IsNullOrEmpty(security))
- {
- UI.Show(ResUI.PleaseSelectEncryption);
- return;
- }
- }
- if (eConfigType != EConfigType.Socks)
- {
- if (Utils.IsNullOrEmpty(id))
- {
- UI.Show(ResUI.FillUUID);
- return;
- }
- }
-
- transportControl.EndBindingServer();
-
- vmessItem.remarks = remarks;
- vmessItem.address = address;
- vmessItem.port = Utils.ToInt(port);
- vmessItem.id = id;
- vmessItem.alterId = Utils.ToInt(alterId);
- vmessItem.security = security;
-
- if (Utils.IsNullOrEmpty(cmbCoreType.Text))
- {
- vmessItem.coreType = null;
- }
- else
- {
- vmessItem.coreType = (ECoreType)Enum.Parse(typeof(ECoreType), cmbCoreType.Text);
- }
-
- int ret = -1;
- switch (eConfigType)
- {
- case EConfigType.VMess:
- ret = ConfigHandler.AddServer(ref config, vmessItem);
- break;
- case EConfigType.Shadowsocks:
- ret = ConfigHandler.AddShadowsocksServer(ref config, vmessItem);
- break;
- case EConfigType.Socks:
- ret = ConfigHandler.AddSocksServer(ref config, vmessItem);
- break;
- case EConfigType.VLESS:
- vmessItem.flow = flow;
- ret = ConfigHandler.AddVlessServer(ref config, vmessItem);
- break;
- case EConfigType.Trojan:
- vmessItem.flow = flow;
- ret = ConfigHandler.AddTrojanServer(ref config, vmessItem);
- break;
- }
-
- if (ret == 0)
- {
- DialogResult = DialogResult.OK;
- }
- else
- {
- UI.ShowWarning(ResUI.OperationFailed);
- }
-
- }
-
- private void btnGUID_Click(object sender, EventArgs e)
- {
- txtId.Text =
- txtId5.Text = Utils.GetGUID();
- }
-
- private void btnClose_Click(object sender, EventArgs e)
- {
- DialogResult = DialogResult.Cancel;
- }
- }
-}
diff --git a/v2rayN/v2rayN/Forms/AddServerForm.resx b/v2rayN/v2rayN/Forms/AddServerForm.resx
deleted file mode 100644
index e3643990..00000000
--- a/v2rayN/v2rayN/Forms/AddServerForm.resx
+++ /dev/null
@@ -1,1812 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
- 396, 17
-
-
- 75, 23
-
-
-
- 4
-
-
- &Cancel
-
-
- btnClose
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panBottom
-
-
- 0
-
-
- label17
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panSocks
-
-
- 0
-
-
- txtSecurity4
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panSocks
-
-
- 1
-
-
- label18
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panSocks
-
-
- 2
-
-
- txtId4
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panSocks
-
-
- 3
-
-
- 303, 163
-
-
- 82, 39
-
-
- 31
-
-
- False
-
-
- panSocks
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 0
-
-
- txtId3
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panSs
-
-
- 0
-
-
- label15
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panSs
-
-
- 1
-
-
- cmbSecurity3
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panSs
-
-
- 2
-
-
- label16
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panSs
-
-
- 3
-
-
- 142, 163
-
-
- 82, 39
-
-
- 30
-
-
- False
-
-
- panSs
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 1
-
-
- label12
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panTrojan
-
-
- 0
-
-
- cmbFlow6
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panTrojan
-
-
- 1
-
-
- txtId6
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panTrojan
-
-
- 2
-
-
- label14
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panTrojan
-
-
- 3
-
-
- 534, 163
-
-
- 82, 39
-
-
- 29
-
-
- False
-
-
- panTrojan
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 2
-
-
- label7
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panVless
-
-
- 0
-
-
- cmbFlow5
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panVless
-
-
- 1
-
-
- txtId5
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panVless
-
-
- 2
-
-
- label9
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panVless
-
-
- 3
-
-
- label10
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panVless
-
-
- 4
-
-
- btnGUID5
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panVless
-
-
- 5
-
-
- cmbSecurity5
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panVless
-
-
- 6
-
-
- label11
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panVless
-
-
- 7
-
-
- 396, 166
-
-
- 92, 36
-
-
- 27
-
-
- False
-
-
- panVless
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 3
-
-
- label3
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panVmess
-
-
- 0
-
-
- txtId
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panVmess
-
-
- 1
-
-
- btnGUID
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panVmess
-
-
- 2
-
-
- label4
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panVmess
-
-
- 3
-
-
- label8
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panVmess
-
-
- 4
-
-
- txtAlterId
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panVmess
-
-
- 5
-
-
- cmbSecurity
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panVmess
-
-
- 6
-
-
- label5
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panVmess
-
-
- 7
-
-
- 16, 163
-
-
- 82, 39
-
-
- 25
-
-
- False
-
-
- panVmess
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 4
-
-
- cmbCoreType
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panAddr
-
-
- 0
-
-
- labCoreType
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panAddr
-
-
- 1
-
-
- label6
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panAddr
-
-
- 2
-
-
- label1
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panAddr
-
-
- 3
-
-
- txtAddress
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panAddr
-
-
- 4
-
-
- label2
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panAddr
-
-
- 5
-
-
- txtPort
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panAddr
-
-
- 6
-
-
- txtRemarks
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panAddr
-
-
- 7
-
-
-
- Top
-
-
- 3, 17
-
-
- 723, 100
-
-
- 24
-
-
- panAddr
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 5
-
-
- Fill
-
-
- 0, 10
-
-
- 729, 226
-
-
- 3
-
-
- Server
-
-
- groupBox1
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 0
-
-
- True
-
-
- NoControl
-
-
- 11, 11
-
-
- 89, 12
-
-
- 25
-
-
- User(Optional)
-
-
- label17
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panSocks
-
-
- 0
-
-
- 126, 7
-
-
- 278, 21
-
-
- 2
-
-
- txtSecurity4
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panSocks
-
-
- 1
-
-
- True
-
-
- NoControl
-
-
- 11, 42
-
-
- 113, 12
-
-
- 23
-
-
- Password(Optional)
-
-
- label18
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panSocks
-
-
- 2
-
-
- 126, 38
-
-
- 278, 21
-
-
- 3
-
-
- txtId4
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panSocks
-
-
- 3
-
-
- 126, 7
-
-
- 278, 21
-
-
- 2
-
-
- txtId3
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panSs
-
-
- 0
-
-
- True
-
-
- NoControl
-
-
- 11, 9
-
-
- 53, 12
-
-
- 4
-
-
- Password
-
-
- label15
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panSs
-
-
- 1
-
-
- 126, 39
-
-
- 278, 20
-
-
- 3
-
-
- cmbSecurity3
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panSs
-
-
- 2
-
-
- True
-
-
- NoControl
-
-
- 11, 40
-
-
- 65, 12
-
-
- 8
-
-
- Encryption
-
-
- label16
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panSs
-
-
- 3
-
-
- True
-
-
- NoControl
-
-
- 12, 9
-
-
- 53, 12
-
-
- 4
-
-
- Password
-
-
- label12
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panTrojan
-
-
- 0
-
-
- 127, 39
-
-
- 211, 20
-
-
- 3
-
-
- cmbFlow6
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panTrojan
-
-
- 1
-
-
- 127, 7
-
-
- 265, 21
-
-
- 2
-
-
- txtId6
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panTrojan
-
-
- 2
-
-
- True
-
-
- NoControl
-
-
- 12, 43
-
-
- 29, 12
-
-
- 27
-
-
- Flow
-
-
- label14
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panTrojan
-
-
- 3
-
-
- True
-
-
- NoControl
-
-
- 11, 11
-
-
- 53, 12
-
-
- 4
-
-
- UUID(id)
-
-
- label7
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panVless
-
-
- 0
-
-
- 126, 39
-
-
- 211, 20
-
-
- 3
-
-
- cmbFlow5
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panVless
-
-
- 1
-
-
- 126, 7
-
-
- 278, 21
-
-
- 2
-
-
- txtId5
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panVless
-
-
- 2
-
-
- True
-
-
- NoControl
-
-
- 11, 43
-
-
- 29, 12
-
-
- 25
-
-
- Flow
-
-
- label9
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panVless
-
-
- 3
-
-
- True
-
-
- NoControl
-
-
- 11, 74
-
-
- 65, 12
-
-
- 8
-
-
- Encryption
-
-
- label10
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panVless
-
-
- 4
-
-
- NoControl
-
-
- 410, 7
-
-
- 75, 23
-
-
- 23
-
-
- Generate
-
-
- btnGUID5
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panVless
-
-
- 5
-
-
- none
-
-
- 126, 70
-
-
- 211, 20
-
-
- 4
-
-
- cmbSecurity5
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panVless
-
-
- 6
-
-
- True
-
-
- NoControl
-
-
- 352, 73
-
-
- 119, 12
-
-
- 14
-
-
- *Recommended (none)
-
-
- label11
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panVless
-
-
- 7
-
-
- True
-
-
- 11, 11
-
-
- 53, 12
-
-
- 4
-
-
- UUID(id)
-
-
- label3
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panVmess
-
-
- 0
-
-
- 126, 7
-
-
- 278, 21
-
-
- 2
-
-
- txtId
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panVmess
-
-
- 1
-
-
- 410, 5
-
-
- 75, 23
-
-
- 23
-
-
- &Generate
-
-
- btnGUID
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panVmess
-
-
- 2
-
-
- True
-
-
- 11, 40
-
-
- 47, 12
-
-
- 6
-
-
- AlterId
-
-
- label4
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panVmess
-
-
- 3
-
-
- True
-
-
- 410, 69
-
-
- 119, 12
-
-
- 14
-
-
- *Recommended (auto)
-
-
- label8
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panVmess
-
-
- 4
-
-
- 126, 36
-
-
- 143, 21
-
-
- 3
-
-
- txtAlterId
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panVmess
-
-
- 5
-
-
- 194, 65
-
-
- 210, 20
-
-
- 4
-
-
- cmbSecurity
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panVmess
-
-
- 6
-
-
- True
-
-
- 11, 69
-
-
- 173, 12
-
-
- 8
-
-
- Encryption method (security)
-
-
- label5
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panVmess
-
-
- 7
-
-
- 625, 8
-
-
- 89, 20
-
-
- 38
-
-
- cmbCoreType
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panAddr
-
-
- 0
-
-
- True
-
-
- NoControl
-
-
- 553, 12
-
-
- 59, 12
-
-
- 39
-
-
- Core Type
-
-
- labCoreType
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panAddr
-
-
- 1
-
-
- True
-
-
- 11, 12
-
-
- 95, 12
-
-
- 10
-
-
- Alias (remarks)
-
-
- label6
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panAddr
-
-
- 2
-
-
- True
-
-
- 11, 43
-
-
- 47, 12
-
-
- 0
-
-
- Address
-
-
- label1
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panAddr
-
-
- 3
-
-
- 126, 39
-
-
- 359, 21
-
-
- 1
-
-
- txtAddress
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panAddr
-
-
- 4
-
-
- True
-
-
- 11, 72
-
-
- 29, 12
-
-
- 2
-
-
- Port
-
-
- label2
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panAddr
-
-
- 5
-
-
- 126, 68
-
-
- 143, 21
-
-
- 2
-
-
- txtPort
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panAddr
-
-
- 6
-
-
- 126, 8
-
-
- 278, 21
-
-
- 0
-
-
- txtRemarks
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panAddr
-
-
- 7
-
-
- btnOK
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panBottom
-
-
- 1
-
-
- Bottom
-
-
- 0, 501
-
-
- 729, 60
-
-
- 7
-
-
- panBottom
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 2
-
-
- 303, 17
-
-
- 75, 23
-
-
- 5
-
-
- &OK
-
-
- btnOK
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panBottom
-
-
- 1
-
-
- Top
-
-
- 0, 0
-
-
- 729, 10
-
-
- 6
-
-
- panTop
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 3
-
-
- Fill
-
-
- 0, 0
-
-
- 729, 265
-
-
- 0
-
-
- transportControl
-
-
- v2rayN.Forms.ServerTransportControl, v2rayN, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
-
-
- panTran
-
-
- 0
-
-
- Bottom
-
-
- 0, 236
-
-
- 729, 265
-
-
- 9
-
-
- panTran
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 1
-
-
- True
-
-
- 25
-
-
- 6, 12
-
-
- 729, 561
-
-
- Edit or add a [VMess] server
-
-
- AddServerForm
-
-
- v2rayN.Forms.BaseServerForm, v2rayN, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/AddServerForm.zh-Hans.resx b/v2rayN/v2rayN/Forms/AddServerForm.zh-Hans.resx
deleted file mode 100644
index b9c81218..00000000
--- a/v2rayN/v2rayN/Forms/AddServerForm.zh-Hans.resx
+++ /dev/null
@@ -1,275 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 取消(&C)
-
-
- 服务器
-
-
-
- None
-
-
-
- 270, 156
-
-
- 115, 61
-
-
- 77, 12
-
-
- 用户名(可选)
-
-
- 65, 12
-
-
- 密码(可选)
-
-
- None
-
-
- 142, 147
-
-
- 137, 78
-
-
- 89, 12
-
-
- 密码(password)
-
-
- 125, 12
-
-
- 加密方式(encryption)
-
-
- 89, 12
-
-
- 密码(password)
-
-
- 65, 12
-
-
- 流控(flow)
-
-
- 110, 52
-
-
- 65, 12
-
-
- 用户ID(id)
-
-
- 65, 12
-
-
- 流控(flow)
-
-
- 101, 12
-
-
- 加密(encryption)
-
-
- 生成
-
-
- 71, 12
-
-
- *非空(none)
-
-
- 65, 12
-
-
- 用户ID(id)
-
-
- 生成(&G)
-
-
- 95, 12
-
-
- 额外ID(alterId)
-
-
- 113, 12
-
-
- *随便选,建议(auto)
-
-
- 126, 65
-
-
- 211, 20
-
-
- 113, 12
-
-
- 加密方式(security)
-
-
- 83, 12
-
-
- 别名(remarks)
-
-
- 83, 12
-
-
- 地址(address)
-
-
- 65, 12
-
-
- 端口(port)
-
-
- 确定(&O)
-
-
- 编辑或添加[VMess]服务器
-
-
- 生成
-
-
- Core类型
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/BaseForm.Designer.cs b/v2rayN/v2rayN/Forms/BaseForm.Designer.cs
deleted file mode 100644
index f23103bb..00000000
--- a/v2rayN/v2rayN/Forms/BaseForm.Designer.cs
+++ /dev/null
@@ -1,51 +0,0 @@
-namespace v2rayN.Forms
-{
- partial class BaseForm
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(BaseForm));
- this.SuspendLayout();
- //
- // BaseForm
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(292, 273);
- this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
- this.MaximizeBox = false;
- this.MinimizeBox = false;
- this.Name = "BaseForm";
- this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
- this.Text = "BaseForm";
- this.ResumeLayout(false);
-
- }
-
- #endregion
- }
-}
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/BaseForm.cs b/v2rayN/v2rayN/Forms/BaseForm.cs
deleted file mode 100644
index a307c13a..00000000
--- a/v2rayN/v2rayN/Forms/BaseForm.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-using System;
-using System.Windows.Forms;
-using v2rayN.Mode;
-
-namespace v2rayN.Forms
-{
- public partial class BaseForm : Form
- {
- protected static Config config;
-
- public BaseForm()
- {
- InitializeComponent();
- LoadCustomIcon();
- }
-
- private void LoadCustomIcon()
- {
- try
- {
- string file = Utils.GetPath(Global.CustomIconName);
- if (System.IO.File.Exists(file))
- {
- Icon = new System.Drawing.Icon(file);
- return;
- }
-
- Icon = Properties.Resources.NotifyIcon1;
- }
- catch (Exception e)
- {
- Utils.SaveLog($"Loading custom icon failed: {e.Message}");
- }
- }
-
- }
-}
diff --git a/v2rayN/v2rayN/Forms/BaseForm.resx b/v2rayN/v2rayN/Forms/BaseForm.resx
deleted file mode 100644
index 1af7de15..00000000
--- a/v2rayN/v2rayN/Forms/BaseForm.resx
+++ /dev/null
@@ -1,120 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/BaseServerForm.Designer.cs b/v2rayN/v2rayN/Forms/BaseServerForm.Designer.cs
deleted file mode 100644
index 4a9b49d4..00000000
--- a/v2rayN/v2rayN/Forms/BaseServerForm.Designer.cs
+++ /dev/null
@@ -1,50 +0,0 @@
-namespace v2rayN.Forms
-{
- partial class BaseServerForm
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(BaseServerForm));
- this.SuspendLayout();
- //
- // BaseServerForm
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(292, 273);
- this.MaximizeBox = false;
- this.MinimizeBox = false;
- this.Name = "BaseServerForm";
- this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
- this.Text = "BaseServerForm";
- this.ResumeLayout(false);
-
- }
-
- #endregion
- }
-}
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/BaseServerForm.cs b/v2rayN/v2rayN/Forms/BaseServerForm.cs
deleted file mode 100644
index 9618c480..00000000
--- a/v2rayN/v2rayN/Forms/BaseServerForm.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-using System;
-using System.Windows.Forms;
-using v2rayN.Mode;
-
-namespace v2rayN.Forms
-{
- public partial class BaseServerForm : BaseForm
- {
- public VmessItem vmessItem = null;
- public string groupId;
- public EConfigType eConfigType;
-
- public BaseServerForm()
- {
- InitializeComponent();
- }
-
- }
-}
diff --git a/v2rayN/v2rayN/Forms/BaseServerForm.resx b/v2rayN/v2rayN/Forms/BaseServerForm.resx
deleted file mode 100644
index c5e46818..00000000
--- a/v2rayN/v2rayN/Forms/BaseServerForm.resx
+++ /dev/null
@@ -1,121 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.Designer.cs b/v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.Designer.cs
deleted file mode 100644
index ba25fdee..00000000
--- a/v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.Designer.cs
+++ /dev/null
@@ -1,186 +0,0 @@
-namespace v2rayN.Forms
-{
- partial class GlobalHotkeySettingForm
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(GlobalHotkeySettingForm));
- this.btnClose = new System.Windows.Forms.Button();
- this.panel2 = new System.Windows.Forms.Panel();
- this.btnReset = new System.Windows.Forms.Button();
- this.btnOK = new System.Windows.Forms.Button();
- this.panel1 = new System.Windows.Forms.Panel();
- this.label6 = new System.Windows.Forms.Label();
- this.label5 = new System.Windows.Forms.Label();
- this.txtGlobalHotkey3 = new System.Windows.Forms.TextBox();
- this.label4 = new System.Windows.Forms.Label();
- this.txtGlobalHotkey2 = new System.Windows.Forms.TextBox();
- this.label3 = new System.Windows.Forms.Label();
- this.txtGlobalHotkey1 = new System.Windows.Forms.TextBox();
- this.label1 = new System.Windows.Forms.Label();
- this.txtGlobalHotkey0 = new System.Windows.Forms.TextBox();
- this.label2 = new System.Windows.Forms.Label();
- this.panel2.SuspendLayout();
- this.panel1.SuspendLayout();
- this.SuspendLayout();
- //
- // btnClose
- //
- resources.ApplyResources(this.btnClose, "btnClose");
- this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
- this.btnClose.Name = "btnClose";
- this.btnClose.UseVisualStyleBackColor = true;
- this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
- //
- // panel2
- //
- resources.ApplyResources(this.panel2, "panel2");
- this.panel2.Controls.Add(this.btnReset);
- this.panel2.Controls.Add(this.btnClose);
- this.panel2.Controls.Add(this.btnOK);
- this.panel2.Name = "panel2";
- //
- // btnReset
- //
- resources.ApplyResources(this.btnReset, "btnReset");
- this.btnReset.Name = "btnReset";
- this.btnReset.UseVisualStyleBackColor = true;
- this.btnReset.Click += new System.EventHandler(this.btnReset_Click);
- //
- // btnOK
- //
- resources.ApplyResources(this.btnOK, "btnOK");
- this.btnOK.Name = "btnOK";
- this.btnOK.UseVisualStyleBackColor = true;
- this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
- //
- // panel1
- //
- resources.ApplyResources(this.panel1, "panel1");
- this.panel1.Controls.Add(this.label6);
- this.panel1.Controls.Add(this.label5);
- this.panel1.Controls.Add(this.txtGlobalHotkey3);
- this.panel1.Controls.Add(this.label4);
- this.panel1.Controls.Add(this.txtGlobalHotkey2);
- this.panel1.Controls.Add(this.label3);
- this.panel1.Controls.Add(this.txtGlobalHotkey1);
- this.panel1.Controls.Add(this.label1);
- this.panel1.Controls.Add(this.txtGlobalHotkey0);
- this.panel1.Controls.Add(this.label2);
- this.panel1.Name = "panel1";
- //
- // label6
- //
- resources.ApplyResources(this.label6, "label6");
- this.label6.ForeColor = System.Drawing.Color.Red;
- this.label6.Name = "label6";
- //
- // label5
- //
- resources.ApplyResources(this.label5, "label5");
- this.label5.ForeColor = System.Drawing.Color.Red;
- this.label5.Name = "label5";
- //
- // txtGlobalHotkey3
- //
- resources.ApplyResources(this.txtGlobalHotkey3, "txtGlobalHotkey3");
- this.txtGlobalHotkey3.Name = "txtGlobalHotkey3";
- this.txtGlobalHotkey3.ReadOnly = true;
- //
- // label4
- //
- resources.ApplyResources(this.label4, "label4");
- this.label4.Name = "label4";
- //
- // txtGlobalHotkey2
- //
- resources.ApplyResources(this.txtGlobalHotkey2, "txtGlobalHotkey2");
- this.txtGlobalHotkey2.Name = "txtGlobalHotkey2";
- this.txtGlobalHotkey2.ReadOnly = true;
- //
- // label3
- //
- resources.ApplyResources(this.label3, "label3");
- this.label3.Name = "label3";
- //
- // txtGlobalHotkey1
- //
- resources.ApplyResources(this.txtGlobalHotkey1, "txtGlobalHotkey1");
- this.txtGlobalHotkey1.Name = "txtGlobalHotkey1";
- this.txtGlobalHotkey1.ReadOnly = true;
- //
- // label1
- //
- resources.ApplyResources(this.label1, "label1");
- this.label1.Name = "label1";
- //
- // txtGlobalHotkey0
- //
- resources.ApplyResources(this.txtGlobalHotkey0, "txtGlobalHotkey0");
- this.txtGlobalHotkey0.Name = "txtGlobalHotkey0";
- this.txtGlobalHotkey0.ReadOnly = true;
- //
- // label2
- //
- resources.ApplyResources(this.label2, "label2");
- this.label2.Name = "label2";
- //
- // GlobalHotkeySettingForm
- //
- resources.ApplyResources(this, "$this");
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.CancelButton = this.btnClose;
- this.Controls.Add(this.panel1);
- this.Controls.Add(this.panel2);
- this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
- this.Name = "GlobalHotkeySettingForm";
- this.Load += new System.EventHandler(this.GlobalHotkeySettingForm_Load);
- this.panel2.ResumeLayout(false);
- this.panel1.ResumeLayout(false);
- this.panel1.PerformLayout();
- this.ResumeLayout(false);
-
- }
-
- #endregion
- private System.Windows.Forms.Button btnClose;
- private System.Windows.Forms.Button btnOK;
- private System.Windows.Forms.Panel panel2;
- private System.Windows.Forms.Panel panel1;
- private System.Windows.Forms.TextBox txtGlobalHotkey0;
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.TextBox txtGlobalHotkey3;
- private System.Windows.Forms.Label label4;
- private System.Windows.Forms.TextBox txtGlobalHotkey2;
- private System.Windows.Forms.Label label3;
- private System.Windows.Forms.TextBox txtGlobalHotkey1;
- private System.Windows.Forms.Label label1;
- private System.Windows.Forms.Label label5;
- private System.Windows.Forms.Button btnReset;
- private System.Windows.Forms.Label label6;
- }
-}
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.resx b/v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.resx
deleted file mode 100644
index 62c49a4f..00000000
--- a/v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.resx
+++ /dev/null
@@ -1,537 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Clear system proxy
-
-
-
- NoControl
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Bottom
-
-
- 1
-
-
-
- 75, 23
-
-
- panel2
-
-
- panel1
-
-
- &Reset
-
-
-
- True
-
-
- 0
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- NoControl
-
-
- btnOK
-
-
- panel2
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 5
-
-
- GlobalHotkeySettingForm
-
-
- label1
-
-
- 189, 138
-
-
- 34
-
-
- 37
-
-
- panel2
-
-
- 18, 215
-
-
- 6
-
-
- 101, 12
-
-
- 8
-
-
- 75, 23
-
-
- NoControl
-
-
- NoControl
-
-
- Take effect after restart
-
-
- 278, 21
-
-
- 189, 18
-
-
- 11
-
-
- 7
-
-
- panel1
-
-
- 18, 103
-
-
- 18, 190
-
-
- panel1
-
-
- 278, 21
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 527, 60
-
-
- 113, 12
-
-
- 32
-
-
- txtGlobalHotkey2
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- label5
-
-
- 527, 242
-
-
- 211, 17
-
-
- 9
-
-
- 40
-
-
- 71, 12
-
-
- panel1
-
-
- panel1
-
-
- 75, 23
-
-
- 1
-
-
- panel1
-
-
- 18, 22
-
-
- label4
-
-
- txtGlobalHotkey1
-
-
- 33
-
-
- Do not change system proxy
-
-
- Set system proxy
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- NoControl
-
-
- txtGlobalHotkey0
-
-
- 39
-
-
- btnClose
-
-
- 303, 17
-
-
- 0, 242
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel1
-
-
- Fill
-
-
- 3
-
-
- btnReset
-
-
- 6, 12
-
-
- 6
-
-
- 189, 58
-
-
- 0
-
-
- 7
-
-
- panel1
-
-
- NoControl
-
-
- 36
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- True
-
-
- 31
-
-
- NoControl
-
-
- True
-
-
- 278, 21
-
-
- True
-
-
- NoControl
-
-
- 189, 99
-
-
- label2
-
-
- label3
-
-
- True
-
-
- Set directly by pressing the keyboard
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 0
-
-
- &Cancel
-
-
- 18, 62
-
-
- &OK
-
-
- 1
-
-
- Display GUI
-
-
- 35
-
-
- NoControl
-
-
- True
-
-
- panel1
-
-
- 18, 142
-
-
- 2
-
-
- $this
-
-
- 161, 12
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 227, 12
-
-
- v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
-
-
- 0, 0
-
-
- panel2
-
-
- 4
-
-
- 155, 12
-
-
- GlobalHotkey Setting
-
-
- 2
-
-
- 5
-
-
- 527, 302
-
-
- 4
-
-
- 38
-
-
- txtGlobalHotkey3
-
-
- 278, 21
-
-
- $this
-
-
- 396, 17
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- label6
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel1
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel1
-
-
- True
-
-
- 25
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.zh-Hans.resx b/v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.zh-Hans.resx
deleted file mode 100644
index 06a7a69c..00000000
--- a/v2rayN/v2rayN/Forms/GlobalHotkeySettingForm.zh-Hans.resx
+++ /dev/null
@@ -1,166 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 取消(&C)
-
-
- 重置(&R)
-
-
- 确定(&O)
-
-
-
- 65, 12
-
-
- 重启后生效
-
-
- 113, 12
-
-
- 直接按键盘进行设置
-
-
- 89, 12
-
-
- 不改变系统代理
-
-
- 自动配置系统代理
-
-
- 77, 12
-
-
- 清除系统代理
-
-
- 65, 12
-
-
- 显示主界面
-
-
- 全局热键设置
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/GroupSettingControl.Designer.cs b/v2rayN/v2rayN/Forms/GroupSettingControl.Designer.cs
deleted file mode 100644
index 9dfcc635..00000000
--- a/v2rayN/v2rayN/Forms/GroupSettingControl.Designer.cs
+++ /dev/null
@@ -1,105 +0,0 @@
-namespace v2rayN.Forms
-{
- partial class GroupSettingControl
- {
- ///
- /// 必需的设计器变量。
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// 清理所有正在使用的资源。
- ///
- /// 如果应释放托管资源,为 true;否则为 false。
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region 组件设计器生成的代码
-
- ///
- /// 设计器支持所需的方法 - 不要修改
- /// 使用代码编辑器修改此方法的内容。
- ///
- private void InitializeComponent()
- {
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(GroupSettingControl));
- this.grbMain = new System.Windows.Forms.GroupBox();
- this.btnRemove = new System.Windows.Forms.Button();
- this.txtRemarks = new System.Windows.Forms.TextBox();
- this.label2 = new System.Windows.Forms.Label();
- this.numSort = new System.Windows.Forms.NumericUpDown();
- this.label1 = new System.Windows.Forms.Label();
- this.grbMain.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.numSort)).BeginInit();
- this.SuspendLayout();
- //
- // grbMain
- //
- this.grbMain.Controls.Add(this.label1);
- this.grbMain.Controls.Add(this.numSort);
- this.grbMain.Controls.Add(this.btnRemove);
- this.grbMain.Controls.Add(this.txtRemarks);
- this.grbMain.Controls.Add(this.label2);
- resources.ApplyResources(this.grbMain, "grbMain");
- this.grbMain.Name = "grbMain";
- this.grbMain.TabStop = false;
- //
- // btnRemove
- //
- resources.ApplyResources(this.btnRemove, "btnRemove");
- this.btnRemove.Name = "btnRemove";
- this.btnRemove.UseVisualStyleBackColor = true;
- this.btnRemove.Click += new System.EventHandler(this.btnRemove_Click);
- //
- // txtRemarks
- //
- resources.ApplyResources(this.txtRemarks, "txtRemarks");
- this.txtRemarks.Name = "txtRemarks";
- this.txtRemarks.Leave += new System.EventHandler(this.txtRemarks_Leave);
- //
- // label2
- //
- resources.ApplyResources(this.label2, "label2");
- this.label2.Name = "label2";
- //
- // numSort
- //
- resources.ApplyResources(this.numSort, "numSort");
- this.numSort.Name = "numSort";
- this.numSort.Leave += new System.EventHandler(this.txtRemarks_Leave);
- //
- // label1
- //
- resources.ApplyResources(this.label1, "label1");
- this.label1.Name = "label1";
- //
- // GroupSettingControl
- //
- resources.ApplyResources(this, "$this");
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.Controls.Add(this.grbMain);
- this.Name = "GroupSettingControl";
- this.Load += new System.EventHandler(this.GroupSettingControl_Load);
- this.grbMain.ResumeLayout(false);
- this.grbMain.PerformLayout();
- ((System.ComponentModel.ISupportInitialize)(this.numSort)).EndInit();
- this.ResumeLayout(false);
-
- }
-
- #endregion
-
- private System.Windows.Forms.GroupBox grbMain;
- private System.Windows.Forms.TextBox txtRemarks;
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.Button btnRemove;
- private System.Windows.Forms.Label label1;
- private System.Windows.Forms.NumericUpDown numSort;
- }
-}
diff --git a/v2rayN/v2rayN/Forms/GroupSettingControl.cs b/v2rayN/v2rayN/Forms/GroupSettingControl.cs
deleted file mode 100644
index 07abc73d..00000000
--- a/v2rayN/v2rayN/Forms/GroupSettingControl.cs
+++ /dev/null
@@ -1,61 +0,0 @@
-using System;
-using System.Windows.Forms;
-using v2rayN.Base;
-using v2rayN.Handler;
-using v2rayN.Mode;
-
-namespace v2rayN.Forms
-{
- public partial class GroupSettingControl : UserControl
- {
- public event ChangeEventHandler OnButtonClicked;
-
-
- public GroupItem groupItem
- {
- get; set;
- }
-
- public GroupSettingControl()
- {
- InitializeComponent();
- }
-
- private void GroupSettingControl_Load(object sender, EventArgs e)
- {
- Height = grbMain.Height;
- BindingSub();
- }
-
- private void BindingSub()
- {
- if (groupItem != null)
- {
- txtRemarks.Text = groupItem.remarks.ToString();
- numSort.Value = groupItem.sort;
- }
- }
- private void EndBindingSub()
- {
- if (groupItem != null)
- {
- groupItem.remarks = txtRemarks.Text.TrimEx();
- groupItem.sort = Convert.ToInt32(numSort.Value);
- }
- }
- private void txtRemarks_Leave(object sender, EventArgs e)
- {
- EndBindingSub();
- }
-
- private void btnRemove_Click(object sender, EventArgs e)
- {
- if (groupItem != null)
- {
- groupItem.remarks = string.Empty;
- }
-
- OnButtonClicked?.Invoke(sender, e);
- }
- }
-}
diff --git a/v2rayN/v2rayN/Forms/GroupSettingControl.resx b/v2rayN/v2rayN/Forms/GroupSettingControl.resx
deleted file mode 100644
index 75f7057e..00000000
--- a/v2rayN/v2rayN/Forms/GroupSettingControl.resx
+++ /dev/null
@@ -1,294 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
- True
-
-
-
- NoControl
-
-
-
- 12, 61
-
-
- 71, 12
-
-
- 26
-
-
- Sort number
-
-
- label1
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- grbMain
-
-
- 0
-
-
- 127, 57
-
-
- 120, 21
-
-
- 25
-
-
- numSort
-
-
- System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- grbMain
-
-
- 1
-
-
- NoControl
-
-
- 525, 21
-
-
- 75, 23
-
-
- 24
-
-
- Remove
-
-
- btnRemove
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- grbMain
-
-
- 2
-
-
- 127, 21
-
-
- 292, 21
-
-
- 1
-
-
- txtRemarks
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- grbMain
-
-
- 3
-
-
- True
-
-
- NoControl
-
-
- 12, 25
-
-
- 47, 12
-
-
- 10
-
-
- Remarks
-
-
- label2
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- grbMain
-
-
- 4
-
-
- Fill
-
-
- 0, 0
-
-
- 619, 91
-
-
- 10
-
-
- Group details
-
-
- grbMain
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 0
-
-
- True
-
-
- 6, 12
-
-
- 619, 91
-
-
- GroupSettingControl
-
-
- System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/GroupSettingControl.zh-Hans.resx b/v2rayN/v2rayN/Forms/GroupSettingControl.zh-Hans.resx
deleted file mode 100644
index 34dd0092..00000000
--- a/v2rayN/v2rayN/Forms/GroupSettingControl.zh-Hans.resx
+++ /dev/null
@@ -1,136 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 移除
-
-
-
- 29, 12
-
-
- 备注
-
-
- 分组详情
-
-
- 排序编号
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/GroupSettingForm.Designer.cs b/v2rayN/v2rayN/Forms/GroupSettingForm.Designer.cs
deleted file mode 100644
index 1eedb2ee..00000000
--- a/v2rayN/v2rayN/Forms/GroupSettingForm.Designer.cs
+++ /dev/null
@@ -1,97 +0,0 @@
-namespace v2rayN.Forms
-{
- partial class GroupSettingForm
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(GroupSettingForm));
- this.btnClose = new System.Windows.Forms.Button();
- this.panCon = new System.Windows.Forms.Panel();
- this.panel2 = new System.Windows.Forms.Panel();
- this.btnAdd = new System.Windows.Forms.Button();
- this.btnOK = new System.Windows.Forms.Button();
- this.panel2.SuspendLayout();
- this.SuspendLayout();
- //
- // btnClose
- //
- this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
- resources.ApplyResources(this.btnClose, "btnClose");
- this.btnClose.Name = "btnClose";
- this.btnClose.UseVisualStyleBackColor = true;
- this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
- //
- // panCon
- //
- resources.ApplyResources(this.panCon, "panCon");
- this.panCon.Name = "panCon";
- //
- // panel2
- //
- this.panel2.Controls.Add(this.btnAdd);
- this.panel2.Controls.Add(this.btnClose);
- this.panel2.Controls.Add(this.btnOK);
- resources.ApplyResources(this.panel2, "panel2");
- this.panel2.Name = "panel2";
- //
- // btnAdd
- //
- resources.ApplyResources(this.btnAdd, "btnAdd");
- this.btnAdd.Name = "btnAdd";
- this.btnAdd.UseVisualStyleBackColor = true;
- this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click);
- //
- // btnOK
- //
- resources.ApplyResources(this.btnOK, "btnOK");
- this.btnOK.Name = "btnOK";
- this.btnOK.UseVisualStyleBackColor = true;
- this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
- //
- // GroupSettingForm
- //
- resources.ApplyResources(this, "$this");
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.CancelButton = this.btnClose;
- this.Controls.Add(this.panCon);
- this.Controls.Add(this.panel2);
- this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
- this.Name = "GroupSettingForm";
- this.Load += new System.EventHandler(this.GroupSettingForm_Load);
- this.panel2.ResumeLayout(false);
- this.ResumeLayout(false);
-
- }
-
- #endregion
- private System.Windows.Forms.Button btnClose;
- private System.Windows.Forms.Button btnOK;
- private System.Windows.Forms.Panel panel2;
- private System.Windows.Forms.Button btnAdd;
- private System.Windows.Forms.Panel panCon;
- }
-}
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/GroupSettingForm.cs b/v2rayN/v2rayN/Forms/GroupSettingForm.cs
deleted file mode 100644
index 77860153..00000000
--- a/v2rayN/v2rayN/Forms/GroupSettingForm.cs
+++ /dev/null
@@ -1,104 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Windows.Forms;
-using v2rayN.Handler;
-using v2rayN.Mode;
-using v2rayN.Resx;
-
-namespace v2rayN.Forms
-{
- public partial class GroupSettingForm : BaseForm
- {
- List lstControls = new List();
-
- public GroupSettingForm()
- {
- InitializeComponent();
- }
-
- private void GroupSettingForm_Load(object sender, EventArgs e)
- {
- if (config.groupItem == null)
- {
- config.groupItem = new List();
- }
-
- RefreshGroupsView();
- }
-
- ///
- /// 刷新列表
- ///
- private void RefreshGroupsView()
- {
- panCon.Controls.Clear();
- lstControls.Clear();
-
- for (int k = config.groupItem.Count - 1; k >= 0; k--)
- {
- GroupItem item = config.groupItem[k];
- if (Utils.IsNullOrEmpty(item.remarks))
- {
- if (!Utils.IsNullOrEmpty(item.id))
- {
- ConfigHandler.RemoveGroupItem(ref config, item.id);
- }
- config.groupItem.RemoveAt(k);
- }
- }
-
- foreach (GroupItem item in config.groupItem)
- {
- GroupSettingControl control = new GroupSettingControl();
- control.OnButtonClicked += Control_OnButtonClicked;
- control.groupItem = item;
- control.Dock = DockStyle.Top;
-
- panCon.Controls.Add(control);
- panCon.Controls.SetChildIndex(control, 0);
-
- lstControls.Add(control);
- }
- }
-
- private void Control_OnButtonClicked(object sender, EventArgs e)
- {
- RefreshGroupsView();
- }
-
- private void btnOK_Click(object sender, EventArgs e)
- {
- if (ConfigHandler.SaveGroupItem(ref config) == 0)
- {
- DialogResult = DialogResult.OK;
- }
- else
- {
- UI.ShowWarning(ResUI.OperationFailed);
- }
- }
-
- private void btnClose_Click(object sender, EventArgs e)
- {
- DialogResult = DialogResult.Cancel;
- }
-
- private void btnAdd_Click(object sender, EventArgs e)
- {
- AddGroup();
-
- RefreshGroupsView();
- }
-
-
- private void AddGroup()
- {
- GroupItem groupItem = new GroupItem
- {
- id = string.Empty,
- remarks = "Group"
- };
- config.groupItem.Add(groupItem);
- }
- }
-}
diff --git a/v2rayN/v2rayN/Forms/GroupSettingForm.resx b/v2rayN/v2rayN/Forms/GroupSettingForm.resx
deleted file mode 100644
index 043f3152..00000000
--- a/v2rayN/v2rayN/Forms/GroupSettingForm.resx
+++ /dev/null
@@ -1,273 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
- NoControl
-
-
-
- 448, 17
-
-
- 75, 23
-
-
-
- 4
-
-
- &Cancel
-
-
- btnClose
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel2
-
-
- 1
-
-
- True
-
-
- Fill
-
-
- 0, 0
-
-
- 614, 351
-
-
- 10
-
-
- panCon
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 0
-
-
- NoControl
-
-
- 47, 17
-
-
- 75, 23
-
-
- 6
-
-
- &Add
-
-
- btnAdd
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel2
-
-
- 0
-
-
- NoControl
-
-
- 355, 17
-
-
- 75, 23
-
-
- 5
-
-
- &OK
-
-
- btnOK
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel2
-
-
- 2
-
-
- Bottom
-
-
- 0, 351
-
-
- 614, 60
-
-
- 7
-
-
- panel2
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 1
-
-
- True
-
-
- 6, 12
-
-
- 614, 411
-
-
- Group settings
-
-
- GroupSettingForm
-
-
- v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/GroupSettingForm.zh-Hans.resx b/v2rayN/v2rayN/Forms/GroupSettingForm.zh-Hans.resx
deleted file mode 100644
index 0d4dba82..00000000
--- a/v2rayN/v2rayN/Forms/GroupSettingForm.zh-Hans.resx
+++ /dev/null
@@ -1,132 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 取消(&C)
-
-
- 添加(&A)
-
-
- 确定(&O)
-
-
- 服务器分组设置
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/MainForm.Designer.cs b/v2rayN/v2rayN/Forms/MainForm.Designer.cs
deleted file mode 100644
index f0cb9d9c..00000000
--- a/v2rayN/v2rayN/Forms/MainForm.Designer.cs
+++ /dev/null
@@ -1,1013 +0,0 @@
-namespace v2rayN.Forms
-{
- partial class MainForm
- {
- ///
- /// 必需的设计器变量。
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// 清理所有正在使用的资源。
- ///
- /// 如果应释放托管资源,为 true;否则为 false。
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows 窗体设计器生成的代码
-
- ///
- /// 设计器支持所需的方法 - 不要
- /// 使用代码编辑器修改此方法的内容。
- ///
- private void InitializeComponent()
- {
- this.components = new System.ComponentModel.Container();
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
- this.scServers = new System.Windows.Forms.SplitContainer();
- this.lvServers = new v2rayN.Base.ListViewFlickerFree();
- this.cmsLv = new System.Windows.Forms.ContextMenuStrip(this.components);
- this.menuAddVmessServer = new System.Windows.Forms.ToolStripMenuItem();
- this.menuAddVlessServer = new System.Windows.Forms.ToolStripMenuItem();
- this.menuAddShadowsocksServer = new System.Windows.Forms.ToolStripMenuItem();
- this.menuAddSocksServer = new System.Windows.Forms.ToolStripMenuItem();
- this.menuAddTrojanServer = new System.Windows.Forms.ToolStripMenuItem();
- this.menuAddCustomServer = new System.Windows.Forms.ToolStripMenuItem();
- this.menuAddServers = new System.Windows.Forms.ToolStripMenuItem();
- this.menuScanScreen = new System.Windows.Forms.ToolStripMenuItem();
- this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
- this.menuServerFilter = new System.Windows.Forms.ToolStripMenuItem();
- this.menuRemoveServer = new System.Windows.Forms.ToolStripMenuItem();
- this.menuRemoveDuplicateServer = new System.Windows.Forms.ToolStripMenuItem();
- this.menuCopyServer = new System.Windows.Forms.ToolStripMenuItem();
- this.menuSetDefaultServer = new System.Windows.Forms.ToolStripMenuItem();
- this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
- this.menuMoveToGroup = new System.Windows.Forms.ToolStripMenuItem();
- this.menuMoveEvent = new System.Windows.Forms.ToolStripMenuItem();
- this.menuMoveTop = new System.Windows.Forms.ToolStripMenuItem();
- this.menuMoveUp = new System.Windows.Forms.ToolStripMenuItem();
- this.menuMoveDown = new System.Windows.Forms.ToolStripMenuItem();
- this.menuMoveBottom = new System.Windows.Forms.ToolStripMenuItem();
- this.menuSelectAll = new System.Windows.Forms.ToolStripMenuItem();
- this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator();
- this.menuPingServer = new System.Windows.Forms.ToolStripMenuItem();
- this.menuTcpingServer = new System.Windows.Forms.ToolStripMenuItem();
- this.menuRealPingServer = new System.Windows.Forms.ToolStripMenuItem();
- this.menuSpeedServer = new System.Windows.Forms.ToolStripMenuItem();
- this.menuSortServerResult = new System.Windows.Forms.ToolStripMenuItem();
- this.tsbTestMe = new System.Windows.Forms.ToolStripMenuItem();
- this.menuClearServerStatistics = new System.Windows.Forms.ToolStripMenuItem();
- this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator();
- this.menuExport2ClientConfig = new System.Windows.Forms.ToolStripMenuItem();
- this.menuExport2ServerConfig = new System.Windows.Forms.ToolStripMenuItem();
- this.menuExport2ShareUrl = new System.Windows.Forms.ToolStripMenuItem();
- this.menuExport2SubContent = new System.Windows.Forms.ToolStripMenuItem();
- this.tsbServer = new System.Windows.Forms.ToolStripDropDownButton();
- this.tabGroup = new System.Windows.Forms.TabControl();
- this.qrCodeControl = new v2rayN.Forms.QRCodeControl();
- this.scBig = new System.Windows.Forms.SplitContainer();
- this.gbServers = new System.Windows.Forms.GroupBox();
- this.mainMsgControl = new v2rayN.Forms.MainMsgControl();
- this.notifyMain = new System.Windows.Forms.NotifyIcon(this.components);
- this.cmsMain = new System.Windows.Forms.ContextMenuStrip(this.components);
- this.menuSysAgentMode = new System.Windows.Forms.ToolStripMenuItem();
- this.menuKeepClear = new System.Windows.Forms.ToolStripMenuItem();
- this.menuGlobal = new System.Windows.Forms.ToolStripMenuItem();
- this.menuKeepNothing = new System.Windows.Forms.ToolStripMenuItem();
- this.menuRoutings = new System.Windows.Forms.ToolStripMenuItem();
- this.menuServers = new System.Windows.Forms.ToolStripMenuItem();
- this.toolStripSeparator13 = new System.Windows.Forms.ToolStripSeparator();
- this.menuAddServers2 = new System.Windows.Forms.ToolStripMenuItem();
- this.menuScanScreen2 = new System.Windows.Forms.ToolStripMenuItem();
- this.menuUpdateSubscriptions = new System.Windows.Forms.ToolStripMenuItem();
- this.menuUpdateSubViaProxy = new System.Windows.Forms.ToolStripMenuItem();
- this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
- this.menuExit = new System.Windows.Forms.ToolStripMenuItem();
- this.panel1 = new System.Windows.Forms.Panel();
- this.tsMain = new System.Windows.Forms.ToolStrip();
- this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
- this.tsbSub = new System.Windows.Forms.ToolStripDropDownButton();
- this.tsbSubSetting = new System.Windows.Forms.ToolStripMenuItem();
- this.tsbSubUpdate = new System.Windows.Forms.ToolStripMenuItem();
- this.tsbSubUpdateViaProxy = new System.Windows.Forms.ToolStripMenuItem();
- this.tsbSubGroupUpdate = new System.Windows.Forms.ToolStripMenuItem();
- this.tsbSubGroupUpdateViaProxy = new System.Windows.Forms.ToolStripMenuItem();
- this.tsbQRCodeSwitch = new System.Windows.Forms.ToolStripButton();
- this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator();
- this.tsbSetting = new System.Windows.Forms.ToolStripDropDownButton();
- this.tsbOptionSetting = new System.Windows.Forms.ToolStripMenuItem();
- this.tsbRoutingSetting = new System.Windows.Forms.ToolStripMenuItem();
- this.tsbGlobalHotkeySetting = new System.Windows.Forms.ToolStripMenuItem();
- this.tsbGroupSetting = new System.Windows.Forms.ToolStripMenuItem();
- this.toolStripSeparator14 = new System.Windows.Forms.ToolStripSeparator();
- this.tsbBackupGuiNConfig = new System.Windows.Forms.ToolStripMenuItem();
- this.tsbRestoreGuiNConfig = new System.Windows.Forms.ToolStripMenuItem();
- this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
- this.tsbReload = new System.Windows.Forms.ToolStripButton();
- this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator();
- this.tsbCheckUpdate = new System.Windows.Forms.ToolStripDropDownButton();
- this.tsbCheckUpdateN = new System.Windows.Forms.ToolStripMenuItem();
- this.tsbCheckUpdateCore = new System.Windows.Forms.ToolStripMenuItem();
- this.tsbCheckUpdateSagerNetCore = new System.Windows.Forms.ToolStripMenuItem();
- this.tsbCheckUpdateXrayCore = new System.Windows.Forms.ToolStripMenuItem();
- this.toolStripSeparator16 = new System.Windows.Forms.ToolStripSeparator();
- this.tsbCheckUpdateClashCore = new System.Windows.Forms.ToolStripMenuItem();
- this.tsbCheckUpdateClashMetaCore = new System.Windows.Forms.ToolStripMenuItem();
- this.toolStripSeparator15 = new System.Windows.Forms.ToolStripSeparator();
- this.tsbCheckUpdateGeo = new System.Windows.Forms.ToolStripMenuItem();
- this.toolStripSeparator10 = new System.Windows.Forms.ToolStripSeparator();
- this.tsbHelp = new System.Windows.Forms.ToolStripDropDownButton();
- this.tsbAbout = new System.Windows.Forms.ToolStripMenuItem();
- this.tsbV2rayWebsite = new System.Windows.Forms.ToolStripMenuItem();
- this.toolStripSeparator12 = new System.Windows.Forms.ToolStripSeparator();
- this.tsbLanguageDef = new System.Windows.Forms.ToolStripMenuItem();
- this.tsbLanguageZhHans = new System.Windows.Forms.ToolStripMenuItem();
- this.tsbPromotion = new System.Windows.Forms.ToolStripButton();
- this.toolStripSeparator11 = new System.Windows.Forms.ToolStripSeparator();
- this.tsbClose = new System.Windows.Forms.ToolStripButton();
- ((System.ComponentModel.ISupportInitialize)(this.scServers)).BeginInit();
- this.scServers.Panel1.SuspendLayout();
- this.scServers.Panel2.SuspendLayout();
- this.scServers.SuspendLayout();
- this.cmsLv.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.scBig)).BeginInit();
- this.scBig.Panel1.SuspendLayout();
- this.scBig.Panel2.SuspendLayout();
- this.scBig.SuspendLayout();
- this.gbServers.SuspendLayout();
- this.cmsMain.SuspendLayout();
- this.tsMain.SuspendLayout();
- this.SuspendLayout();
- //
- // scServers
- //
- resources.ApplyResources(this.scServers, "scServers");
- this.scServers.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
- this.scServers.Name = "scServers";
- //
- // scServers.Panel1
- //
- this.scServers.Panel1.Controls.Add(this.lvServers);
- this.scServers.Panel1.Controls.Add(this.tabGroup);
- //
- // scServers.Panel2
- //
- this.scServers.Panel2.Controls.Add(this.qrCodeControl);
- this.scServers.TabStop = false;
- //
- // lvServers
- //
- this.lvServers.ContextMenuStrip = this.cmsLv;
- resources.ApplyResources(this.lvServers, "lvServers");
- this.lvServers.FullRowSelect = true;
- this.lvServers.GridLines = true;
- this.lvServers.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
- this.lvServers.HideSelection = false;
- this.lvServers.Items.AddRange(new System.Windows.Forms.ListViewItem[] {
- ((System.Windows.Forms.ListViewItem)(resources.GetObject("lvServers.Items")))});
- this.lvServers.MultiSelect = false;
- this.lvServers.Name = "lvServers";
- this.lvServers.UseCompatibleStateImageBehavior = false;
- this.lvServers.View = System.Windows.Forms.View.Details;
- this.lvServers.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.lvServers_ColumnClick);
- this.lvServers.SelectedIndexChanged += new System.EventHandler(this.lvServers_SelectedIndexChanged);
- this.lvServers.Click += new System.EventHandler(this.lvServers_Click);
- this.lvServers.DoubleClick += new System.EventHandler(this.lvServers_DoubleClick);
- this.lvServers.KeyDown += new System.Windows.Forms.KeyEventHandler(this.lvServers_KeyDown);
- //
- // cmsLv
- //
- this.cmsLv.ImageScalingSize = new System.Drawing.Size(20, 20);
- this.cmsLv.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.menuAddVmessServer,
- this.menuAddVlessServer,
- this.menuAddShadowsocksServer,
- this.menuAddSocksServer,
- this.menuAddTrojanServer,
- this.menuAddCustomServer,
- this.menuAddServers,
- this.menuScanScreen,
- this.toolStripSeparator1,
- this.menuServerFilter,
- this.menuRemoveServer,
- this.menuRemoveDuplicateServer,
- this.menuCopyServer,
- this.menuSetDefaultServer,
- this.toolStripSeparator3,
- this.menuMoveToGroup,
- this.menuMoveEvent,
- this.menuSelectAll,
- this.toolStripSeparator9,
- this.menuPingServer,
- this.menuTcpingServer,
- this.menuRealPingServer,
- this.menuSpeedServer,
- this.menuSortServerResult,
- this.tsbTestMe,
- this.menuClearServerStatistics,
- this.toolStripSeparator6,
- this.menuExport2ClientConfig,
- this.menuExport2ServerConfig,
- this.menuExport2ShareUrl,
- this.menuExport2SubContent});
- this.cmsLv.Name = "cmsLv";
- this.cmsLv.OwnerItem = this.tsbServer;
- resources.ApplyResources(this.cmsLv, "cmsLv");
- //
- // menuAddVmessServer
- //
- this.menuAddVmessServer.Name = "menuAddVmessServer";
- resources.ApplyResources(this.menuAddVmessServer, "menuAddVmessServer");
- this.menuAddVmessServer.Click += new System.EventHandler(this.menuAddVmessServer_Click);
- //
- // menuAddVlessServer
- //
- this.menuAddVlessServer.Name = "menuAddVlessServer";
- resources.ApplyResources(this.menuAddVlessServer, "menuAddVlessServer");
- this.menuAddVlessServer.Click += new System.EventHandler(this.menuAddVlessServer_Click);
- //
- // menuAddShadowsocksServer
- //
- this.menuAddShadowsocksServer.Name = "menuAddShadowsocksServer";
- resources.ApplyResources(this.menuAddShadowsocksServer, "menuAddShadowsocksServer");
- this.menuAddShadowsocksServer.Click += new System.EventHandler(this.menuAddShadowsocksServer_Click);
- //
- // menuAddSocksServer
- //
- this.menuAddSocksServer.Name = "menuAddSocksServer";
- resources.ApplyResources(this.menuAddSocksServer, "menuAddSocksServer");
- this.menuAddSocksServer.Click += new System.EventHandler(this.menuAddSocksServer_Click);
- //
- // menuAddTrojanServer
- //
- this.menuAddTrojanServer.Name = "menuAddTrojanServer";
- resources.ApplyResources(this.menuAddTrojanServer, "menuAddTrojanServer");
- this.menuAddTrojanServer.Click += new System.EventHandler(this.menuAddTrojanServer_Click);
- //
- // menuAddCustomServer
- //
- this.menuAddCustomServer.Name = "menuAddCustomServer";
- resources.ApplyResources(this.menuAddCustomServer, "menuAddCustomServer");
- this.menuAddCustomServer.Click += new System.EventHandler(this.menuAddCustomServer_Click);
- //
- // menuAddServers
- //
- this.menuAddServers.Name = "menuAddServers";
- resources.ApplyResources(this.menuAddServers, "menuAddServers");
- this.menuAddServers.Click += new System.EventHandler(this.menuAddServers_Click);
- //
- // menuScanScreen
- //
- this.menuScanScreen.Name = "menuScanScreen";
- resources.ApplyResources(this.menuScanScreen, "menuScanScreen");
- this.menuScanScreen.Click += new System.EventHandler(this.menuScanScreen_Click);
- //
- // toolStripSeparator1
- //
- this.toolStripSeparator1.Name = "toolStripSeparator1";
- resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1");
- //
- // menuServerFilter
- //
- this.menuServerFilter.Name = "menuServerFilter";
- resources.ApplyResources(this.menuServerFilter, "menuServerFilter");
- this.menuServerFilter.Click += new System.EventHandler(this.menuServerFilter_Click);
- //
- // menuRemoveServer
- //
- this.menuRemoveServer.Name = "menuRemoveServer";
- resources.ApplyResources(this.menuRemoveServer, "menuRemoveServer");
- this.menuRemoveServer.Click += new System.EventHandler(this.menuRemoveServer_Click);
- //
- // menuRemoveDuplicateServer
- //
- this.menuRemoveDuplicateServer.Name = "menuRemoveDuplicateServer";
- resources.ApplyResources(this.menuRemoveDuplicateServer, "menuRemoveDuplicateServer");
- this.menuRemoveDuplicateServer.Click += new System.EventHandler(this.menuRemoveDuplicateServer_Click);
- //
- // menuCopyServer
- //
- this.menuCopyServer.Name = "menuCopyServer";
- resources.ApplyResources(this.menuCopyServer, "menuCopyServer");
- this.menuCopyServer.Click += new System.EventHandler(this.menuCopyServer_Click);
- //
- // menuSetDefaultServer
- //
- this.menuSetDefaultServer.Name = "menuSetDefaultServer";
- resources.ApplyResources(this.menuSetDefaultServer, "menuSetDefaultServer");
- this.menuSetDefaultServer.Click += new System.EventHandler(this.menuSetDefaultServer_Click);
- //
- // toolStripSeparator3
- //
- this.toolStripSeparator3.Name = "toolStripSeparator3";
- resources.ApplyResources(this.toolStripSeparator3, "toolStripSeparator3");
- //
- // menuMoveToGroup
- //
- this.menuMoveToGroup.Name = "menuMoveToGroup";
- resources.ApplyResources(this.menuMoveToGroup, "menuMoveToGroup");
- this.menuMoveToGroup.Click += new System.EventHandler(this.menuMoveToGroup_Click);
- //
- // menuMoveEvent
- //
- this.menuMoveEvent.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.menuMoveTop,
- this.menuMoveUp,
- this.menuMoveDown,
- this.menuMoveBottom});
- this.menuMoveEvent.Name = "menuMoveEvent";
- resources.ApplyResources(this.menuMoveEvent, "menuMoveEvent");
- //
- // menuMoveTop
- //
- this.menuMoveTop.Name = "menuMoveTop";
- resources.ApplyResources(this.menuMoveTop, "menuMoveTop");
- this.menuMoveTop.Click += new System.EventHandler(this.menuMoveTop_Click);
- //
- // menuMoveUp
- //
- this.menuMoveUp.Name = "menuMoveUp";
- resources.ApplyResources(this.menuMoveUp, "menuMoveUp");
- this.menuMoveUp.Click += new System.EventHandler(this.menuMoveUp_Click);
- //
- // menuMoveDown
- //
- this.menuMoveDown.Name = "menuMoveDown";
- resources.ApplyResources(this.menuMoveDown, "menuMoveDown");
- this.menuMoveDown.Click += new System.EventHandler(this.menuMoveDown_Click);
- //
- // menuMoveBottom
- //
- this.menuMoveBottom.Name = "menuMoveBottom";
- resources.ApplyResources(this.menuMoveBottom, "menuMoveBottom");
- this.menuMoveBottom.Click += new System.EventHandler(this.menuMoveBottom_Click);
- //
- // menuSelectAll
- //
- this.menuSelectAll.Name = "menuSelectAll";
- resources.ApplyResources(this.menuSelectAll, "menuSelectAll");
- this.menuSelectAll.Click += new System.EventHandler(this.menuSelectAll_Click);
- //
- // toolStripSeparator9
- //
- this.toolStripSeparator9.Name = "toolStripSeparator9";
- resources.ApplyResources(this.toolStripSeparator9, "toolStripSeparator9");
- //
- // menuPingServer
- //
- this.menuPingServer.Name = "menuPingServer";
- resources.ApplyResources(this.menuPingServer, "menuPingServer");
- this.menuPingServer.Click += new System.EventHandler(this.menuPingServer_Click);
- //
- // menuTcpingServer
- //
- this.menuTcpingServer.Name = "menuTcpingServer";
- resources.ApplyResources(this.menuTcpingServer, "menuTcpingServer");
- this.menuTcpingServer.Click += new System.EventHandler(this.menuTcpingServer_Click);
- //
- // menuRealPingServer
- //
- this.menuRealPingServer.Name = "menuRealPingServer";
- resources.ApplyResources(this.menuRealPingServer, "menuRealPingServer");
- this.menuRealPingServer.Click += new System.EventHandler(this.menuRealPingServer_Click);
- //
- // menuSpeedServer
- //
- this.menuSpeedServer.Name = "menuSpeedServer";
- resources.ApplyResources(this.menuSpeedServer, "menuSpeedServer");
- this.menuSpeedServer.Click += new System.EventHandler(this.menuSpeedServer_Click);
- //
- // menuSortServerResult
- //
- this.menuSortServerResult.Name = "menuSortServerResult";
- resources.ApplyResources(this.menuSortServerResult, "menuSortServerResult");
- this.menuSortServerResult.Click += new System.EventHandler(this.menuSortServerResult_Click);
- //
- // tsbTestMe
- //
- this.tsbTestMe.Name = "tsbTestMe";
- resources.ApplyResources(this.tsbTestMe, "tsbTestMe");
- this.tsbTestMe.Click += new System.EventHandler(this.tsbTestMe_Click);
- //
- // menuClearServerStatistics
- //
- this.menuClearServerStatistics.Name = "menuClearServerStatistics";
- resources.ApplyResources(this.menuClearServerStatistics, "menuClearServerStatistics");
- this.menuClearServerStatistics.Click += new System.EventHandler(this.menuClearStatistic_Click);
- //
- // toolStripSeparator6
- //
- this.toolStripSeparator6.Name = "toolStripSeparator6";
- resources.ApplyResources(this.toolStripSeparator6, "toolStripSeparator6");
- //
- // menuExport2ClientConfig
- //
- this.menuExport2ClientConfig.Name = "menuExport2ClientConfig";
- resources.ApplyResources(this.menuExport2ClientConfig, "menuExport2ClientConfig");
- this.menuExport2ClientConfig.Click += new System.EventHandler(this.menuExport2ClientConfig_Click);
- //
- // menuExport2ServerConfig
- //
- this.menuExport2ServerConfig.Name = "menuExport2ServerConfig";
- resources.ApplyResources(this.menuExport2ServerConfig, "menuExport2ServerConfig");
- this.menuExport2ServerConfig.Click += new System.EventHandler(this.menuExport2ServerConfig_Click);
- //
- // menuExport2ShareUrl
- //
- this.menuExport2ShareUrl.Name = "menuExport2ShareUrl";
- resources.ApplyResources(this.menuExport2ShareUrl, "menuExport2ShareUrl");
- this.menuExport2ShareUrl.Click += new System.EventHandler(this.menuExport2ShareUrl_Click);
- //
- // menuExport2SubContent
- //
- this.menuExport2SubContent.Name = "menuExport2SubContent";
- resources.ApplyResources(this.menuExport2SubContent, "menuExport2SubContent");
- this.menuExport2SubContent.Click += new System.EventHandler(this.menuExport2SubContent_Click);
- //
- // tsbServer
- //
- this.tsbServer.DropDown = this.cmsLv;
- this.tsbServer.Image = global::v2rayN.Properties.Resources.server;
- resources.ApplyResources(this.tsbServer, "tsbServer");
- this.tsbServer.Name = "tsbServer";
- //
- // tabGroup
- //
- resources.ApplyResources(this.tabGroup, "tabGroup");
- this.tabGroup.Name = "tabGroup";
- this.tabGroup.SelectedIndex = 0;
- this.tabGroup.SelectedIndexChanged += new System.EventHandler(this.tabGroup_SelectedIndexChanged);
- //
- // qrCodeControl
- //
- resources.ApplyResources(this.qrCodeControl, "qrCodeControl");
- this.qrCodeControl.Name = "qrCodeControl";
- //
- // scBig
- //
- resources.ApplyResources(this.scBig, "scBig");
- this.scBig.Name = "scBig";
- //
- // scBig.Panel1
- //
- this.scBig.Panel1.Controls.Add(this.gbServers);
- //
- // scBig.Panel2
- //
- this.scBig.Panel2.Controls.Add(this.mainMsgControl);
- //
- // gbServers
- //
- this.gbServers.Controls.Add(this.scServers);
- resources.ApplyResources(this.gbServers, "gbServers");
- this.gbServers.Name = "gbServers";
- this.gbServers.TabStop = false;
- //
- // mainMsgControl
- //
- resources.ApplyResources(this.mainMsgControl, "mainMsgControl");
- this.mainMsgControl.Name = "mainMsgControl";
- //
- // notifyMain
- //
- this.notifyMain.ContextMenuStrip = this.cmsMain;
- resources.ApplyResources(this.notifyMain, "notifyMain");
- this.notifyMain.MouseClick += new System.Windows.Forms.MouseEventHandler(this.notifyMain_MouseClick);
- //
- // cmsMain
- //
- this.cmsMain.ImageScalingSize = new System.Drawing.Size(20, 20);
- resources.ApplyResources(this.cmsMain, "cmsMain");
- this.cmsMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.menuSysAgentMode,
- this.menuRoutings,
- this.menuServers,
- this.toolStripSeparator13,
- this.menuAddServers2,
- this.menuScanScreen2,
- this.menuUpdateSubscriptions,
- this.menuUpdateSubViaProxy,
- this.toolStripSeparator2,
- this.menuExit});
- this.cmsMain.Name = "contextMenuStrip1";
- this.cmsMain.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;
- this.cmsMain.ShowCheckMargin = true;
- this.cmsMain.ShowImageMargin = false;
- //
- // menuSysAgentMode
- //
- this.menuSysAgentMode.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.menuKeepClear,
- this.menuGlobal,
- this.menuKeepNothing});
- this.menuSysAgentMode.Name = "menuSysAgentMode";
- resources.ApplyResources(this.menuSysAgentMode, "menuSysAgentMode");
- //
- // menuKeepClear
- //
- this.menuKeepClear.Name = "menuKeepClear";
- resources.ApplyResources(this.menuKeepClear, "menuKeepClear");
- this.menuKeepClear.Click += new System.EventHandler(this.menuKeepClear_Click);
- //
- // menuGlobal
- //
- this.menuGlobal.Name = "menuGlobal";
- resources.ApplyResources(this.menuGlobal, "menuGlobal");
- this.menuGlobal.Click += new System.EventHandler(this.menuGlobal_Click);
- //
- // menuKeepNothing
- //
- this.menuKeepNothing.Name = "menuKeepNothing";
- resources.ApplyResources(this.menuKeepNothing, "menuKeepNothing");
- this.menuKeepNothing.Click += new System.EventHandler(this.menuKeepNothing_Click);
- //
- // menuRoutings
- //
- this.menuRoutings.Name = "menuRoutings";
- resources.ApplyResources(this.menuRoutings, "menuRoutings");
- //
- // menuServers
- //
- this.menuServers.Name = "menuServers";
- resources.ApplyResources(this.menuServers, "menuServers");
- //
- // toolStripSeparator13
- //
- this.toolStripSeparator13.Name = "toolStripSeparator13";
- resources.ApplyResources(this.toolStripSeparator13, "toolStripSeparator13");
- //
- // menuAddServers2
- //
- this.menuAddServers2.Name = "menuAddServers2";
- resources.ApplyResources(this.menuAddServers2, "menuAddServers2");
- this.menuAddServers2.Click += new System.EventHandler(this.menuAddServers_Click);
- //
- // menuScanScreen2
- //
- this.menuScanScreen2.Name = "menuScanScreen2";
- resources.ApplyResources(this.menuScanScreen2, "menuScanScreen2");
- this.menuScanScreen2.Click += new System.EventHandler(this.menuScanScreen_Click);
- //
- // menuUpdateSubscriptions
- //
- this.menuUpdateSubscriptions.Name = "menuUpdateSubscriptions";
- resources.ApplyResources(this.menuUpdateSubscriptions, "menuUpdateSubscriptions");
- this.menuUpdateSubscriptions.Click += new System.EventHandler(this.menuUpdateSubscriptions_Click);
- //
- // menuUpdateSubViaProxy
- //
- this.menuUpdateSubViaProxy.Name = "menuUpdateSubViaProxy";
- resources.ApplyResources(this.menuUpdateSubViaProxy, "menuUpdateSubViaProxy");
- this.menuUpdateSubViaProxy.Click += new System.EventHandler(this.menuUpdateSubViaProxy_Click);
- //
- // toolStripSeparator2
- //
- this.toolStripSeparator2.Name = "toolStripSeparator2";
- resources.ApplyResources(this.toolStripSeparator2, "toolStripSeparator2");
- //
- // menuExit
- //
- this.menuExit.Name = "menuExit";
- resources.ApplyResources(this.menuExit, "menuExit");
- this.menuExit.Click += new System.EventHandler(this.menuExit_Click);
- //
- // panel1
- //
- resources.ApplyResources(this.panel1, "panel1");
- this.panel1.Name = "panel1";
- //
- // tsMain
- //
- this.tsMain.ImageScalingSize = new System.Drawing.Size(32, 32);
- this.tsMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.tsbServer,
- this.toolStripSeparator4,
- this.tsbSub,
- this.tsbQRCodeSwitch,
- this.toolStripSeparator8,
- this.tsbSetting,
- this.toolStripSeparator5,
- this.tsbReload,
- this.toolStripSeparator7,
- this.tsbCheckUpdate,
- this.toolStripSeparator10,
- this.tsbHelp,
- this.tsbPromotion,
- this.toolStripSeparator11,
- this.tsbClose});
- resources.ApplyResources(this.tsMain, "tsMain");
- this.tsMain.Name = "tsMain";
- this.tsMain.TabStop = true;
- //
- // toolStripSeparator4
- //
- this.toolStripSeparator4.Name = "toolStripSeparator4";
- resources.ApplyResources(this.toolStripSeparator4, "toolStripSeparator4");
- //
- // tsbSub
- //
- this.tsbSub.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.tsbSubSetting,
- this.tsbSubUpdate,
- this.tsbSubUpdateViaProxy,
- this.tsbSubGroupUpdate,
- this.tsbSubGroupUpdateViaProxy});
- this.tsbSub.Image = global::v2rayN.Properties.Resources.sub;
- resources.ApplyResources(this.tsbSub, "tsbSub");
- this.tsbSub.Name = "tsbSub";
- //
- // tsbSubSetting
- //
- this.tsbSubSetting.Name = "tsbSubSetting";
- resources.ApplyResources(this.tsbSubSetting, "tsbSubSetting");
- this.tsbSubSetting.Click += new System.EventHandler(this.tsbSubSetting_Click);
- //
- // tsbSubUpdate
- //
- this.tsbSubUpdate.Name = "tsbSubUpdate";
- resources.ApplyResources(this.tsbSubUpdate, "tsbSubUpdate");
- this.tsbSubUpdate.Click += new System.EventHandler(this.tsbSubUpdate_Click);
- //
- // tsbSubUpdateViaProxy
- //
- this.tsbSubUpdateViaProxy.Name = "tsbSubUpdateViaProxy";
- resources.ApplyResources(this.tsbSubUpdateViaProxy, "tsbSubUpdateViaProxy");
- this.tsbSubUpdateViaProxy.Click += new System.EventHandler(this.tsbSubUpdateViaProxy_Click);
- //
- // tsbSubGroupUpdate
- //
- this.tsbSubGroupUpdate.Name = "tsbSubGroupUpdate";
- resources.ApplyResources(this.tsbSubGroupUpdate, "tsbSubGroupUpdate");
- this.tsbSubGroupUpdate.Click += new System.EventHandler(this.tsbSubGroupUpdate_Click);
- //
- // tsbSubGroupUpdateViaProxy
- //
- this.tsbSubGroupUpdateViaProxy.Name = "tsbSubGroupUpdateViaProxy";
- resources.ApplyResources(this.tsbSubGroupUpdateViaProxy, "tsbSubGroupUpdateViaProxy");
- this.tsbSubGroupUpdateViaProxy.Click += new System.EventHandler(this.tsbSubGroupUpdateViaProxy_Click);
- //
- // tsbQRCodeSwitch
- //
- this.tsbQRCodeSwitch.CheckOnClick = true;
- this.tsbQRCodeSwitch.ForeColor = System.Drawing.Color.Black;
- this.tsbQRCodeSwitch.Image = global::v2rayN.Properties.Resources.share;
- resources.ApplyResources(this.tsbQRCodeSwitch, "tsbQRCodeSwitch");
- this.tsbQRCodeSwitch.Name = "tsbQRCodeSwitch";
- this.tsbQRCodeSwitch.CheckedChanged += new System.EventHandler(this.tsbQRCodeSwitch_CheckedChanged);
- //
- // toolStripSeparator8
- //
- this.toolStripSeparator8.Name = "toolStripSeparator8";
- resources.ApplyResources(this.toolStripSeparator8, "toolStripSeparator8");
- //
- // tsbSetting
- //
- this.tsbSetting.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.tsbOptionSetting,
- this.tsbRoutingSetting,
- this.tsbGlobalHotkeySetting,
- this.tsbGroupSetting,
- this.toolStripSeparator14,
- this.tsbBackupGuiNConfig,
- this.tsbRestoreGuiNConfig});
- this.tsbSetting.Image = global::v2rayN.Properties.Resources.option;
- resources.ApplyResources(this.tsbSetting, "tsbSetting");
- this.tsbSetting.Name = "tsbSetting";
- //
- // tsbOptionSetting
- //
- this.tsbOptionSetting.Name = "tsbOptionSetting";
- resources.ApplyResources(this.tsbOptionSetting, "tsbOptionSetting");
- this.tsbOptionSetting.Click += new System.EventHandler(this.tsbOptionSetting_Click);
- //
- // tsbRoutingSetting
- //
- this.tsbRoutingSetting.Name = "tsbRoutingSetting";
- resources.ApplyResources(this.tsbRoutingSetting, "tsbRoutingSetting");
- this.tsbRoutingSetting.Click += new System.EventHandler(this.tsbRoutingSetting_Click);
- //
- // tsbGlobalHotkeySetting
- //
- this.tsbGlobalHotkeySetting.Name = "tsbGlobalHotkeySetting";
- resources.ApplyResources(this.tsbGlobalHotkeySetting, "tsbGlobalHotkeySetting");
- this.tsbGlobalHotkeySetting.Click += new System.EventHandler(this.tsbGlobalHotkeySetting_Click);
- //
- // tsbGroupSetting
- //
- this.tsbGroupSetting.Name = "tsbGroupSetting";
- resources.ApplyResources(this.tsbGroupSetting, "tsbGroupSetting");
- this.tsbGroupSetting.Click += new System.EventHandler(this.tsbGroupSetting_Click);
- //
- // toolStripSeparator14
- //
- this.toolStripSeparator14.Name = "toolStripSeparator14";
- resources.ApplyResources(this.toolStripSeparator14, "toolStripSeparator14");
- //
- // tsbBackupGuiNConfig
- //
- this.tsbBackupGuiNConfig.Name = "tsbBackupGuiNConfig";
- resources.ApplyResources(this.tsbBackupGuiNConfig, "tsbBackupGuiNConfig");
- this.tsbBackupGuiNConfig.Click += new System.EventHandler(this.tsbBackupGuiNConfig_Click);
- //
- // tsbRestoreGuiNConfig
- //
- this.tsbRestoreGuiNConfig.Name = "tsbRestoreGuiNConfig";
- resources.ApplyResources(this.tsbRestoreGuiNConfig, "tsbRestoreGuiNConfig");
- this.tsbRestoreGuiNConfig.Click += new System.EventHandler(this.tsbRestoreGuiNConfig_Click);
- //
- // toolStripSeparator5
- //
- this.toolStripSeparator5.Name = "toolStripSeparator5";
- resources.ApplyResources(this.toolStripSeparator5, "toolStripSeparator5");
- //
- // tsbReload
- //
- this.tsbReload.Image = global::v2rayN.Properties.Resources.restart;
- resources.ApplyResources(this.tsbReload, "tsbReload");
- this.tsbReload.Name = "tsbReload";
- this.tsbReload.Click += new System.EventHandler(this.tsbReload_Click);
- //
- // toolStripSeparator7
- //
- this.toolStripSeparator7.Name = "toolStripSeparator7";
- resources.ApplyResources(this.toolStripSeparator7, "toolStripSeparator7");
- //
- // tsbCheckUpdate
- //
- this.tsbCheckUpdate.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.tsbCheckUpdateN,
- this.tsbCheckUpdateCore,
- this.tsbCheckUpdateSagerNetCore,
- this.tsbCheckUpdateXrayCore,
- this.toolStripSeparator16,
- this.tsbCheckUpdateClashCore,
- this.tsbCheckUpdateClashMetaCore,
- this.toolStripSeparator15,
- this.tsbCheckUpdateGeo});
- this.tsbCheckUpdate.Image = global::v2rayN.Properties.Resources.checkupdate;
- resources.ApplyResources(this.tsbCheckUpdate, "tsbCheckUpdate");
- this.tsbCheckUpdate.Name = "tsbCheckUpdate";
- //
- // tsbCheckUpdateN
- //
- this.tsbCheckUpdateN.Name = "tsbCheckUpdateN";
- resources.ApplyResources(this.tsbCheckUpdateN, "tsbCheckUpdateN");
- this.tsbCheckUpdateN.Click += new System.EventHandler(this.tsbCheckUpdateN_Click);
- //
- // tsbCheckUpdateCore
- //
- this.tsbCheckUpdateCore.Name = "tsbCheckUpdateCore";
- resources.ApplyResources(this.tsbCheckUpdateCore, "tsbCheckUpdateCore");
- this.tsbCheckUpdateCore.Click += new System.EventHandler(this.tsbCheckUpdateCore_Click);
- //
- // tsbCheckUpdateSagerNetCore
- //
- this.tsbCheckUpdateSagerNetCore.Name = "tsbCheckUpdateSagerNetCore";
- resources.ApplyResources(this.tsbCheckUpdateSagerNetCore, "tsbCheckUpdateSagerNetCore");
- this.tsbCheckUpdateSagerNetCore.Click += new System.EventHandler(this.tsbCheckUpdateSagerNetCore_Click);
- //
- // tsbCheckUpdateXrayCore
- //
- this.tsbCheckUpdateXrayCore.Name = "tsbCheckUpdateXrayCore";
- resources.ApplyResources(this.tsbCheckUpdateXrayCore, "tsbCheckUpdateXrayCore");
- this.tsbCheckUpdateXrayCore.Click += new System.EventHandler(this.tsbCheckUpdateXrayCore_Click);
- //
- // toolStripSeparator16
- //
- this.toolStripSeparator16.Name = "toolStripSeparator16";
- resources.ApplyResources(this.toolStripSeparator16, "toolStripSeparator16");
- //
- // tsbCheckUpdateClashCore
- //
- this.tsbCheckUpdateClashCore.Name = "tsbCheckUpdateClashCore";
- resources.ApplyResources(this.tsbCheckUpdateClashCore, "tsbCheckUpdateClashCore");
- this.tsbCheckUpdateClashCore.Click += new System.EventHandler(this.tsbCheckUpdateClashCore_Click);
- //
- // tsbCheckUpdateClashMetaCore
- //
- this.tsbCheckUpdateClashMetaCore.Name = "tsbCheckUpdateClashMetaCore";
- resources.ApplyResources(this.tsbCheckUpdateClashMetaCore, "tsbCheckUpdateClashMetaCore");
- this.tsbCheckUpdateClashMetaCore.Click += new System.EventHandler(this.tsbCheckUpdateClashMetaCore_Click);
- //
- // toolStripSeparator15
- //
- this.toolStripSeparator15.Name = "toolStripSeparator15";
- resources.ApplyResources(this.toolStripSeparator15, "toolStripSeparator15");
- //
- // tsbCheckUpdateGeo
- //
- this.tsbCheckUpdateGeo.Name = "tsbCheckUpdateGeo";
- resources.ApplyResources(this.tsbCheckUpdateGeo, "tsbCheckUpdateGeo");
- this.tsbCheckUpdateGeo.Click += new System.EventHandler(this.tsbCheckUpdateGeo_Click);
- //
- // toolStripSeparator10
- //
- this.toolStripSeparator10.Name = "toolStripSeparator10";
- resources.ApplyResources(this.toolStripSeparator10, "toolStripSeparator10");
- //
- // tsbHelp
- //
- this.tsbHelp.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.tsbAbout,
- this.tsbV2rayWebsite,
- this.toolStripSeparator12,
- this.tsbLanguageDef,
- this.tsbLanguageZhHans});
- this.tsbHelp.Image = global::v2rayN.Properties.Resources.help;
- resources.ApplyResources(this.tsbHelp, "tsbHelp");
- this.tsbHelp.Name = "tsbHelp";
- //
- // tsbAbout
- //
- this.tsbAbout.Name = "tsbAbout";
- resources.ApplyResources(this.tsbAbout, "tsbAbout");
- this.tsbAbout.Click += new System.EventHandler(this.tsbAbout_Click);
- //
- // tsbV2rayWebsite
- //
- this.tsbV2rayWebsite.Name = "tsbV2rayWebsite";
- resources.ApplyResources(this.tsbV2rayWebsite, "tsbV2rayWebsite");
- this.tsbV2rayWebsite.Click += new System.EventHandler(this.tsbV2rayWebsite_Click);
- //
- // toolStripSeparator12
- //
- this.toolStripSeparator12.Name = "toolStripSeparator12";
- resources.ApplyResources(this.toolStripSeparator12, "toolStripSeparator12");
- //
- // tsbLanguageDef
- //
- this.tsbLanguageDef.Name = "tsbLanguageDef";
- resources.ApplyResources(this.tsbLanguageDef, "tsbLanguageDef");
- this.tsbLanguageDef.Click += new System.EventHandler(this.tsbLanguageDef_Click);
- //
- // tsbLanguageZhHans
- //
- this.tsbLanguageZhHans.Name = "tsbLanguageZhHans";
- resources.ApplyResources(this.tsbLanguageZhHans, "tsbLanguageZhHans");
- this.tsbLanguageZhHans.Click += new System.EventHandler(this.tsbLanguageZhHans_Click);
- //
- // tsbPromotion
- //
- this.tsbPromotion.ForeColor = System.Drawing.Color.Black;
- this.tsbPromotion.Image = global::v2rayN.Properties.Resources.promotion;
- resources.ApplyResources(this.tsbPromotion, "tsbPromotion");
- this.tsbPromotion.Name = "tsbPromotion";
- this.tsbPromotion.Click += new System.EventHandler(this.tsbPromotion_Click);
- //
- // toolStripSeparator11
- //
- this.toolStripSeparator11.Name = "toolStripSeparator11";
- resources.ApplyResources(this.toolStripSeparator11, "toolStripSeparator11");
- //
- // tsbClose
- //
- this.tsbClose.Image = global::v2rayN.Properties.Resources.minimize;
- resources.ApplyResources(this.tsbClose, "tsbClose");
- this.tsbClose.Name = "tsbClose";
- this.tsbClose.Click += new System.EventHandler(this.tsbClose_Click);
- //
- // MainForm
- //
- resources.ApplyResources(this, "$this");
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.Controls.Add(this.scBig);
- this.Controls.Add(this.panel1);
- this.Controls.Add(this.tsMain);
- this.MaximizeBox = true;
- this.MinimizeBox = true;
- this.Name = "MainForm";
- this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing);
- this.Load += new System.EventHandler(this.MainForm_Load);
- this.Shown += new System.EventHandler(this.MainForm_Shown);
- this.VisibleChanged += new System.EventHandler(this.MainForm_VisibleChanged);
- this.Resize += new System.EventHandler(this.MainForm_Resize);
- this.scServers.Panel1.ResumeLayout(false);
- this.scServers.Panel2.ResumeLayout(false);
- ((System.ComponentModel.ISupportInitialize)(this.scServers)).EndInit();
- this.scServers.ResumeLayout(false);
- this.cmsLv.ResumeLayout(false);
- this.scBig.Panel1.ResumeLayout(false);
- this.scBig.Panel2.ResumeLayout(false);
- ((System.ComponentModel.ISupportInitialize)(this.scBig)).EndInit();
- this.scBig.ResumeLayout(false);
- this.gbServers.ResumeLayout(false);
- this.cmsMain.ResumeLayout(false);
- this.tsMain.ResumeLayout(false);
- this.tsMain.PerformLayout();
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
-#endregion
-
- private System.Windows.Forms.GroupBox gbServers;
- private v2rayN.Base.ListViewFlickerFree lvServers;
- private System.Windows.Forms.NotifyIcon notifyMain;
- private System.Windows.Forms.ContextMenuStrip cmsMain;
- private System.Windows.Forms.ToolStripMenuItem menuExit;
- private System.Windows.Forms.Panel panel1;
- private System.Windows.Forms.ToolStripMenuItem menuServers;
- private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
- private System.Windows.Forms.ContextMenuStrip cmsLv;
- private System.Windows.Forms.ToolStripMenuItem menuAddVmessServer;
- private System.Windows.Forms.ToolStripMenuItem menuRemoveServer;
- private System.Windows.Forms.ToolStripMenuItem menuSetDefaultServer;
- private System.Windows.Forms.ToolStripMenuItem menuCopyServer;
- private System.Windows.Forms.ToolStripMenuItem menuPingServer;
- private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
- private System.Windows.Forms.ToolStripMenuItem menuExport2ClientConfig;
- private System.Windows.Forms.ToolStripMenuItem menuExport2ServerConfig;
- private System.Windows.Forms.ToolStrip tsMain;
- private System.Windows.Forms.ToolStripDropDownButton tsbServer;
- private System.Windows.Forms.ToolStripButton tsbClose;
- private System.Windows.Forms.ToolStripSeparator toolStripSeparator4;
- private System.Windows.Forms.ToolStripSeparator toolStripSeparator5;
- private System.Windows.Forms.ToolStripSeparator toolStripSeparator6;
- private System.Windows.Forms.ToolStripSeparator toolStripSeparator7;
- private System.Windows.Forms.ToolStripSeparator toolStripSeparator9;
- private System.Windows.Forms.ToolStripMenuItem menuSysAgentMode;
- private System.Windows.Forms.ToolStripMenuItem menuGlobal;
- private System.Windows.Forms.ToolStripMenuItem menuKeepClear;
- private System.Windows.Forms.ToolStripMenuItem menuAddCustomServer;
- private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
- private System.Windows.Forms.ToolStripMenuItem menuAddShadowsocksServer;
- private System.Windows.Forms.SplitContainer scServers;
- private QRCodeControl qrCodeControl;
- private System.Windows.Forms.ToolStripSeparator toolStripSeparator10;
- private System.Windows.Forms.ToolStripDropDownButton tsbCheckUpdate;
- private System.Windows.Forms.ToolStripMenuItem tsbCheckUpdateN;
- private System.Windows.Forms.ToolStripMenuItem tsbCheckUpdateCore;
- private System.Windows.Forms.ToolStripMenuItem menuAddServers;
- private System.Windows.Forms.ToolStripMenuItem menuExport2ShareUrl;
- private System.Windows.Forms.ToolStripMenuItem menuSpeedServer;
- private System.Windows.Forms.ToolStripSeparator toolStripSeparator11;
- private System.Windows.Forms.ToolStripDropDownButton tsbHelp;
- private System.Windows.Forms.ToolStripMenuItem tsbAbout;
- private System.Windows.Forms.ToolStripMenuItem menuAddServers2;
- private System.Windows.Forms.ToolStripMenuItem menuScanScreen;
- private System.Windows.Forms.ToolStripMenuItem menuScanScreen2;
- private System.Windows.Forms.ToolStripDropDownButton tsbSub;
- private System.Windows.Forms.ToolStripSeparator toolStripSeparator8;
- private System.Windows.Forms.ToolStripMenuItem tsbSubSetting;
- private System.Windows.Forms.ToolStripMenuItem tsbSubUpdate;
- private System.Windows.Forms.ToolStripMenuItem menuSelectAll;
- private System.Windows.Forms.ToolStripMenuItem menuExport2SubContent;
- private System.Windows.Forms.ToolStripSeparator toolStripSeparator12;
- private System.Windows.Forms.ToolStripMenuItem tsbLanguageDef;
- private System.Windows.Forms.ToolStripMenuItem tsbLanguageZhHans;
- private System.Windows.Forms.ToolStripButton tsbPromotion;
- private System.Windows.Forms.ToolStripMenuItem menuAddSocksServer;
- private System.Windows.Forms.ToolStripMenuItem menuRemoveDuplicateServer;
- private System.Windows.Forms.ToolStripMenuItem menuTcpingServer;
- private System.Windows.Forms.ToolStripMenuItem menuRealPingServer;
- private System.Windows.Forms.ToolStripMenuItem menuUpdateSubscriptions;
- private System.Windows.Forms.ToolStripMenuItem tsbV2rayWebsite;
- private System.Windows.Forms.ToolStripMenuItem menuKeepNothing;
- private System.Windows.Forms.ToolStripMenuItem tsbTestMe;
- private System.Windows.Forms.ToolStripButton tsbReload;
- private System.Windows.Forms.ToolStripButton tsbQRCodeSwitch;
- private System.Windows.Forms.ToolStripMenuItem menuAddVlessServer;
- private System.Windows.Forms.ToolStripMenuItem menuAddTrojanServer;
- private System.Windows.Forms.ToolStripDropDownButton tsbSetting;
- private System.Windows.Forms.ToolStripMenuItem tsbOptionSetting;
- private System.Windows.Forms.ToolStripMenuItem tsbRoutingSetting;
- private System.Windows.Forms.ToolStripMenuItem tsbCheckUpdateXrayCore;
- private System.Windows.Forms.ToolStripMenuItem menuClearServerStatistics;
- private System.Windows.Forms.ToolStripMenuItem menuRoutings;
- private System.Windows.Forms.ToolStripSeparator toolStripSeparator13;
- private System.Windows.Forms.ToolStripSeparator toolStripSeparator14;
- private System.Windows.Forms.ToolStripMenuItem tsbBackupGuiNConfig;
- private System.Windows.Forms.ToolStripSeparator toolStripSeparator15;
- private System.Windows.Forms.ToolStripMenuItem tsbCheckUpdateGeo;
- private System.Windows.Forms.SplitContainer scBig;
- private System.Windows.Forms.ToolStripMenuItem tsbSubUpdateViaProxy;
- private System.Windows.Forms.ToolStripMenuItem menuUpdateSubViaProxy;
- private System.Windows.Forms.ToolStripMenuItem tsbGlobalHotkeySetting;
- private System.Windows.Forms.TabControl tabGroup;
- private System.Windows.Forms.ToolStripMenuItem tsbGroupSetting;
- private System.Windows.Forms.ToolStripMenuItem menuMoveToGroup;
- private MainMsgControl mainMsgControl;
- private System.Windows.Forms.ToolStripMenuItem menuMoveEvent;
- private System.Windows.Forms.ToolStripMenuItem menuMoveTop;
- private System.Windows.Forms.ToolStripMenuItem menuMoveUp;
- private System.Windows.Forms.ToolStripMenuItem menuMoveDown;
- private System.Windows.Forms.ToolStripMenuItem menuMoveBottom;
- private System.Windows.Forms.ToolStripMenuItem menuServerFilter;
- private System.Windows.Forms.ToolStripMenuItem tsbCheckUpdateClashCore;
- private System.Windows.Forms.ToolStripMenuItem tsbCheckUpdateClashMetaCore;
- private System.Windows.Forms.ToolStripSeparator toolStripSeparator16;
- private System.Windows.Forms.ToolStripMenuItem menuSortServerResult;
- private System.Windows.Forms.ToolStripMenuItem tsbCheckUpdateSagerNetCore;
- private System.Windows.Forms.ToolStripMenuItem tsbSubGroupUpdate;
- private System.Windows.Forms.ToolStripMenuItem tsbSubGroupUpdateViaProxy;
- private System.Windows.Forms.ToolStripMenuItem tsbRestoreGuiNConfig;
- }
-}
-
diff --git a/v2rayN/v2rayN/Forms/MainForm.cs b/v2rayN/v2rayN/Forms/MainForm.cs
deleted file mode 100644
index 12f5000b..00000000
--- a/v2rayN/v2rayN/Forms/MainForm.cs
+++ /dev/null
@@ -1,1606 +0,0 @@
-using NHotkey;
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows.Forms;
-using v2rayN.Handler;
-using v2rayN.Mode;
-using v2rayN.Resx;
-using v2rayN.Tool;
-
-namespace v2rayN.Forms
-{
- public partial class MainForm : BaseForm
- {
- private V2rayHandler v2rayHandler;
- private List lstSelecteds = new List();
- private StatisticsHandler statistics;
- private List lstVmess;
- private string _groupId = string.Empty;
- private string serverFilter = string.Empty;
-
- #region Window 事件
-
- public MainForm()
- {
- InitializeComponent();
- ShowInTaskbar = false;
- WindowState = FormWindowState.Minimized;
- HideForm();
- Text = Utils.GetVersion();
- Global.processJob = new Job();
-
- Application.ApplicationExit += (sender, args) =>
- {
- MyAppExit(false);
- };
- }
-
- private void MainForm_Load(object sender, EventArgs e)
- {
- if (ConfigHandler.LoadConfig(ref config) != 0)
- {
- UI.ShowWarning($"Loading GUI configuration file is abnormal,please restart the application{Environment.NewLine}加载GUI配置文件异常,请重启应用");
- Environment.Exit(0);
- return;
- }
-
- ConfigHandler.InitBuiltinRouting(ref config);
- MainFormHandler.Instance.BackupGuiNConfig(config, true);
- v2rayHandler = new V2rayHandler();
- v2rayHandler.ProcessEvent += v2rayHandler_ProcessEvent;
-
- if (config.enableStatistics)
- {
- statistics = new StatisticsHandler(config, UpdateStatisticsHandler);
- }
- }
-
- private void MainForm_VisibleChanged(object sender, EventArgs e)
- {
- if (statistics == null || !statistics.Enable) return;
- if ((sender as Form).Visible)
- {
- statistics.UpdateUI = true;
- }
- else
- {
- statistics.UpdateUI = false;
- }
- }
-
- private void MainForm_Shown(object sender, EventArgs e)
- {
- InitGroupView();
- InitServersView();
- RefreshServers();
- RefreshRoutingsMenu();
- RestoreUI();
-
- HideForm();
-
- MainFormHandler.Instance.UpdateTask(config, UpdateTaskHandler);
- MainFormHandler.Instance.RegisterGlobalHotkey(config, OnHotkeyHandler, UpdateTaskHandler);
-
- _ = LoadV2ray();
-
- if (!Utils.CheckForDotNetVersion())
- {
- UI.ShowWarning(ResUI.NetFrameworkRequirementsTip);
- AppendText(false, ResUI.NetFrameworkRequirementsTip);
- }
- }
-
- private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
- {
- switch (e.CloseReason)
- {
- case CloseReason.UserClosing:
- StorageUI();
- e.Cancel = true;
- HideForm();
- break;
- case CloseReason.ApplicationExitCall:
- case CloseReason.FormOwnerClosing:
- case CloseReason.TaskManagerClosing:
- MyAppExit(false);
- break;
- case CloseReason.WindowsShutDown:
- MyAppExit(true);
- break;
- }
- }
-
- private void MainForm_Resize(object sender, EventArgs e)
- {
- //if (this.WindowState == FormWindowState.Minimized)
- //{
- // HideForm();
- //}
- //else
- //{
-
- //}
- }
- private void MyAppExit(bool blWindowsShutDown)
- {
- try
- {
- Utils.SaveLog("MyAppExit Begin");
-
- StorageUI();
- ConfigHandler.SaveConfig(ref config);
-
- //HttpProxyHandle.CloseHttpAgent(config);
- if (blWindowsShutDown)
- {
- SysProxyHandle.ResetIEProxy4WindowsShutDown();
- }
- else
- {
- SysProxyHandle.UpdateSysProxy(config, true);
- }
-
- statistics?.SaveToFile();
- statistics?.Close();
-
- v2rayHandler.V2rayStop();
- Utils.SaveLog("MyAppExit End");
- }
- catch { }
- }
-
- private void RestoreUI()
- {
- scServers.Panel2Collapsed = true;
-
- //if (!config.uiItem.mainLocation.IsEmpty)
- //{
- // if (config.uiItem.mainLocation.X >= SystemInformation.WorkingArea.Width
- // || config.uiItem.mainLocation.Y >= SystemInformation.WorkingArea.Height)
- // {
- // Location = new Point(0, 0);
- // }
- // else
- // {
- // Location = config.uiItem.mainLocation;
- // }
- //}
- if (!config.uiItem.mainSize.IsEmpty)
- {
- Width = config.uiItem.mainSize.Width;
- Height = config.uiItem.mainSize.Height;
- }
-
-
- for (int k = 0; k < lvServers.Columns.Count; k++)
- {
- var width = ConfigHandler.GetformMainLvColWidth(ref config, ((EServerColName)k).ToString(), lvServers.Columns[k].Width);
- lvServers.Columns[k].Width = width;
- }
- }
-
- private void StorageUI()
- {
- config.uiItem.mainLocation = Location;
-
- config.uiItem.mainSize = new Size(Width, Height);
-
- for (int k = 0; k < lvServers.Columns.Count; k++)
- {
- ConfigHandler.AddformMainLvColWidth(ref config, ((EServerColName)k).ToString(), lvServers.Columns[k].Width);
- }
- }
-
- private void OnHotkeyHandler(object sender, HotkeyEventArgs e)
- {
- switch (Utils.ToInt(e.Name))
- {
- case (int)EGlobalHotkey.ShowForm:
- if (ShowInTaskbar) HideForm(); else ShowForm();
- break;
- case (int)EGlobalHotkey.SystemProxyClear:
- SetListenerType(ESysProxyType.ForcedClear);
- break;
- case (int)EGlobalHotkey.SystemProxySet:
- SetListenerType(ESysProxyType.ForcedChange);
- break;
- case (int)EGlobalHotkey.SystemProxyUnchanged:
- SetListenerType(ESysProxyType.Unchanged);
- break;
- }
- e.Handled = true;
- }
-
- #endregion
-
- #region 显示服务器 listview 和 menu
-
- ///
- /// 刷新服务器
- ///
- private void RefreshServers()
- {
- lstVmess = config.vmess
- .Where(it => Utils.IsNullOrEmpty(_groupId) || it.groupId == _groupId)
- .Where(it => Utils.IsNullOrEmpty(serverFilter) || it.remarks.Contains(serverFilter))
- .OrderBy(it => it.sort)
- .ToList();
-
- ConfigHandler.SetDefaultServer(config, lstVmess);
- BeginInvoke(new Action(() =>
- {
- RefreshServersView();
- }));
-
- RefreshServersMenu();
- }
-
- ///
- /// 初始化服务器列表
- ///
- private void InitServersView()
- {
- lvServers.BeginUpdate();
- lvServers.Items.Clear();
-
- lvServers.GridLines = true;
- lvServers.FullRowSelect = true;
- lvServers.View = View.Details;
- lvServers.Scrollable = true;
- lvServers.MultiSelect = true;
- lvServers.HeaderStyle = ColumnHeaderStyle.Clickable;
- lvServers.RegisterDragEvent(UpdateDragEventHandler);
-
- lvServers.Columns.Add("", 30);
- lvServers.Columns.Add(ResUI.LvServiceType, 80);
- lvServers.Columns.Add(ResUI.LvAlias, 100);
- lvServers.Columns.Add(ResUI.LvAddress, 120);
- lvServers.Columns.Add(ResUI.LvPort, 100);
- lvServers.Columns.Add(ResUI.LvEncryptionMethod, 120);
- lvServers.Columns.Add(ResUI.LvTransportProtocol, 120);
- lvServers.Columns.Add(ResUI.LvTLS, 100);
- lvServers.Columns.Add(ResUI.LvSubscription, 100);
- lvServers.Columns.Add(ResUI.LvTestResults, 120, HorizontalAlignment.Right);
-
- if (statistics != null && statistics.Enable)
- {
- lvServers.Columns.Add(ResUI.LvTodayDownloadDataAmount, 70);
- lvServers.Columns.Add(ResUI.LvTodayUploadDataAmount, 70);
- lvServers.Columns.Add(ResUI.LvTotalDownloadDataAmount, 70);
- lvServers.Columns.Add(ResUI.LvTotalUploadDataAmount, 70);
- }
- lvServers.EndUpdate();
- }
-
- private void UpdateDragEventHandler(int index, int targetIndex)
- {
- if (index < 0 || targetIndex < 0)
- {
- return;
- }
- if (ConfigHandler.MoveServer(ref config, ref lstVmess, index, EMove.Position, targetIndex) == 0)
- {
- RefreshServers();
- }
- }
-
- ///
- /// 刷新服务器列表
- ///
- private void RefreshServersView()
- {
- int index = GetLvSelectedIndex(false);
-
- lvServers.BeginUpdate();
- lvServers.Items.Clear();
-
- for (int k = 0; k < lstVmess.Count; k++)
- {
- string def = (k + 1).ToString();
- VmessItem item = lstVmess[k];
- if (config.IsActiveNode(item))
- {
- def = Global.CheckMark;
- }
-
- ListViewItem lvItem = new ListViewItem(def);
- Utils.AddSubItem(lvItem, EServerColName.configType.ToString(), (item.configType).ToString());
- Utils.AddSubItem(lvItem, EServerColName.remarks.ToString(), item.remarks);
- Utils.AddSubItem(lvItem, EServerColName.address.ToString(), item.address);
- Utils.AddSubItem(lvItem, EServerColName.port.ToString(), item.port.ToString());
- Utils.AddSubItem(lvItem, EServerColName.security.ToString(), item.security);
- Utils.AddSubItem(lvItem, EServerColName.network.ToString(), item.network);
- Utils.AddSubItem(lvItem, EServerColName.streamSecurity.ToString(), item.streamSecurity);
- Utils.AddSubItem(lvItem, EServerColName.subRemarks.ToString(), item.GetSubRemarks(config));
- Utils.AddSubItem(lvItem, EServerColName.testResult.ToString(), item.testResult);
-
- if (statistics != null && statistics.Enable)
- {
- string totalUp = string.Empty,
- totalDown = string.Empty,
- todayUp = string.Empty,
- todayDown = string.Empty;
- ServerStatItem sItem = statistics.Statistic.Find(item_ => item_.itemId == item.indexId);
- if (sItem != null)
- {
- totalUp = Utils.HumanFy(sItem.totalUp);
- totalDown = Utils.HumanFy(sItem.totalDown);
- todayUp = Utils.HumanFy(sItem.todayUp);
- todayDown = Utils.HumanFy(sItem.todayDown);
- }
-
- Utils.AddSubItem(lvItem, EServerColName.todayDown.ToString(), todayDown);
- Utils.AddSubItem(lvItem, EServerColName.todayUp.ToString(), todayUp);
- Utils.AddSubItem(lvItem, EServerColName.totalDown.ToString(), totalDown);
- Utils.AddSubItem(lvItem, EServerColName.totalUp.ToString(), totalUp);
- }
-
- if (k % 2 == 1) // 隔行着色
- {
- lvItem.BackColor = Color.WhiteSmoke;
- }
- if (config.IsActiveNode(item))
- {
- //lvItem.Checked = true;
- lvItem.ForeColor = Color.DodgerBlue;
- lvItem.Font = new Font(lvItem.Font, FontStyle.Bold);
- }
-
- if (lvItem != null) lvServers.Items.Add(lvItem);
- }
- lvServers.EndUpdate();
-
- if (index >= 0 && index < lvServers.Items.Count && lvServers.Items.Count > 0)
- {
- lvServers.Items[index].Selected = true;
- lvServers.SetScrollPosition(index);
- }
- }
-
- ///
- /// 刷新托盘服务器菜单
- ///
- private void RefreshServersMenu()
- {
- menuServers.DropDownItems.Clear();
-
- if (lstVmess.Count > config.trayMenuServersLimit)
- {
- menuServers.DropDownItems.Add(new ToolStripMenuItem(ResUI.TooManyServersTip));
- return;
- }
-
- List lst = new List();
- for (int k = 0; k < lstVmess.Count; k++)
- {
- VmessItem item = lstVmess[k];
- string name = item.GetSummary();
-
- ToolStripMenuItem ts = new ToolStripMenuItem(name)
- {
- Tag = k
- };
- if (config.IsActiveNode(item))
- {
- ts.Checked = true;
- }
- ts.Click += ts_Click;
- lst.Add(ts);
- }
- menuServers.DropDownItems.AddRange(lst.ToArray());
- menuServers.Visible = true;
- }
-
- private void ts_Click(object sender, EventArgs e)
- {
- try
- {
- ToolStripItem ts = (ToolStripItem)sender;
- int index = Utils.ToInt(ts.Tag);
- SetDefaultServer(index);
- }
- catch
- {
- }
- }
-
- private void lvServers_SelectedIndexChanged(object sender, EventArgs e)
- {
- }
-
-
- private void lvServers_ColumnClick(object sender, ColumnClickEventArgs e)
- {
- if (e.Column < 0)
- {
- return;
- }
-
- try
- {
- if ((EServerColName)e.Column == EServerColName.def)
- {
- foreach (ColumnHeader it in lvServers.Columns)
- {
- it.Width = -2;
- }
- return;
- }
-
- var tag = lvServers.Columns[e.Column].Tag?.ToString();
- bool asc = Utils.IsNullOrEmpty(tag) || !Convert.ToBoolean(tag);
- if (ConfigHandler.SortServers(ref config, ref lstVmess, (EServerColName)e.Column, asc) != 0)
- {
- return;
- }
- lvServers.Columns[e.Column].Tag = Convert.ToString(asc);
- RefreshServers();
- }
- catch (Exception ex)
- {
- Utils.SaveLog(ex.Message, ex);
- }
-
- if (e.Column < 0)
- {
- return;
- }
-
- }
-
- private void InitGroupView()
- {
- tabGroup.TabPages.Clear();
-
- string title = $" {ResUI.AllGroupServers} ";
- var tabPage = new TabPage(title);
- tabPage.Name = "";
- tabGroup.TabPages.Add(tabPage);
-
- foreach (var item in config.groupItem.OrderBy(t => t.sort))
- {
- var tabPage2 = new TabPage($" {item.remarks} ");
- tabPage2.Name = item.id;
- tabGroup.TabPages.Add(tabPage2);
- }
-
- tabGroup.SelectedIndex = 0;
-
- //menuMoveToGroup
- menuMoveToGroup.DropDownItems.Clear();
-
- List lst = new List();
- foreach (var item in config.groupItem)
- {
- string name = item.remarks;
-
- ToolStripMenuItem ts = new ToolStripMenuItem(name)
- {
- Tag = item.id,
- };
- ts.Click += ts_Group_Click;
- lst.Add(ts);
- }
- menuMoveToGroup.DropDownItems.AddRange(lst.ToArray());
- }
-
- private void tabGroup_SelectedIndexChanged(object sender, EventArgs e)
- {
- if (tabGroup.SelectedIndex < 0)
- {
- return;
- }
- _groupId = string.Empty;
- //groupId = tabGroup.TabPages[tabGroup.SelectedIndex].Name;
- _groupId = tabGroup.SelectedTab.Name;
-
- RefreshServers();
-
- lvServers.Focus();
- }
-
- private void ts_Group_Click(object sender, EventArgs e)
- {
- try
- {
- ToolStripItem ts = (ToolStripItem)sender;
- var groupIdSelected = Utils.ToString(ts.Tag);
-
- int index = GetLvSelectedIndex();
- if (index < 0)
- {
- return;
- }
-
- if (ConfigHandler.MoveServerToGroup(config, lstSelecteds, groupIdSelected) == 0)
- {
- RefreshServers();
- }
- }
- catch
- {
- }
- }
- #endregion
-
- #region v2ray 操作
- ///
- /// 载入V2ray
- ///
- async Task LoadV2ray()
- {
- BeginInvoke(new Action(() =>
- {
- tsbReload.Enabled = false;
- }));
-
- if (Global.reloadV2ray)
- {
- mainMsgControl.ClearMsg();
- }
- await Task.Run(() =>
- {
- v2rayHandler.LoadV2ray(config);
- });
-
- Global.reloadV2ray = false;
- ConfigHandler.SaveConfig(ref config, false);
- statistics?.SaveToFile();
-
- ChangePACButtonStatus(config.sysProxyType);
-
- BeginInvoke(new Action(() =>
- {
- tsbReload.Enabled = true;
- }));
- }
-
- ///
- /// 关闭V2ray
- ///
- private void CloseV2ray()
- {
- ConfigHandler.SaveConfig(ref config, false);
- statistics?.SaveToFile();
-
- ChangePACButtonStatus(ESysProxyType.ForcedClear);
-
- v2rayHandler.V2rayStop();
- }
-
- #endregion
-
- #region 功能按钮
-
- private void lvServers_Click(object sender, EventArgs e)
- {
- int index = GetLvSelectedIndex(false);
- if (index < 0)
- {
- return;
- }
- qrCodeControl.showQRCode(lstVmess[index]);
- }
-
- private void lvServers_DoubleClick(object sender, EventArgs e)
- {
- int index = GetLvSelectedIndex();
- if (index < 0)
- {
- return;
- }
- ShowServerForm(lstVmess[index].configType, index);
- }
- private void ShowServerForm(EConfigType configType, int index)
- {
- BaseServerForm fm;
- if (configType == EConfigType.Custom)
- {
- fm = new AddServer2Form();
- }
- else
- {
- fm = new AddServerForm();
- }
- fm.vmessItem = index >= 0 ? lstVmess[index] : null;
- fm.groupId = _groupId;
- fm.eConfigType = configType;
- if (fm.ShowDialog() == DialogResult.OK)
- {
- RefreshServers();
- _ = LoadV2ray();
- }
- }
-
-
- private void lvServers_KeyDown(object sender, KeyEventArgs e)
- {
- if (e.Control)
- {
- switch (e.KeyCode)
- {
- case Keys.A:
- menuSelectAll_Click(null, null);
- break;
- case Keys.C:
- menuExport2ShareUrl_Click(null, null);
- break;
- case Keys.V:
- menuAddServers_Click(null, null);
- break;
- case Keys.P:
- menuPingServer_Click(null, null);
- break;
- case Keys.O:
- menuTcpingServer_Click(null, null);
- break;
- case Keys.R:
- menuRealPingServer_Click(null, null);
- break;
- case Keys.S:
- menuScanScreen_Click(null, null);
- break;
- case Keys.T:
- menuSpeedServer_Click(null, null);
- break;
- case Keys.F:
- menuServerFilter_Click(null, null);
- break;
- case Keys.E:
- menuSortServerResult_Click(null, null);
- break;
- }
- }
- else
- {
- switch (e.KeyCode)
- {
- case Keys.Enter:
- menuSetDefaultServer_Click(null, null);
- break;
- case Keys.Delete:
- menuRemoveServer_Click(null, null);
- break;
- case Keys.T:
- menuMoveTop_Click(null, null);
- break;
- case Keys.B:
- menuMoveBottom_Click(null, null);
- break;
- case Keys.U:
- menuMoveUp_Click(null, null);
- break;
- case Keys.D:
- menuMoveDown_Click(null, null);
- break;
- }
- }
- }
-
- private void menuAddVmessServer_Click(object sender, EventArgs e)
- {
- ShowServerForm(EConfigType.VMess, -1);
- }
-
- private void menuAddVlessServer_Click(object sender, EventArgs e)
- {
- ShowServerForm(EConfigType.VLESS, -1);
- }
-
- private void menuRemoveServer_Click(object sender, EventArgs e)
- {
-
- int index = GetLvSelectedIndex();
- if (index < 0)
- {
- return;
- }
- if (UI.ShowYesNo(ResUI.RemoveServer) == DialogResult.No)
- {
- return;
- }
-
- ConfigHandler.RemoveServer(config, lstSelecteds);
-
- RefreshServers();
- _ = LoadV2ray();
- }
-
- private void menuRemoveDuplicateServer_Click(object sender, EventArgs e)
- {
- int oldCount = lstVmess.Count;
- int newCount = ConfigHandler.DedupServerList(ref config, ref lstVmess);
- RefreshServers();
- _ = LoadV2ray();
- UI.Show(string.Format(ResUI.RemoveDuplicateServerResult, oldCount, newCount));
- }
-
- private void menuCopyServer_Click(object sender, EventArgs e)
- {
- int index = GetLvSelectedIndex();
- if (index < 0)
- {
- return;
- }
- if (ConfigHandler.CopyServer(ref config, lstSelecteds) == 0)
- {
- RefreshServers();
- }
- }
-
- private void menuSetDefaultServer_Click(object sender, EventArgs e)
- {
- int index = GetLvSelectedIndex();
- if (index < 0)
- {
- return;
- }
- SetDefaultServer(index);
- }
-
- private void menuServerFilter_Click(object sender, EventArgs e)
- {
- var fm = new MsgFilterSetForm();
- fm.MsgFilter = serverFilter;
- if (fm.ShowDialog() == DialogResult.OK)
- {
- serverFilter = fm.MsgFilter;
- gbServers.Text = string.Format(ResUI.MsgServerTitle, serverFilter);
- RefreshServers();
- }
- }
-
- private void menuPingServer_Click(object sender, EventArgs e)
- {
- Speedtest(ESpeedActionType.Ping);
- }
- private void menuTcpingServer_Click(object sender, EventArgs e)
- {
- Speedtest(ESpeedActionType.Tcping);
- }
-
- private void menuRealPingServer_Click(object sender, EventArgs e)
- {
- //if (!config.sysAgentEnabled)
- //{
- // UI.Show(ResUI.NeedHttpGlobalProxy"));
- // return;
- //}
-
- //UI.Show(ResUI.SpeedServerTips"));
-
- Speedtest(ESpeedActionType.Realping);
- }
-
- private void menuSpeedServer_Click(object sender, EventArgs e)
- {
- //if (!config.sysAgentEnabled)
- //{
- // UI.Show(ResUI.NeedHttpGlobalProxy"));
- // return;
- //}
-
- //UI.Show(ResUI.SpeedServerTips"));
-
- Speedtest(ESpeedActionType.Speedtest);
- }
- private void Speedtest(ESpeedActionType actionType)
- {
- if (GetLvSelectedIndex() < 0) return;
- ClearTestResult();
- SpeedtestHandler statistics = new SpeedtestHandler(config, v2rayHandler, lstSelecteds, actionType, UpdateSpeedtestHandler);
- }
- private void menuSortServerResult_Click(object sender, EventArgs e)
- {
- lvServers_ColumnClick(null, new ColumnClickEventArgs((int)EServerColName.testResult));
- }
-
- private void tsbTestMe_Click(object sender, EventArgs e)
- {
- var updateHandle = new UpdateHandle();
- updateHandle.RunAvailabilityCheck(UpdateTaskHandler);
- }
-
- private void menuClearStatistic_Click(object sender, EventArgs e)
- {
- if (statistics != null)
- {
- statistics.ClearAllServerStatistics();
- RefreshServers();
- }
- }
-
- private void menuExport2ClientConfig_Click(object sender, EventArgs e)
- {
- int index = GetLvSelectedIndex();
- if (index < 0)
- {
- return;
- }
- MainFormHandler.Instance.Export2ClientConfig(lstVmess[index], config);
- }
-
- private void menuExport2ServerConfig_Click(object sender, EventArgs e)
- {
- int index = GetLvSelectedIndex();
- if (index < 0)
- {
- return;
- }
- MainFormHandler.Instance.Export2ServerConfig(lstVmess[index], config);
- }
-
- private void menuExport2ShareUrl_Click(object sender, EventArgs e)
- {
- GetLvSelectedIndex();
-
- StringBuilder sb = new StringBuilder();
- foreach (var it in lstSelecteds)
- {
- string url = ShareHandler.GetShareUrl(it);
- if (Utils.IsNullOrEmpty(url))
- {
- continue;
- }
- sb.Append(url);
- sb.AppendLine();
- }
- if (sb.Length > 0)
- {
- Utils.SetClipboardData(sb.ToString());
- AppendText(false, ResUI.BatchExportURLSuccessfully);
- //UI.Show(ResUI.BatchExportURLSuccessfully"));
- }
- }
-
- private void menuExport2SubContent_Click(object sender, EventArgs e)
- {
- GetLvSelectedIndex();
-
- StringBuilder sb = new StringBuilder();
- foreach (var it in lstSelecteds)
- {
- string url = ShareHandler.GetShareUrl(it);
- if (Utils.IsNullOrEmpty(url))
- {
- continue;
- }
- sb.Append(url);
- sb.AppendLine();
- }
- if (sb.Length > 0)
- {
- Utils.SetClipboardData(Utils.Base64Encode(sb.ToString()));
- UI.Show(ResUI.BatchExportSubscriptionSuccessfully);
- }
- }
-
- private void tsbOptionSetting_Click(object sender, EventArgs e)
- {
- OptionSettingForm fm = new OptionSettingForm();
- if (fm.ShowDialog() == DialogResult.OK)
- {
- RefreshServers();
- _ = LoadV2ray();
- }
- }
-
- private void tsbRoutingSetting_Click(object sender, EventArgs e)
- {
- var fm = new RoutingSettingForm();
- if (fm.ShowDialog() == DialogResult.OK)
- {
- RefreshRoutingsMenu();
- RefreshServers();
- _ = LoadV2ray();
- }
- }
-
- private void tsbGlobalHotkeySetting_Click(object sender, EventArgs e)
- {
- var fm = new GlobalHotkeySettingForm();
- if (fm.ShowDialog() == DialogResult.OK)
- {
- //RefreshRoutingsMenu();
- //RefreshServers();
- //_ = LoadV2ray();
- }
-
- }
-
- private void tsbGroupSetting_Click(object sender, EventArgs e)
- {
- var fm = new GroupSettingForm();
- if (fm.ShowDialog() == DialogResult.OK)
- {
- InitGroupView();
- RefreshServers();
- }
-
- }
-
- private void tsbReload_Click(object sender, EventArgs e)
- {
- Global.reloadV2ray = true;
- _ = LoadV2ray();
- }
-
- private void tsbClose_Click(object sender, EventArgs e)
- {
- StorageUI();
- HideForm();
- //this.WindowState = FormWindowState.Minimized;
- }
-
- ///
- /// 设置活动服务器
- ///
- ///
- ///
- private int SetDefaultServer(int index)
- {
- if (index < 0)
- {
- UI.Show(ResUI.PleaseSelectServer);
- return -1;
- }
- if (ConfigHandler.SetDefaultServer(ref config, lstVmess[index]) == 0)
- {
- //RefreshServers();
- for (int k = 0; k < lstVmess.Count; k++)
- {
- if (config.IsActiveNode(lstVmess[k]))
- {
- lvServers.Items[k].SubItems[0].Text = Global.CheckMark;
- lvServers.Items[k].ForeColor = Color.DodgerBlue;
- lvServers.Items[k].Font = new Font(lvServers.Font, FontStyle.Bold);
- }
- else
- {
- lvServers.Items[k].SubItems[0].Text = (k + 1).ToString();
- lvServers.Items[k].ForeColor = lvServers.ForeColor;
- lvServers.Items[k].Font = new Font(lvServers.Font, FontStyle.Regular);
- }
- }
- RefreshServersMenu();
- _ = LoadV2ray();
- }
- return 0;
- }
-
- ///
- /// 取得ListView选中的行
- ///
- ///
- private int GetLvSelectedIndex(bool show = true)
- {
- int index = -1;
- lstSelecteds.Clear();
- try
- {
- if (lvServers.SelectedIndices.Count <= 0)
- {
- if (show)
- {
- UI.Show(ResUI.PleaseSelectServer);
- }
- return index;
- }
-
- index = lvServers.SelectedIndices[0];
- foreach (int i in lvServers.SelectedIndices)
- {
- lstSelecteds.Add(lstVmess[i]);
- }
- return index;
- }
- catch
- {
- return index;
- }
- }
-
- private void menuAddCustomServer_Click(object sender, EventArgs e)
- {
- ShowServerForm(EConfigType.Custom, -1);
- }
-
- private void menuAddShadowsocksServer_Click(object sender, EventArgs e)
- {
- ShowServerForm(EConfigType.Shadowsocks, -1);
- ShowForm();
- }
-
- private void menuAddSocksServer_Click(object sender, EventArgs e)
- {
- ShowServerForm(EConfigType.Socks, -1);
- ShowForm();
- }
-
- private void menuAddTrojanServer_Click(object sender, EventArgs e)
- {
- ShowServerForm(EConfigType.Trojan, -1);
- ShowForm();
- }
-
- private void menuAddServers_Click(object sender, EventArgs e)
- {
- string clipboardData = Utils.GetClipboardData();
- int ret = ConfigHandler.AddBatchServers(ref config, clipboardData, "", _groupId);
- if (ret > 0)
- {
- RefreshServers();
- UI.Show(string.Format(ResUI.SuccessfullyImportedServerViaClipboard, ret));
- }
- }
-
- private void menuScanScreen_Click(object sender, EventArgs e)
- {
- _ = ScanScreenTaskAsync();
- }
-
- public async Task ScanScreenTaskAsync()
- {
- HideForm();
-
- string result = await Task.Run(() =>
- {
- return Utils.ScanScreen();
- });
-
- ShowForm();
-
- if (Utils.IsNullOrEmpty(result))
- {
- UI.ShowWarning(ResUI.NoValidQRcodeFound);
- }
- else
- {
- int ret = ConfigHandler.AddBatchServers(ref config, result, "", _groupId);
- if (ret > 0)
- {
- RefreshServers();
- UI.Show(ResUI.SuccessfullyImportedServerViaScan);
- }
- }
- }
-
- private void menuUpdateSubscriptions_Click(object sender, EventArgs e)
- {
- UpdateSubscriptionProcess("", false);
- }
- private void menuUpdateSubViaProxy_Click(object sender, EventArgs e)
- {
- UpdateSubscriptionProcess("", true);
- }
-
- private void tsbBackupGuiNConfig_Click(object sender, EventArgs e)
- {
- MainFormHandler.Instance.BackupGuiNConfig(config);
- }
-
- private void tsbRestoreGuiNConfig_Click(object sender, EventArgs e)
- {
- if (MainFormHandler.Instance.RestoreGuiNConfig(ref config))
- {
- RefreshServers();
- }
- }
- #endregion
-
-
- #region 提示信息
-
- ///
- /// 消息委托
- ///
- ///
- ///
- void v2rayHandler_ProcessEvent(bool notify, string msg)
- {
- AppendText(notify, msg);
- }
-
- void AppendText(bool notify, string msg)
- {
- try
- {
- mainMsgControl.AppendText(msg);
- if (notify)
- {
- notifyMsg(msg);
- }
- }
- catch { }
- }
-
- ///
- /// 托盘信息
- ///
- ///
- private void notifyMsg(string msg)
- {
- notifyMain.Text = (msg.Length <= 63 ? msg : msg.Substring(1, 63));
- }
-
- #endregion
-
-
- #region 托盘事件
-
- private void notifyMain_MouseClick(object sender, MouseEventArgs e)
- {
- if (e.Button == MouseButtons.Left)
- {
- ShowForm();
- }
- }
-
- private void menuExit_Click(object sender, EventArgs e)
- {
- Visible = false;
- Close();
-
- Application.Exit();
- }
-
-
- private void ShowForm()
- {
- Show();
- if (WindowState == FormWindowState.Minimized)
- {
- WindowState = FormWindowState.Normal;
- }
- Activate();
- ShowInTaskbar = true;
- //this.notifyIcon1.Visible = false;
- mainMsgControl.ScrollToCaret();
-
- int index = GetLvSelectedIndex(false);
- if (index >= 0 && index < lvServers.Items.Count && lvServers.Items.Count > 0)
- {
- lvServers.Items[index].Selected = true;
- lvServers.SetScrollPosition(index);
- }
-
- SetVisibleCore(true);
- }
-
- private void HideForm()
- {
- //this.WindowState = FormWindowState.Minimized;
- Hide();
- //this.notifyMain.Icon = this.Icon;
- notifyMain.Visible = true;
- ShowInTaskbar = false;
-
- SetVisibleCore(false);
-
- //write Handle to reg
- if (IsHandleCreated)
- {
- Utils.RegWriteValue(Global.MyRegPath, Utils.WindowHwndKey, Convert.ToString((long)Handle));
- }
- }
-
- #endregion
-
- #region 后台测速
- private void SetTestResult(string indexId, string txt)
- {
- int k = lstVmess.FindIndex(it => it.indexId == indexId);
- if (k >= 0 && k < lvServers.Items.Count)
- {
- lstVmess[k].testResult = txt;
- lvServers.Items[k].SubItems["testResult"].Text = txt;
- }
- else
- {
- AppendText(false, txt);
- }
- }
- private void SetTestResult(int k, string txt)
- {
- if (k < lvServers.Items.Count)
- {
- lstVmess[k].testResult = txt;
- lvServers.Items[k].SubItems["testResult"].Text = txt;
- }
- }
- private void ClearTestResult()
- {
- foreach (var it in lstSelecteds)
- {
- SetTestResult(it.indexId, "");
- }
- }
- private void UpdateSpeedtestHandler(string indexId, string msg)
- {
- lvServers.Invoke((MethodInvoker)delegate
- {
- SetTestResult(indexId, msg);
- });
- }
-
- private void UpdateStatisticsHandler(ulong up, ulong down, List statistics)
- {
- try
- {
- up /= (ulong)(config.statisticsFreshRate);
- down /= (ulong)(config.statisticsFreshRate);
- mainMsgControl.SetToolSslInfo("speed", string.Format("{0}/s↑ | {1}/s↓", Utils.HumanFy(up), Utils.HumanFy(down)));
-
- foreach (var it in statistics)
- {
- int index = lstVmess.FindIndex(item => item.indexId == it.itemId);
- if (index < 0)
- {
- continue;
- }
- lvServers.Invoke((MethodInvoker)delegate
- {
- lvServers.BeginUpdate();
-
- lvServers.Items[index].SubItems["todayDown"].Text = Utils.HumanFy(it.todayDown);
- lvServers.Items[index].SubItems["todayUp"].Text = Utils.HumanFy(it.todayUp);
- lvServers.Items[index].SubItems["totalDown"].Text = Utils.HumanFy(it.totalDown);
- lvServers.Items[index].SubItems["totalUp"].Text = Utils.HumanFy(it.totalUp);
-
- lvServers.EndUpdate();
- });
- }
-
- }
- catch (Exception ex)
- {
- Utils.SaveLog(ex.Message, ex);
- }
- }
-
- private async void UpdateTaskHandler(bool success, string msg)
- {
- AppendText(false, msg);
- if (success)
- {
- RefreshServers();
- Global.reloadV2ray = true;
- await LoadV2ray();
- }
- }
- #endregion
-
- #region 移动服务器
-
- private void menuMoveTop_Click(object sender, EventArgs e)
- {
- MoveServer(EMove.Top);
- }
-
- private void menuMoveUp_Click(object sender, EventArgs e)
- {
- MoveServer(EMove.Up);
- }
-
- private void menuMoveDown_Click(object sender, EventArgs e)
- {
- MoveServer(EMove.Down);
- }
-
- private void menuMoveBottom_Click(object sender, EventArgs e)
- {
- MoveServer(EMove.Bottom);
- }
-
- private void MoveServer(EMove eMove)
- {
- int index = GetLvSelectedIndex();
- if (index < 0)
- {
- return;
- }
- if (ConfigHandler.MoveServer(ref config, ref lstVmess, index, eMove) == 0)
- {
- //TODO: reload is not good.
- RefreshServers();
- //LoadV2ray();
- }
- }
- private void menuSelectAll_Click(object sender, EventArgs e)
- {
- foreach (ListViewItem item in lvServers.Items)
- {
- item.Selected = true;
- }
- }
- private void menuMoveToGroup_Click(object sender, EventArgs e)
- {
- }
- #endregion
-
- #region 系统代理相关
- private void menuKeepClear_Click(object sender, EventArgs e)
- {
- SetListenerType(ESysProxyType.ForcedClear);
- }
- private void menuGlobal_Click(object sender, EventArgs e)
- {
- SetListenerType(ESysProxyType.ForcedChange);
- }
-
- private void menuKeepNothing_Click(object sender, EventArgs e)
- {
- SetListenerType(ESysProxyType.Unchanged);
- }
- private void SetListenerType(ESysProxyType type)
- {
- config.sysProxyType = type;
- ChangePACButtonStatus(type);
- }
-
- private void ChangePACButtonStatus(ESysProxyType type)
- {
- SysProxyHandle.UpdateSysProxy(config, false);
-
- for (int k = 0; k < menuSysAgentMode.DropDownItems.Count; k++)
- {
- ToolStripMenuItem item = ((ToolStripMenuItem)menuSysAgentMode.DropDownItems[k]);
- item.Checked = ((int)type == k);
- }
-
- ConfigHandler.SaveConfig(ref config, false);
-
- mainMsgControl.DisplayToolStatus(config);
-
- BeginInvoke(new Action(() =>
- {
- notifyMain.Icon = Icon = MainFormHandler.Instance.GetNotifyIcon(config, Icon);
- }));
- }
-
- #endregion
-
-
- #region CheckUpdate
-
- private void tsbCheckUpdateN_Click(object sender, EventArgs e)
- {
- Process.Start(Global.UpdateUrl);
-
- //void _updateUI(bool success, string msg)
- //{
- // AppendText(false, msg);
- // if (success)
- // {
- // menuExit_Click(null, null);
- // }
- //};
- //(new UpdateHandle()).CheckUpdateGuiN(config, _updateUI, config.checkPreReleaseUpdate);
- }
-
- private void tsbCheckUpdateCore_Click(object sender, EventArgs e)
- {
- CheckUpdateCore(ECoreType.v2fly_v5);
- }
-
- private void tsbCheckUpdateSagerNetCore_Click(object sender, EventArgs e)
- {
- CheckUpdateCore(ECoreType.SagerNet);
- }
-
- private void tsbCheckUpdateXrayCore_Click(object sender, EventArgs e)
- {
- CheckUpdateCore(ECoreType.Xray);
- }
-
- private void tsbCheckUpdateClashCore_Click(object sender, EventArgs e)
- {
- CheckUpdateCore(ECoreType.clash);
- }
-
- private void tsbCheckUpdateClashMetaCore_Click(object sender, EventArgs e)
- {
- CheckUpdateCore(ECoreType.clash_meta);
- }
-
- private void CheckUpdateCore(ECoreType type)
- {
- void _updateUI(bool success, string msg)
- {
- AppendText(false, msg);
- if (success)
- {
- CloseV2ray();
-
- string fileName = Utils.GetPath(Utils.GetDownloadFileName(msg));
- FileManager.ZipExtractToFile(fileName, config.ignoreGeoUpdateCore ? "geo" : "");
-
- AppendText(false, ResUI.MsgUpdateV2rayCoreSuccessfullyMore);
-
- Global.reloadV2ray = true;
- _ = LoadV2ray();
-
- AppendText(false, ResUI.MsgUpdateV2rayCoreSuccessfully);
- }
- };
- (new UpdateHandle()).CheckUpdateCore(type, config, _updateUI, config.checkPreReleaseUpdate);
- }
-
- private void tsbCheckUpdateGeo_Click(object sender, EventArgs e)
- {
- Task.Run(() =>
- {
- var updateHandle = new UpdateHandle();
- updateHandle.UpdateGeoFile("geosite", config, UpdateTaskHandler);
- updateHandle.UpdateGeoFile("geoip", config, UpdateTaskHandler);
- });
- }
-
- #endregion
-
- #region Help
-
-
- private void tsbAbout_Click(object sender, EventArgs e)
- {
- Process.Start(Global.AboutUrl);
- }
-
- private void tsbV2rayWebsite_Click(object sender, EventArgs e)
- {
- Process.Start(Global.v2rayWebsiteUrl);
- }
-
- private void tsbPromotion_Click(object sender, EventArgs e)
- {
- Process.Start($"{Utils.Base64Decode(Global.PromotionUrl)}?t={DateTime.Now.Ticks}");
- }
- #endregion
-
- #region 订阅
- private void tsbSubSetting_Click(object sender, EventArgs e)
- {
- SubSettingForm fm = new SubSettingForm();
- if (fm.ShowDialog() == DialogResult.OK)
- {
- RefreshServers();
- }
- }
-
- private void tsbSubUpdate_Click(object sender, EventArgs e)
- {
- UpdateSubscriptionProcess("", false);
- }
-
- private void tsbSubUpdateViaProxy_Click(object sender, EventArgs e)
- {
- UpdateSubscriptionProcess("", true);
- }
- private void tsbSubGroupUpdate_Click(object sender, EventArgs e)
- {
- UpdateSubscriptionProcess(_groupId, true);
- }
-
- private void tsbSubGroupUpdateViaProxy_Click(object sender, EventArgs e)
- {
- UpdateSubscriptionProcess(_groupId, true);
- }
-
- ///
- /// the subscription update process
- ///
- private void UpdateSubscriptionProcess(string groupId, bool blProxy)
- {
- void _updateUI(bool success, string msg)
- {
- AppendText(false, msg);
- if (success)
- {
- RefreshServers();
- if (config.uiItem.enableAutoAdjustMainLvColWidth)
- {
- foreach (ColumnHeader it in lvServers.Columns)
- {
- it.Width = -2;
- }
- }
- }
- };
-
- (new UpdateHandle()).UpdateSubscriptionProcess(config, groupId, blProxy, _updateUI);
- }
-
- private void tsbQRCodeSwitch_CheckedChanged(object sender, EventArgs e)
- {
- bool bShow = tsbQRCodeSwitch.Checked;
- scServers.Panel2Collapsed = !bShow;
- }
- #endregion
-
- #region Language
-
- private void tsbLanguageDef_Click(object sender, EventArgs e)
- {
- SetCurrentLanguage("en");
- }
-
- private void tsbLanguageZhHans_Click(object sender, EventArgs e)
- {
- SetCurrentLanguage("zh-Hans");
- }
- private void SetCurrentLanguage(string value)
- {
- Utils.RegWriteValue(Global.MyRegPath, Global.MyRegKeyLanguage, value);
- //Application.Restart();
- }
-
- #endregion
-
-
- #region RoutingsMenu
-
- ///
- ///
- ///
- private void RefreshRoutingsMenu()
- {
- menuRoutings.Visible = config.enableRoutingAdvanced;
- if (!config.enableRoutingAdvanced)
- {
- mainMsgControl.SetToolSslInfo("routing", string.Empty);
- return;
- }
-
- menuRoutings.DropDownItems.Clear();
-
- List lst = new List();
- for (int k = 0; k < config.routings.Count; k++)
- {
- var item = config.routings[k];
- if (item.locked == true)
- {
- continue;
- }
- string name = item.remarks;
-
- ToolStripMenuItem ts = new ToolStripMenuItem(name)
- {
- Tag = k
- };
- if (config.routingIndex.Equals(k))
- {
- ts.Checked = true;
- mainMsgControl.SetToolSslInfo("routing", item.remarks);
- }
- ts.Click += ts_Routing_Click;
- lst.Add(ts);
- }
- menuRoutings.DropDownItems.AddRange(lst.ToArray());
- }
-
- private void ts_Routing_Click(object sender, EventArgs e)
- {
- try
- {
- ToolStripItem ts = (ToolStripItem)sender;
- int index = Utils.ToInt(ts.Tag);
-
- if (ConfigHandler.SetDefaultRouting(ref config, index) == 0)
- {
- RefreshRoutingsMenu();
- _ = LoadV2ray();
- }
- }
- catch
- {
- }
- }
- #endregion
-
- }
-}
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/MainForm.resx b/v2rayN/v2rayN/Forms/MainForm.resx
deleted file mode 100644
index 7e89ef32..00000000
--- a/v2rayN/v2rayN/Forms/MainForm.resx
+++ /dev/null
@@ -1,1568 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
- Fill
-
-
-
- 3, 21
-
-
- 226, 19
-
-
- 423, 24
-
-
- Add [VMess] server
-
-
- 423, 24
-
-
- Add [VLESS] server
-
-
- 423, 24
-
-
- Add [Shadowsocks] server
-
-
- 423, 24
-
-
- Add [Socks] server
-
-
- 423, 24
-
-
- Add [Trojan] server
-
-
- 423, 24
-
-
- Add a custom configuration server
-
-
- 423, 24
-
-
- Import bulk URL from clipboard (Ctrl+V)
-
-
- 423, 24
-
-
- Scan QR code on the screen (Ctrl+S)
-
-
- 420, 6
-
-
- 423, 24
-
-
- Set server filter (Ctrl+F)
-
-
- 423, 24
-
-
- Remove selected servers (Delete)
-
-
- 423, 24
-
-
- Remove duplicate servers
-
-
- 423, 24
-
-
- Clone selected server
-
-
- 423, 24
-
-
- Set as active server (Enter)
-
-
- 420, 6
-
-
- 423, 24
-
-
- Move to Group
-
-
- 237, 26
-
-
- Move to top (T)
-
-
- 237, 26
-
-
- Up (U)
-
-
- 237, 26
-
-
- Down (D)
-
-
- 237, 26
-
-
- Move to bottom (B)
-
-
- 423, 24
-
-
- Move to
-
-
- 423, 24
-
-
- Select All (Ctrl+A)
-
-
- 420, 6
-
-
- 423, 24
-
-
- Test servers ping (Ctrl+P)
-
-
- 423, 24
-
-
- Test servers with tcping (Ctrl+O)
-
-
- 423, 24
-
-
- Test servers real delay (Ctrl+R)
-
-
- 423, 24
-
-
- Test servers download speed (Ctrl+T)
-
-
- 423, 24
-
-
- Sort by test result (Ctrl+E)
-
-
- 423, 24
-
-
- Test current service status
-
-
- 423, 24
-
-
- Clear all service statistics
-
-
- 420, 6
-
-
- 423, 24
-
-
- Export selected server for client configuration
-
-
- 423, 24
-
-
- Export selected server for server configuration
-
-
- 423, 24
-
-
- Export share URLs to clipboard (Ctrl+C)
-
-
- 423, 24
-
-
- Export subscription (base64) share to clipboard
-
-
- Magenta
-
-
- 77, 56
-
-
- Servers
-
-
- ImageAboveText
-
-
- 424, 676
-
-
- cmsLv
-
-
- System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Fill
-
-
-
- AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
- LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkMAwAAAFFTeXN0
- ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2Vu
- PWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACFTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0l0ZW0HAAAA
- BFRleHQKSW1hZ2VJbmRleAlCYWNrQ29sb3IHQ2hlY2tlZARGb250CUZvcmVDb2xvchdVc2VJdGVtU3R5
- bGVGb3JTdWJJdGVtcwEABAAEBAAIFFN5c3RlbS5EcmF3aW5nLkNvbG9yAwAAAAETU3lzdGVtLkRyYXdp
- bmcuRm9udAMAAAAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAAQIAAAAGBAAAAAD/////Bfv///8UU3lz
- dGVtLkRyYXdpbmcuQ29sb3IEAAAABG5hbWUFdmFsdWUKa25vd25Db2xvcgVzdGF0ZQEAAAAJBwcDAAAA
- CgAAAAAAAAAAGAABAAAJBgAAAAH5////+////woAAAAAAAAAABoAAQABBQYAAAATU3lzdGVtLkRyYXdp
- bmcuRm9udAQAAAAETmFtZQRTaXplBVN0eWxlBFVuaXQBAAQECxhTeXN0ZW0uRHJhd2luZy5Gb250U3R5
- bGUDAAAAG1N5c3RlbS5EcmF3aW5nLkdyYXBoaWNzVW5pdAMAAAADAAAABggAAAAG5a6L5L2TAAAQQQX3
- ////GFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQEAAAAHdmFsdWVfXwAIAwAAAAAAAAAF9v///xtTeXN0
- ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
-
-
-
- 0, 24
-
-
- 1003, 334
-
-
-
- 0
-
-
- lvServers
-
-
- v2rayN.Base.ListViewFlickerFree, v2rayN, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
-
-
- scServers.Panel1
-
-
- 0
-
-
- Top
-
-
- 0, 0
-
-
- 1003, 24
-
-
- 0
-
-
- tabGroup
-
-
- System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- scServers.Panel1
-
-
- 1
-
-
- scServers.Panel1
-
-
- System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- scServers
-
-
- 0
-
-
- Fill
-
-
- 0, 0
-
-
- 4, 4, 4, 4
-
-
- 256, 358
-
-
- 2
-
-
- qrCodeControl
-
-
- v2rayN.Forms.QRCodeControl, v2rayN, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
-
-
- scServers.Panel2
-
-
- 0
-
-
- scServers.Panel2
-
-
- System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- scServers
-
-
- 1
-
-
- 100
-
-
- 1263, 358
-
-
- 1003
-
-
- 0
-
-
- scServers
-
-
- System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- gbServers
-
-
- 0
-
-
- Fill
-
-
- 0, 69
-
-
- Horizontal
-
-
- Fill
-
-
- 0, 0
-
-
- 1269, 382
-
-
- 0
-
-
- gbServers
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- scBig.Panel1
-
-
- 0
-
-
- scBig.Panel1
-
-
- System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- scBig
-
-
- 0
-
-
- Fill
-
-
- 0, 0
-
-
- 4, 4, 4, 4
-
-
- 1269, 286
-
-
- 0
-
-
- mainMsgControl
-
-
- v2rayN.Forms.MainMsgControl, v2rayN, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
-
-
- scBig.Panel2
-
-
- 0
-
-
- scBig.Panel2
-
-
- System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- scBig
-
-
- 1
-
-
- 1269, 672
-
-
- 382
-
-
- 5
-
-
- scBig
-
-
- System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 2
-
-
- 17, 17
-
-
- 137, 17
-
-
- NoControl
-
-
- 300, 26
-
-
- Clear system proxy
-
-
- 300, 26
-
-
- Set system proxy
-
-
- 300, 26
-
-
- Do not change system proxy
-
-
- 332, 24
-
-
- System proxy
-
-
- 332, 24
-
-
- Routing
-
-
- 332, 24
-
-
- Server
-
-
- 329, 6
-
-
- 332, 24
-
-
- Import bulk URL from clipboard
-
-
- 332, 24
-
-
- Scan QR code on the screen
-
-
- 332, 24
-
-
- Update subscription without proxy
-
-
- 332, 24
-
-
- Update subscriptions via proxy
-
-
- 329, 6
-
-
- 332, 24
-
-
- Exit
-
-
- 333, 208
-
-
- cmsMain
-
-
- System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- v2rayN
-
-
- True
-
-
- Top
-
-
- 0, 59
-
-
- 1269, 10
-
-
- 2
-
-
- panel1
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 3
-
-
- 315, 17
-
-
- 6, 59
-
-
- 395, 26
-
-
- Settings
-
-
- 395, 26
-
-
- Update subscription without proxy
-
-
- 395, 26
-
-
- Update subscription with proxy
-
-
- 395, 26
-
-
- Update group subscription without proxy
-
-
- 395, 26
-
-
- Update group subscription with proxy
-
-
- Magenta
-
-
- 122, 56
-
-
- Subscriptions
-
-
- ImageAboveText
-
-
- Magenta
-
-
- 54, 56
-
-
- Share
-
-
- BottomCenter
-
-
- ImageAboveText
-
-
- 6, 59
-
-
- 245, 26
-
-
- OptionSetting
-
-
- 245, 26
-
-
- RoutingSetting
-
-
- 245, 26
-
-
- GlobalHotkeySetting
-
-
- 245, 26
-
-
- GroupSetting
-
-
- 242, 6
-
-
- 245, 26
-
-
- BackupGuiConfig
-
-
- 245, 26
-
-
- RestoreGuiNConfig
-
-
- Magenta
-
-
- 83, 56
-
-
- Settings
-
-
- ImageAboveText
-
-
- 6, 59
-
-
- BottomCenter
-
-
- Magenta
-
-
- 120, 56
-
-
- Restart service
-
-
- ImageAboveText
-
-
- 6, 59
-
-
- 269, 26
-
-
- v2rayN (this software)
-
-
- 269, 26
-
-
- Update v2fly_v5 Core
-
-
- 269, 26
-
-
- Update SagerNet Core
-
-
- 269, 26
-
-
- Update Xray Core
-
-
- 266, 6
-
-
- 269, 26
-
-
- Update clash Core
-
-
- 269, 26
-
-
- Update Clash.Meta Core
-
-
- 266, 6
-
-
- 269, 26
-
-
- Update Geo files
-
-
- Magenta
-
-
- 155, 56
-
-
- Check for updates
-
-
- ImageAboveText
-
-
- 6, 59
-
-
- 230, 26
-
-
- v2rayN Project
-
-
- 230, 26
-
-
- V2Ray Website
-
-
- 227, 6
-
-
- 230, 26
-
-
- Language-[English]
-
-
- 230, 26
-
-
- 语言-[中文简体]
-
-
- Magenta
-
-
- 58, 56
-
-
- Help
-
-
- ImageAboveText
-
-
- Magenta
-
-
- 107, 56
-
-
- Promotion
-
-
- ImageAboveText
-
-
- 6, 59
-
-
- Magenta
-
-
- 61, 56
-
-
- Close
-
-
- ImageAboveText
-
-
- 0, 0
-
-
- 1269, 59
-
-
- 1
-
-
- tsMain
-
-
- System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 4
-
-
- True
-
-
- 64
-
-
- 8, 15
-
-
- 1269, 741
-
-
- 5, 5, 5, 5
-
-
- v2rayN
-
-
- menuAddVmessServer
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuAddVlessServer
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuAddShadowsocksServer
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuAddSocksServer
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuAddTrojanServer
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuAddCustomServer
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuAddServers
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuScanScreen
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolStripSeparator1
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuServerFilter
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuRemoveServer
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuRemoveDuplicateServer
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuCopyServer
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuSetDefaultServer
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolStripSeparator3
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuMoveToGroup
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuMoveEvent
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuMoveTop
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuMoveUp
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuMoveDown
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuMoveBottom
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuSelectAll
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolStripSeparator9
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuPingServer
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuTcpingServer
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuRealPingServer
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuSpeedServer
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuSortServerResult
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbTestMe
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuClearServerStatistics
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolStripSeparator6
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuExport2ClientConfig
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuExport2ServerConfig
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuExport2ShareUrl
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuExport2SubContent
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbServer
-
-
- System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- notifyMain
-
-
- System.Windows.Forms.NotifyIcon, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuSysAgentMode
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuKeepClear
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuGlobal
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuKeepNothing
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuRoutings
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuServers
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolStripSeparator13
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuAddServers2
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuScanScreen2
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuUpdateSubscriptions
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuUpdateSubViaProxy
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolStripSeparator2
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuExit
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolStripSeparator4
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbSub
-
-
- System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbSubSetting
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbSubUpdate
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbSubUpdateViaProxy
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbSubGroupUpdate
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbSubGroupUpdateViaProxy
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbQRCodeSwitch
-
-
- System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolStripSeparator8
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbSetting
-
-
- System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbOptionSetting
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbRoutingSetting
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbGlobalHotkeySetting
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbGroupSetting
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolStripSeparator14
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbBackupGuiNConfig
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbRestoreGuiNConfig
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolStripSeparator5
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbReload
-
-
- System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolStripSeparator7
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbCheckUpdate
-
-
- System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbCheckUpdateN
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbCheckUpdateCore
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbCheckUpdateSagerNetCore
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbCheckUpdateXrayCore
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolStripSeparator16
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbCheckUpdateClashCore
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbCheckUpdateClashMetaCore
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolStripSeparator15
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbCheckUpdateGeo
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolStripSeparator10
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbHelp
-
-
- System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbAbout
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbV2rayWebsite
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolStripSeparator12
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbLanguageDef
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbLanguageZhHans
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbPromotion
-
-
- System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolStripSeparator11
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsbClose
-
-
- System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- MainForm
-
-
- v2rayN.Forms.BaseForm, v2rayN, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/MainForm.zh-Hans.resx b/v2rayN/v2rayN/Forms/MainForm.zh-Hans.resx
deleted file mode 100644
index 7cbc3ae7..00000000
--- a/v2rayN/v2rayN/Forms/MainForm.zh-Hans.resx
+++ /dev/null
@@ -1,585 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
- 300, 22
-
-
- 添加[VMess]服务器
-
-
- 300, 22
-
-
- 添加[VLESS]服务器
-
-
- 300, 22
-
-
- 添加[Shadowsocks]服务器
-
-
- 300, 22
-
-
- 添加[Socks]服务器
-
-
- 300, 22
-
-
- 添加[Trojan]服务器
-
-
- 300, 22
-
-
- 添加自定义配置服务器
-
-
- 300, 22
-
-
- 从剪贴板导入批量URL (Ctrl+V)
-
-
- 300, 22
-
-
- 扫描屏幕上的二维码 (Ctrl+S)
-
-
- 297, 6
-
-
- 300, 22
-
-
- 移除所选服务器(多选) (Delete)
-
-
- 300, 22
-
-
- 移除重复的服务器
-
-
- 300, 22
-
-
- 克隆所选服务器
-
-
- 300, 22
-
-
- 设为活动服务器 (Enter)
-
-
- 297, 6
-
-
- 300, 22
-
-
- 上移至顶 (T)
-
-
- 300, 22
-
-
- 上移 (U)
-
-
- 300, 22
-
-
- 下移 (D)
-
-
- 300, 22
-
-
- 下移至底 (B)
-
-
- 300, 22
-
-
- 全选 (Ctrl+A)
-
-
- 297, 6
-
-
- 300, 22
-
-
- 测试服务器延迟Ping(多选) (Ctrl+P)
-
-
- 300, 22
-
-
- 测试服务器延迟Tcping(多选) (Ctrl+O)
-
-
- 300, 22
-
-
- 测试服务器真连接延迟(多选) (Ctrl+R)
-
-
- 300, 22
-
-
- 测试服务器速度(多选) (Ctrl+T)
-
-
- 300, 22
-
-
- 测试当前服务状态
-
-
- 300, 22
-
-
- 清除所有服务统计数据
-
-
- 297, 6
-
-
- 300, 22
-
-
- 导出所选服务器为客户端配置
-
-
- 300, 22
-
-
- 导出所选服务器为服务端配置
-
-
- 300, 22
-
-
- 批量导出分享URL至剪贴板(多选) (Ctrl+C)
-
-
- 300, 22
-
-
- 批量导出订阅内容至剪贴板(多选)
-
-
- 73, 53
-
-
- 服务器
-
-
- 301, 622
-
-
-
- AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
- LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkMAwAAAFFTeXN0
- ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2Vu
- PWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACFTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0l0ZW0HAAAA
- BFRleHQKSW1hZ2VJbmRleAlCYWNrQ29sb3IHQ2hlY2tlZARGb250CUZvcmVDb2xvchdVc2VJdGVtU3R5
- bGVGb3JTdWJJdGVtcwEABAAEBAAIFFN5c3RlbS5EcmF3aW5nLkNvbG9yAwAAAAETU3lzdGVtLkRyYXdp
- bmcuRm9udAMAAAAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAAQIAAAAGBAAAAAD/////Bfv///8UU3lz
- dGVtLkRyYXdpbmcuQ29sb3IEAAAABG5hbWUFdmFsdWUKa25vd25Db2xvcgVzdGF0ZQEAAAAJBwcDAAAA
- CgAAAAAAAAAAGAABAAAJBgAAAAH5////+////woAAAAAAAAAABoAAQABBQYAAAATU3lzdGVtLkRyYXdp
- bmcuRm9udAQAAAAETmFtZQRTaXplBVN0eWxlBFVuaXQBAAQECxhTeXN0ZW0uRHJhd2luZy5Gb250U3R5
- bGUDAAAAG1N5c3RlbS5EcmF3aW5nLkdyYXBoaWNzVW5pdAMAAAADAAAABggAAAAG5a6L5L2TAAAQQQX3
- ////GFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQEAAAAHdmFsdWVfXwAIAwAAAAAAAAAF9v///xtTeXN0
- ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
-
-
-
- 221, 22
-
-
- 221, 22
-
-
- 221, 22
-
-
- 221, 22
-
-
- 221, 22
-
-
- 221, 22
-
-
- 222, 136
-
-
- 网速显示未启用
-
-
- 172, 22
-
-
- 清除系统代理
-
-
- 172, 22
-
-
- 自动配置系统代理
-
-
- 172, 22
-
-
- 不改变系统代理
-
-
- 260, 22
-
-
- 系统代理
-
-
- 260, 22
-
-
- 路由
-
-
- 260, 22
-
-
- 服务器
-
-
- 服务器
-
-
- 257, 6
-
-
- 260, 22
-
-
- 从剪贴板导入批量URL
-
-
- 260, 22
-
-
- 扫描屏幕上的二维码
-
-
- 260, 22
-
-
- 更新订阅(不通过代理)
-
-
- 260, 22
-
-
- 更新订阅(通过代理)
-
-
- 257, 6
-
-
- 260, 22
-
-
- 退出
-
-
- 261, 221
-
-
- 180, 22
-
-
- 订阅设置
-
-
- 180, 22
-
-
- 更新订阅(不通过代理)
-
-
- 180, 22
-
-
- 更新订阅(通过代理)
-
-
- 61, 53
-
-
- 订阅
-
-
- 52, 53
-
-
- 分享
-
-
- 189, 22
-
-
- 参数设置
-
-
- 189, 22
-
-
- 路由设置
-
-
- 189, 22
-
-
- 全局热键设置
-
-
- 189, 22
-
-
- 服务器分组设置
-
-
- 186, 6
-
-
- 189, 22
-
-
- 备份v2rayN配置文件
-
-
- 61, 53
-
-
- 设置
-
-
- 76, 53
-
-
- 重启服务
-
-
- 168, 22
-
-
- v2rayN
-
-
- 168, 22
-
-
- v2fly_v5-Core
-
-
- 168, 22
-
-
- Xray-Core
-
-
- 165, 6
-
-
- 168, 22
-
-
- 168, 22
-
-
- 85, 53
-
-
- 检查更新
-
-
- v2rayN 项目
-
-
- V2Ray 官网
-
-
- 69, 53
-
-
- 帮助
-
-
- 68, 53
-
-
- 推广
-
-
- 76, 53
-
-
- 关闭窗口
-
-
- 移至分组
-
-
- 上下移至
-
-
- 设置服务器过滤器 (Ctrl+F)
-
-
- Update clash Core
-
-
- Update Clash.Meta Core
-
-
- 按测试结果排序 (Ctrl+E)
-
-
- SagerNet-Core
-
-
- 更新当前分组订阅(不通过代理)
-
-
- 更新当前分组订阅(通过代理)
-
-
- 恢复v2rayN配置文件
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/MainMsgControl.Designer.cs b/v2rayN/v2rayN/Forms/MainMsgControl.Designer.cs
deleted file mode 100644
index d23bd9f9..00000000
--- a/v2rayN/v2rayN/Forms/MainMsgControl.Designer.cs
+++ /dev/null
@@ -1,204 +0,0 @@
-
-namespace v2rayN.Forms
-{
- partial class MainMsgControl
- {
- ///
- /// 必需的设计器变量。
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// 清理所有正在使用的资源。
- ///
- /// 如果应释放托管资源,为 true;否则为 false。
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region 组件设计器生成的代码
-
- ///
- /// 设计器支持所需的方法 - 不要修改
- /// 使用代码编辑器修改此方法的内容。
- ///
- private void InitializeComponent()
- {
- this.components = new System.ComponentModel.Container();
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainMsgControl));
- this.txtMsgBox = new System.Windows.Forms.TextBox();
- this.cmsMsgBox = new System.Windows.Forms.ContextMenuStrip(this.components);
- this.menuMsgBoxSelectAll = new System.Windows.Forms.ToolStripMenuItem();
- this.menuMsgBoxCopy = new System.Windows.Forms.ToolStripMenuItem();
- this.menuMsgBoxCopyAll = new System.Windows.Forms.ToolStripMenuItem();
- this.menuMsgBoxClear = new System.Windows.Forms.ToolStripMenuItem();
- this.menuMsgBoxAddRoutingRule = new System.Windows.Forms.ToolStripMenuItem();
- this.menuMsgBoxFilter = new System.Windows.Forms.ToolStripMenuItem();
- this.gbMsgTitle = new System.Windows.Forms.GroupBox();
- this.ssMain = new System.Windows.Forms.StatusStrip();
- this.toolSslInboundInfo = 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.toolSslBlank4 = new System.Windows.Forms.ToolStripStatusLabel();
- this.cmsMsgBox.SuspendLayout();
- this.gbMsgTitle.SuspendLayout();
- this.ssMain.SuspendLayout();
- this.SuspendLayout();
- //
- // txtMsgBox
- //
- resources.ApplyResources(this.txtMsgBox, "txtMsgBox");
- 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.ContextMenuStrip = this.cmsMsgBox;
- this.txtMsgBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(226)))), ((int)(((byte)(228)))));
- this.txtMsgBox.Name = "txtMsgBox";
- this.txtMsgBox.ReadOnly = true;
- this.txtMsgBox.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtMsgBox_KeyDown);
- //
- // cmsMsgBox
- //
- resources.ApplyResources(this.cmsMsgBox, "cmsMsgBox");
- this.cmsMsgBox.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.menuMsgBoxSelectAll,
- this.menuMsgBoxCopy,
- this.menuMsgBoxCopyAll,
- this.menuMsgBoxClear,
- this.menuMsgBoxAddRoutingRule,
- this.menuMsgBoxFilter});
- this.cmsMsgBox.Name = "cmsMsgBox";
- //
- // menuMsgBoxSelectAll
- //
- resources.ApplyResources(this.menuMsgBoxSelectAll, "menuMsgBoxSelectAll");
- this.menuMsgBoxSelectAll.Name = "menuMsgBoxSelectAll";
- this.menuMsgBoxSelectAll.Click += new System.EventHandler(this.menuMsgBoxSelectAll_Click);
- //
- // menuMsgBoxCopy
- //
- resources.ApplyResources(this.menuMsgBoxCopy, "menuMsgBoxCopy");
- this.menuMsgBoxCopy.Name = "menuMsgBoxCopy";
- this.menuMsgBoxCopy.Click += new System.EventHandler(this.menuMsgBoxCopy_Click);
- //
- // menuMsgBoxCopyAll
- //
- resources.ApplyResources(this.menuMsgBoxCopyAll, "menuMsgBoxCopyAll");
- this.menuMsgBoxCopyAll.Name = "menuMsgBoxCopyAll";
- this.menuMsgBoxCopyAll.Click += new System.EventHandler(this.menuMsgBoxCopyAll_Click);
- //
- // menuMsgBoxClear
- //
- resources.ApplyResources(this.menuMsgBoxClear, "menuMsgBoxClear");
- this.menuMsgBoxClear.Name = "menuMsgBoxClear";
- this.menuMsgBoxClear.Click += new System.EventHandler(this.menuMsgBoxClear_Click);
- //
- // menuMsgBoxAddRoutingRule
- //
- resources.ApplyResources(this.menuMsgBoxAddRoutingRule, "menuMsgBoxAddRoutingRule");
- this.menuMsgBoxAddRoutingRule.Name = "menuMsgBoxAddRoutingRule";
- this.menuMsgBoxAddRoutingRule.Click += new System.EventHandler(this.menuMsgBoxAddRoutingRule_Click);
- //
- // menuMsgBoxFilter
- //
- resources.ApplyResources(this.menuMsgBoxFilter, "menuMsgBoxFilter");
- this.menuMsgBoxFilter.Name = "menuMsgBoxFilter";
- this.menuMsgBoxFilter.Click += new System.EventHandler(this.menuMsgBoxFilter_Click);
- //
- // gbMsgTitle
- //
- resources.ApplyResources(this.gbMsgTitle, "gbMsgTitle");
- this.gbMsgTitle.Controls.Add(this.txtMsgBox);
- this.gbMsgTitle.Controls.Add(this.ssMain);
- this.gbMsgTitle.Name = "gbMsgTitle";
- this.gbMsgTitle.TabStop = false;
- //
- // ssMain
- //
- resources.ApplyResources(this.ssMain, "ssMain");
- this.ssMain.ImageScalingSize = new System.Drawing.Size(20, 20);
- this.ssMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.toolSslInboundInfo,
- this.toolSslBlank1,
- this.toolSslRoutingRule,
- this.toolSslBlank2,
- this.toolSslServerSpeed,
- this.toolSslBlank4});
- this.ssMain.Name = "ssMain";
- this.ssMain.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.ssMain_ItemClicked);
- //
- // toolSslInboundInfo
- //
- resources.ApplyResources(this.toolSslInboundInfo, "toolSslInboundInfo");
- this.toolSslInboundInfo.Name = "toolSslInboundInfo";
- //
- // toolSslBlank1
- //
- resources.ApplyResources(this.toolSslBlank1, "toolSslBlank1");
- this.toolSslBlank1.Name = "toolSslBlank1";
- 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
- //
- resources.ApplyResources(this.toolSslServerSpeed, "toolSslServerSpeed");
- this.toolSslServerSpeed.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
- this.toolSslServerSpeed.Name = "toolSslServerSpeed";
- //
- // toolSslBlank4
- //
- resources.ApplyResources(this.toolSslBlank4, "toolSslBlank4");
- this.toolSslBlank4.Name = "toolSslBlank4";
- //
- // MainMsgControl
- //
- resources.ApplyResources(this, "$this");
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.Controls.Add(this.gbMsgTitle);
- this.Name = "MainMsgControl";
- this.Load += new System.EventHandler(this.MainMsgControl_Load);
- this.cmsMsgBox.ResumeLayout(false);
- this.gbMsgTitle.ResumeLayout(false);
- this.gbMsgTitle.PerformLayout();
- this.ssMain.ResumeLayout(false);
- this.ssMain.PerformLayout();
- this.ResumeLayout(false);
-
- }
-
- #endregion
-
- private System.Windows.Forms.TextBox txtMsgBox;
- private System.Windows.Forms.ContextMenuStrip cmsMsgBox;
- private System.Windows.Forms.ToolStripMenuItem menuMsgBoxSelectAll;
- private System.Windows.Forms.ToolStripMenuItem menuMsgBoxCopy;
- private System.Windows.Forms.ToolStripMenuItem menuMsgBoxCopyAll;
- private System.Windows.Forms.ToolStripMenuItem menuMsgBoxClear;
- private System.Windows.Forms.ToolStripMenuItem menuMsgBoxAddRoutingRule;
- private System.Windows.Forms.ToolStripMenuItem menuMsgBoxFilter;
- private System.Windows.Forms.GroupBox gbMsgTitle;
- private System.Windows.Forms.StatusStrip ssMain;
- private System.Windows.Forms.ToolStripStatusLabel toolSslInboundInfo;
- private System.Windows.Forms.ToolStripStatusLabel toolSslBlank1;
- private System.Windows.Forms.ToolStripStatusLabel toolSslRoutingRule;
- private System.Windows.Forms.ToolStripStatusLabel toolSslBlank2;
- private System.Windows.Forms.ToolStripStatusLabel toolSslServerSpeed;
- private System.Windows.Forms.ToolStripStatusLabel toolSslBlank4;
- }
-}
diff --git a/v2rayN/v2rayN/Forms/MainMsgControl.cs b/v2rayN/v2rayN/Forms/MainMsgControl.cs
deleted file mode 100644
index 6696573c..00000000
--- a/v2rayN/v2rayN/Forms/MainMsgControl.cs
+++ /dev/null
@@ -1,210 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Text.RegularExpressions;
-using System.Threading.Tasks;
-using System.Windows.Forms;
-using v2rayN.Base;
-using v2rayN.Mode;
-using v2rayN.Resx;
-
-namespace v2rayN.Forms
-{
- public partial class MainMsgControl : UserControl
- {
- private string _msgFilter = string.Empty;
- delegate void AppendTextDelegate(string text);
-
- public MainMsgControl()
- {
- InitializeComponent();
- }
-
- private void MainMsgControl_Load(object sender, EventArgs e)
- {
- _msgFilter = Utils.RegReadValue(Global.MyRegPath, Utils.MainMsgFilterKey, "");
- if (!Utils.IsNullOrEmpty(_msgFilter))
- {
- gbMsgTitle.Text = string.Format(ResUI.MsgInformationTitle, _msgFilter);
- }
- }
-
- #region 提示信息
-
- public void AppendText(string text)
- {
- if (txtMsgBox.InvokeRequired)
- {
- Invoke(new AppendTextDelegate(AppendText), text);
- }
- else
- {
- if (!Utils.IsNullOrEmpty(_msgFilter))
- {
- if (!Regex.IsMatch(text, _msgFilter))
- {
- return;
- }
- }
- //this.txtMsgBox.AppendText(text);
- ShowMsg(text);
- }
- }
-
- ///
- /// 提示信息
- ///
- ///
- private void ShowMsg(string msg)
- {
- if (txtMsgBox.Lines.Length > 999)
- {
- ClearMsg();
- }
- txtMsgBox.AppendText(msg);
- if (!msg.EndsWith(Environment.NewLine))
- {
- txtMsgBox.AppendText(Environment.NewLine);
- }
- }
-
- ///
- /// 清除信息
- ///
- public void ClearMsg()
- {
- txtMsgBox.Invoke((Action)delegate
- {
- txtMsgBox.Clear();
- });
- }
-
- public void DisplayToolStatus(Config config)
- {
- StringBuilder sb = new StringBuilder();
- sb.Append($"{ResUI.LabLocal}:");
- sb.Append($"[{Global.InboundSocks}:{config.GetLocalPort(Global.InboundSocks)}]");
- sb.Append(" | ");
- if (config.sysProxyType == ESysProxyType.ForcedChange)
- {
- sb.Append($"[{Global.InboundHttp}({ResUI.SystemProxy}):{config.GetLocalPort(Global.InboundHttp)}]");
- }
- else
- {
- sb.Append($"[{Global.InboundHttp}:{config.GetLocalPort(Global.InboundHttp)}]");
- }
-
- if (config.inbound[0].allowLANConn)
- {
- sb.Append($" {ResUI.LabLAN}:");
- sb.Append($"[{Global.InboundSocks}:{config.GetLocalPort(Global.InboundSocks2)}]");
- sb.Append(" | ");
- sb.Append($"[{Global.InboundHttp}:{config.GetLocalPort(Global.InboundHttp2)}]");
- }
-
- SetToolSslInfo("inbound", sb.ToString());
- }
-
- public void SetToolSslInfo(string type, string value)
- {
- switch (type)
- {
- case "speed":
- toolSslServerSpeed.Text = value;
- break;
- case "inbound":
- toolSslInboundInfo.Text = value;
- break;
- case "routing":
- toolSslRoutingRule.Text = value;
- break;
- }
-
- }
-
- public void ScrollToCaret()
- {
- txtMsgBox.ScrollToCaret();
- }
- #endregion
-
-
- #region MsgBoxMenu
- private void menuMsgBoxSelectAll_Click(object sender, EventArgs e)
- {
- txtMsgBox.Focus();
- txtMsgBox.SelectAll();
- }
-
- private void menuMsgBoxCopy_Click(object sender, EventArgs e)
- {
- var data = txtMsgBox.SelectedText.TrimEx();
- Utils.SetClipboardData(data);
- }
-
- private void menuMsgBoxCopyAll_Click(object sender, EventArgs e)
- {
- var data = txtMsgBox.Text;
- Utils.SetClipboardData(data);
- }
- private void menuMsgBoxClear_Click(object sender, EventArgs e)
- {
- txtMsgBox.Clear();
- }
- private void menuMsgBoxAddRoutingRule_Click(object sender, EventArgs e)
- {
- menuMsgBoxCopy_Click(null, null);
- var fm = new RoutingSettingForm();
- fm.ShowDialog();
-
- }
-
- private void txtMsgBox_KeyDown(object sender, KeyEventArgs e)
- {
- if (e.Control)
- {
- switch (e.KeyCode)
- {
- case Keys.A:
- menuMsgBoxSelectAll_Click(null, null);
- break;
- case Keys.C:
- menuMsgBoxCopy_Click(null, null);
- break;
- case Keys.V:
- menuMsgBoxAddRoutingRule_Click(null, null);
- break;
-
- }
- }
-
- }
- private void menuMsgBoxFilter_Click(object sender, EventArgs e)
- {
- var fm = new MsgFilterSetForm();
- fm.MsgFilter = _msgFilter;
- fm.ShowDefFilter = true;
- if (fm.ShowDialog() == DialogResult.OK)
- {
- _msgFilter = fm.MsgFilter;
- gbMsgTitle.Text = string.Format(ResUI.MsgInformationTitle, _msgFilter);
- Utils.RegWriteValue(Global.MyRegPath, Utils.MainMsgFilterKey, _msgFilter);
- }
- }
-
- private void ssMain_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
- {
- if (!Utils.IsNullOrEmpty(e.ClickedItem.Text))
- {
- Utils.SetClipboardData(e.ClickedItem.Text);
- }
- }
- #endregion
-
-
- }
-}
diff --git a/v2rayN/v2rayN/Forms/MainMsgControl.resx b/v2rayN/v2rayN/Forms/MainMsgControl.resx
deleted file mode 100644
index 80eab070..00000000
--- a/v2rayN/v2rayN/Forms/MainMsgControl.resx
+++ /dev/null
@@ -1,384 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolSslRoutingRule
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Select All (Ctrl+A)
-
-
- ssMain
-
-
- menuMsgBoxSelectAll
-
-
-
- False
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolSslServerSpeed
-
-
-
- 227, 22
-
-
- menuMsgBoxCopyAll
-
-
- 0
-
-
- 1
-
-
- 3, 221
-
-
- 227, 22
-
-
- 227, 22
-
-
- System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 0, 17
-
-
- 80, 17
-
-
- toolSslInboundInfo
-
-
- txtMsgBox
-
-
- 0, 17
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 微软雅黑, 8pt
-
-
- 227, 22
-
-
- gbMsgTitle
-
-
- 227, 22
-
-
- System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Add Routing Rule (Ctrl+V)
-
-
- MiddleRight
-
-
- 微软雅黑, 8pt
-
-
- 696, 246
-
-
- InboundInfo
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuMsgBoxClear
-
-
- 4
-
-
- 5
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 3, 17
-
-
- toolSslBlank4
-
-
- gbMsgTitle
-
-
- Informations
-
-
- 0
-
-
- 172, 17
-
-
- True
-
-
- Clear All
-
-
- 6, 12
-
-
-
- Vertical
-
-
- $this
-
-
- 690, 22
-
-
- cmsMsgBox
-
-
- Fill
-
-
- System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Fill
-
-
- 690, 204
-
-
- 227, 22
-
-
- 172, 17
-
-
- System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- MainMsgControl
-
-
- 0, 0
-
-
- 696, 246
-
-
- toolSslBlank1
-
-
- No
-
-
- Copy All
-
-
- 250, 17
-
-
- statusStrip1
-
-
- menuMsgBoxAddRoutingRule
-
-
- toolSslBlank2
-
-
- Set message filters
-
-
- SPEED Disabled
-
-
- 0
-
-
- gbMsgTitle
-
-
- menuMsgBoxFilter
-
-
- 1
-
-
- System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuMsgBoxCopy
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Copy (Ctrl+C)
-
-
- 228, 136
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 131, 18
-
-
- True
-
-
- 17, 17
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/MainMsgControl.zh-Hans.resx b/v2rayN/v2rayN/Forms/MainMsgControl.zh-Hans.resx
deleted file mode 100644
index d54a14f8..00000000
--- a/v2rayN/v2rayN/Forms/MainMsgControl.zh-Hans.resx
+++ /dev/null
@@ -1,172 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
- 221, 22
-
-
- 全选 (Ctrl+A)
-
-
- 221, 22
-
-
- 复制 (Ctrl+C)
-
-
- 221, 22
-
-
- 复制所有
-
-
- 221, 22
-
-
- 清除所有
-
-
- 221, 22
-
-
- 快速添加路由规则 (Ctrl+V)
-
-
- 221, 22
-
-
- 设置信息过滤器
-
-
- 222, 136
-
-
- 157, 17
-
-
- 157, 17
-
-
- 信息
-
-
- 网速显示未启用
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/MsgFilterSetForm.Designer.cs b/v2rayN/v2rayN/Forms/MsgFilterSetForm.Designer.cs
deleted file mode 100644
index ff3ca4f8..00000000
--- a/v2rayN/v2rayN/Forms/MsgFilterSetForm.Designer.cs
+++ /dev/null
@@ -1,129 +0,0 @@
-namespace v2rayN.Forms
-{
- partial class MsgFilterSetForm
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MsgFilterSetForm));
- this.groupBox1 = new System.Windows.Forms.GroupBox();
- this.btnFilderProxy = new System.Windows.Forms.Button();
- this.btnFilterDirect = new System.Windows.Forms.Button();
- this.txtMsgFilter = new System.Windows.Forms.TextBox();
- this.panel2 = new System.Windows.Forms.Panel();
- this.btnClose = new System.Windows.Forms.Button();
- this.btnOK = new System.Windows.Forms.Button();
- this.btnClear = new System.Windows.Forms.Button();
- this.groupBox1.SuspendLayout();
- this.panel2.SuspendLayout();
- this.SuspendLayout();
- //
- // groupBox1
- //
- this.groupBox1.Controls.Add(this.btnFilderProxy);
- this.groupBox1.Controls.Add(this.btnFilterDirect);
- this.groupBox1.Controls.Add(this.txtMsgFilter);
- resources.ApplyResources(this.groupBox1, "groupBox1");
- this.groupBox1.Name = "groupBox1";
- this.groupBox1.TabStop = false;
- //
- // btnFilderProxy
- //
- resources.ApplyResources(this.btnFilderProxy, "btnFilderProxy");
- this.btnFilderProxy.Name = "btnFilderProxy";
- this.btnFilderProxy.UseVisualStyleBackColor = true;
- this.btnFilderProxy.Click += new System.EventHandler(this.btnFilderProxy_Click);
- //
- // btnFilterDirect
- //
- resources.ApplyResources(this.btnFilterDirect, "btnFilterDirect");
- this.btnFilterDirect.Name = "btnFilterDirect";
- this.btnFilterDirect.UseVisualStyleBackColor = true;
- this.btnFilterDirect.Click += new System.EventHandler(this.btnFilterDirect_Click);
- //
- // txtMsgFilter
- //
- resources.ApplyResources(this.txtMsgFilter, "txtMsgFilter");
- this.txtMsgFilter.Name = "txtMsgFilter";
- //
- // panel2
- //
- this.panel2.Controls.Add(this.btnClear);
- this.panel2.Controls.Add(this.btnClose);
- this.panel2.Controls.Add(this.btnOK);
- resources.ApplyResources(this.panel2, "panel2");
- this.panel2.Name = "panel2";
- //
- // btnClose
- //
- this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
- resources.ApplyResources(this.btnClose, "btnClose");
- this.btnClose.Name = "btnClose";
- this.btnClose.UseVisualStyleBackColor = true;
- this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
- //
- // btnOK
- //
- resources.ApplyResources(this.btnOK, "btnOK");
- this.btnOK.Name = "btnOK";
- this.btnOK.UseVisualStyleBackColor = true;
- this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
- //
- // btnClear
- //
- resources.ApplyResources(this.btnClear, "btnClear");
- this.btnClear.Name = "btnClear";
- this.btnClear.UseVisualStyleBackColor = true;
- this.btnClear.Click += new System.EventHandler(this.btnClear_Click);
- //
- // MsgFilterSetForm
- //
- resources.ApplyResources(this, "$this");
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.CancelButton = this.btnClose;
- this.Controls.Add(this.groupBox1);
- this.Controls.Add(this.panel2);
- this.Name = "MsgFilterSetForm";
- this.Load += new System.EventHandler(this.MsgFilterSetForm_Load);
- this.groupBox1.ResumeLayout(false);
- this.groupBox1.PerformLayout();
- this.panel2.ResumeLayout(false);
- this.ResumeLayout(false);
-
- }
-
- #endregion
-
- private System.Windows.Forms.GroupBox groupBox1;
- private System.Windows.Forms.TextBox txtMsgFilter;
- private System.Windows.Forms.Panel panel2;
- private System.Windows.Forms.Button btnClose;
- private System.Windows.Forms.Button btnOK;
- private System.Windows.Forms.Button btnFilderProxy;
- private System.Windows.Forms.Button btnFilterDirect;
- private System.Windows.Forms.Button btnClear;
- }
-}
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/MsgFilterSetForm.cs b/v2rayN/v2rayN/Forms/MsgFilterSetForm.cs
deleted file mode 100644
index 926b00cb..00000000
--- a/v2rayN/v2rayN/Forms/MsgFilterSetForm.cs
+++ /dev/null
@@ -1,57 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows.Forms;
-
-namespace v2rayN.Forms
-{
- public partial class MsgFilterSetForm : BaseForm
- {
- public string MsgFilter { get; set; }
- public bool ShowDefFilter { get; set; }
-
- public MsgFilterSetForm()
- {
- InitializeComponent();
- }
-
- private void MsgFilterSetForm_Load(object sender, EventArgs e)
- {
- txtMsgFilter.Text = MsgFilter;
- btnFilderProxy.Visible =
- btnFilterDirect.Visible = ShowDefFilter;
- }
-
- private void btnOK_Click(object sender, EventArgs e)
- {
- MsgFilter = txtMsgFilter.Text;
- DialogResult = DialogResult.OK;
- }
-
- private void btnClose_Click(object sender, EventArgs e)
- {
- DialogResult = DialogResult.Cancel;
- }
-
- private void btnFilderProxy_Click(object sender, EventArgs e)
- {
- txtMsgFilter.Text = "^(?!.*proxy).*$";
- }
-
- private void btnFilterDirect_Click(object sender, EventArgs e)
- {
- txtMsgFilter.Text = "^(?!.*direct).*$";
- }
-
- private void btnClear_Click(object sender, EventArgs e)
- {
- MsgFilter = string.Empty;
- DialogResult = DialogResult.OK;
- }
- }
-}
diff --git a/v2rayN/v2rayN/Forms/MsgFilterSetForm.resx b/v2rayN/v2rayN/Forms/MsgFilterSetForm.resx
deleted file mode 100644
index 82cacfe0..00000000
--- a/v2rayN/v2rayN/Forms/MsgFilterSetForm.resx
+++ /dev/null
@@ -1,381 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- btnFilderProxy
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 0
-
-
- btnFilterDirect
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 1
-
-
- txtMsgFilter
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 2
-
-
-
- Fill
-
-
-
- 0, 0
-
-
- 490, 76
-
-
-
- 8
-
-
- Filter
-
-
- groupBox1
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 0
-
-
- 157, 47
-
-
- 95, 23
-
-
- 13
-
-
- Filter Proxy
-
-
- btnFilderProxy
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 0
-
-
- NoControl
-
-
- 41, 47
-
-
- 95, 23
-
-
- 12
-
-
- Filter Direct
-
-
- btnFilterDirect
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 1
-
-
- 41, 20
-
-
- 409, 21
-
-
- 11
-
-
- txtMsgFilter
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 2
-
-
- NoControl
-
-
- 211, 17
-
-
- 75, 23
-
-
- 14
-
-
- Clear
-
-
- btnClear
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel2
-
-
- 0
-
-
- NoControl
-
-
- 396, 17
-
-
- 75, 23
-
-
- 4
-
-
- &Cancel
-
-
- btnClose
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel2
-
-
- 1
-
-
- NoControl
-
-
- 303, 17
-
-
- 75, 23
-
-
- 5
-
-
- &OK
-
-
- btnOK
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel2
-
-
- 2
-
-
- Bottom
-
-
- 0, 76
-
-
- 490, 60
-
-
- 9
-
-
- panel2
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 1
-
-
- True
-
-
- 6, 12
-
-
- 490, 136
-
-
- MsgFilterSetForm
-
-
- MsgFilterSetForm
-
-
- v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/MsgFilterSetForm.zh-Hans.resx b/v2rayN/v2rayN/Forms/MsgFilterSetForm.zh-Hans.resx
deleted file mode 100644
index 3ec9e0e7..00000000
--- a/v2rayN/v2rayN/Forms/MsgFilterSetForm.zh-Hans.resx
+++ /dev/null
@@ -1,141 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 过滤器
-
-
- 取消(&C)
-
-
- 确定(&O)
-
-
- 设置过滤器
-
-
- 过滤Proxy
-
-
- 过滤Direct
-
-
- 清空
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/OptionSettingForm.Designer.cs b/v2rayN/v2rayN/Forms/OptionSettingForm.Designer.cs
deleted file mode 100644
index 29189e81..00000000
--- a/v2rayN/v2rayN/Forms/OptionSettingForm.Designer.cs
+++ /dev/null
@@ -1,782 +0,0 @@
-namespace v2rayN.Forms
-{
- partial class OptionSettingForm
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(OptionSettingForm));
- this.btnClose = new System.Windows.Forms.Button();
- this.tabControl1 = new System.Windows.Forms.TabControl();
- this.tabPage1 = new System.Windows.Forms.TabPage();
- this.groupBox1 = new System.Windows.Forms.GroupBox();
- this.label16 = new System.Windows.Forms.Label();
- this.label4 = new System.Windows.Forms.Label();
- this.txtpass = new System.Windows.Forms.TextBox();
- this.txtuser = new System.Windows.Forms.TextBox();
- this.chkdefAllowInsecure = new System.Windows.Forms.CheckBox();
- this.chkAllowLANConn = new System.Windows.Forms.CheckBox();
- this.chksniffingEnabled = new System.Windows.Forms.CheckBox();
- this.chkmuxEnabled = new System.Windows.Forms.CheckBox();
- this.cmbprotocol = new System.Windows.Forms.ComboBox();
- this.label1 = new System.Windows.Forms.Label();
- this.chkudpEnabled = new System.Windows.Forms.CheckBox();
- this.chklogEnabled = new System.Windows.Forms.CheckBox();
- this.cmbloglevel = new System.Windows.Forms.ComboBox();
- this.label5 = new System.Windows.Forms.Label();
- this.txtlocalPort = new System.Windows.Forms.TextBox();
- this.label2 = new System.Windows.Forms.Label();
- this.tabPage2 = new System.Windows.Forms.TabPage();
- this.cmbdomainStrategy4Freedom = new System.Windows.Forms.ComboBox();
- this.label19 = new System.Windows.Forms.Label();
- this.linkDnsObjectDoc = new System.Windows.Forms.LinkLabel();
- this.txtremoteDNS = new System.Windows.Forms.TextBox();
- this.label14 = new System.Windows.Forms.Label();
- this.tabPage6 = new System.Windows.Forms.TabPage();
- this.chkKcpcongestion = new System.Windows.Forms.CheckBox();
- this.txtKcpwriteBufferSize = new System.Windows.Forms.TextBox();
- this.label10 = new System.Windows.Forms.Label();
- this.txtKcpreadBufferSize = new System.Windows.Forms.TextBox();
- this.label11 = new System.Windows.Forms.Label();
- this.txtKcpdownlinkCapacity = new System.Windows.Forms.TextBox();
- this.label8 = new System.Windows.Forms.Label();
- this.txtKcpuplinkCapacity = new System.Windows.Forms.TextBox();
- this.label9 = new System.Windows.Forms.Label();
- this.txtKcptti = new System.Windows.Forms.TextBox();
- this.label7 = new System.Windows.Forms.Label();
- this.txtKcpmtu = new System.Windows.Forms.TextBox();
- this.label6 = new System.Windows.Forms.Label();
- this.tabPage7 = new System.Windows.Forms.TabPage();
- this.numStatisticsFreshRate = new System.Windows.Forms.NumericUpDown();
- this.txttrayMenuServersLimit = new System.Windows.Forms.TextBox();
- this.label17 = new System.Windows.Forms.Label();
- this.txtautoUpdateSubInterval = new System.Windows.Forms.TextBox();
- this.label3 = new System.Windows.Forms.Label();
- this.chkEnableSecurityProtocolTls13 = new System.Windows.Forms.CheckBox();
- this.chkEnableAutoAdjustMainLvColWidth = new System.Windows.Forms.CheckBox();
- this.btnSetLoopback = new System.Windows.Forms.Button();
- this.txtautoUpdateInterval = new System.Windows.Forms.TextBox();
- this.label15 = new System.Windows.Forms.Label();
- this.chkIgnoreGeoUpdateCore = new System.Windows.Forms.CheckBox();
- this.chkKeepOlderDedupl = new System.Windows.Forms.CheckBox();
- this.lbFreshrate = new System.Windows.Forms.Label();
- this.chkEnableStatistics = new System.Windows.Forms.CheckBox();
- this.chkAutoRun = new System.Windows.Forms.CheckBox();
- this.tabPageCoreType = new System.Windows.Forms.TabPage();
- this.cmbCoreType6 = new System.Windows.Forms.ComboBox();
- this.labCoreType6 = new System.Windows.Forms.Label();
- this.cmbCoreType5 = new System.Windows.Forms.ComboBox();
- this.labCoreType5 = new System.Windows.Forms.Label();
- this.cmbCoreType4 = new System.Windows.Forms.ComboBox();
- this.labCoreType4 = new System.Windows.Forms.Label();
- this.cmbCoreType3 = new System.Windows.Forms.ComboBox();
- this.labCoreType3 = new System.Windows.Forms.Label();
- this.cmbCoreType2 = new System.Windows.Forms.ComboBox();
- this.labCoreType2 = new System.Windows.Forms.Label();
- this.cmbCoreType1 = new System.Windows.Forms.ComboBox();
- this.labCoreType1 = new System.Windows.Forms.Label();
- this.tabPage3 = new System.Windows.Forms.TabPage();
- this.groupBox2 = new System.Windows.Forms.GroupBox();
- this.label18 = new System.Windows.Forms.Label();
- this.cmbSystemProxyAdvancedProtocol = new System.Windows.Forms.ComboBox();
- this.label13 = new System.Windows.Forms.Label();
- this.label12 = new System.Windows.Forms.Label();
- this.txtsystemProxyExceptions = new System.Windows.Forms.TextBox();
- this.panel2 = new System.Windows.Forms.Panel();
- this.btnOK = new System.Windows.Forms.Button();
- this.panel1 = new System.Windows.Forms.Panel();
- this.chkEnableCheckPreReleaseUpdate = new System.Windows.Forms.CheckBox();
- this.tabControl1.SuspendLayout();
- this.tabPage1.SuspendLayout();
- this.groupBox1.SuspendLayout();
- this.tabPage2.SuspendLayout();
- this.tabPage6.SuspendLayout();
- this.tabPage7.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.numStatisticsFreshRate)).BeginInit();
- this.tabPageCoreType.SuspendLayout();
- this.tabPage3.SuspendLayout();
- this.groupBox2.SuspendLayout();
- this.panel2.SuspendLayout();
- this.SuspendLayout();
- //
- // btnClose
- //
- this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
- resources.ApplyResources(this.btnClose, "btnClose");
- this.btnClose.Name = "btnClose";
- this.btnClose.UseVisualStyleBackColor = true;
- this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
- //
- // tabControl1
- //
- this.tabControl1.Controls.Add(this.tabPage1);
- this.tabControl1.Controls.Add(this.tabPage2);
- this.tabControl1.Controls.Add(this.tabPage6);
- this.tabControl1.Controls.Add(this.tabPage7);
- this.tabControl1.Controls.Add(this.tabPageCoreType);
- this.tabControl1.Controls.Add(this.tabPage3);
- resources.ApplyResources(this.tabControl1, "tabControl1");
- this.tabControl1.Name = "tabControl1";
- this.tabControl1.SelectedIndex = 0;
- //
- // tabPage1
- //
- this.tabPage1.Controls.Add(this.groupBox1);
- resources.ApplyResources(this.tabPage1, "tabPage1");
- this.tabPage1.Name = "tabPage1";
- this.tabPage1.UseVisualStyleBackColor = true;
- //
- // groupBox1
- //
- this.groupBox1.Controls.Add(this.label16);
- this.groupBox1.Controls.Add(this.label4);
- this.groupBox1.Controls.Add(this.txtpass);
- this.groupBox1.Controls.Add(this.txtuser);
- this.groupBox1.Controls.Add(this.chkdefAllowInsecure);
- this.groupBox1.Controls.Add(this.chkAllowLANConn);
- this.groupBox1.Controls.Add(this.chksniffingEnabled);
- this.groupBox1.Controls.Add(this.chkmuxEnabled);
- this.groupBox1.Controls.Add(this.cmbprotocol);
- this.groupBox1.Controls.Add(this.label1);
- this.groupBox1.Controls.Add(this.chkudpEnabled);
- this.groupBox1.Controls.Add(this.chklogEnabled);
- this.groupBox1.Controls.Add(this.cmbloglevel);
- this.groupBox1.Controls.Add(this.label5);
- this.groupBox1.Controls.Add(this.txtlocalPort);
- this.groupBox1.Controls.Add(this.label2);
- resources.ApplyResources(this.groupBox1, "groupBox1");
- this.groupBox1.Name = "groupBox1";
- this.groupBox1.TabStop = false;
- //
- // label16
- //
- resources.ApplyResources(this.label16, "label16");
- this.label16.Name = "label16";
- //
- // label4
- //
- resources.ApplyResources(this.label4, "label4");
- this.label4.Name = "label4";
- //
- // txtpass
- //
- resources.ApplyResources(this.txtpass, "txtpass");
- this.txtpass.Name = "txtpass";
- //
- // txtuser
- //
- resources.ApplyResources(this.txtuser, "txtuser");
- this.txtuser.Name = "txtuser";
- //
- // chkdefAllowInsecure
- //
- resources.ApplyResources(this.chkdefAllowInsecure, "chkdefAllowInsecure");
- this.chkdefAllowInsecure.Name = "chkdefAllowInsecure";
- this.chkdefAllowInsecure.UseVisualStyleBackColor = true;
- //
- // chkAllowLANConn
- //
- resources.ApplyResources(this.chkAllowLANConn, "chkAllowLANConn");
- this.chkAllowLANConn.Name = "chkAllowLANConn";
- this.chkAllowLANConn.UseVisualStyleBackColor = true;
- //
- // chksniffingEnabled
- //
- resources.ApplyResources(this.chksniffingEnabled, "chksniffingEnabled");
- this.chksniffingEnabled.Name = "chksniffingEnabled";
- this.chksniffingEnabled.UseVisualStyleBackColor = true;
- //
- // chkmuxEnabled
- //
- resources.ApplyResources(this.chkmuxEnabled, "chkmuxEnabled");
- this.chkmuxEnabled.Name = "chkmuxEnabled";
- this.chkmuxEnabled.UseVisualStyleBackColor = true;
- //
- // cmbprotocol
- //
- this.cmbprotocol.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- resources.ApplyResources(this.cmbprotocol, "cmbprotocol");
- this.cmbprotocol.FormattingEnabled = true;
- this.cmbprotocol.Items.AddRange(new object[] {
- resources.GetString("cmbprotocol.Items"),
- resources.GetString("cmbprotocol.Items1")});
- this.cmbprotocol.Name = "cmbprotocol";
- //
- // label1
- //
- resources.ApplyResources(this.label1, "label1");
- this.label1.Name = "label1";
- //
- // chkudpEnabled
- //
- resources.ApplyResources(this.chkudpEnabled, "chkudpEnabled");
- this.chkudpEnabled.Name = "chkudpEnabled";
- this.chkudpEnabled.UseVisualStyleBackColor = true;
- //
- // chklogEnabled
- //
- resources.ApplyResources(this.chklogEnabled, "chklogEnabled");
- this.chklogEnabled.Name = "chklogEnabled";
- this.chklogEnabled.UseVisualStyleBackColor = true;
- //
- // cmbloglevel
- //
- this.cmbloglevel.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cmbloglevel.FormattingEnabled = true;
- this.cmbloglevel.Items.AddRange(new object[] {
- resources.GetString("cmbloglevel.Items"),
- resources.GetString("cmbloglevel.Items1"),
- resources.GetString("cmbloglevel.Items2"),
- resources.GetString("cmbloglevel.Items3"),
- resources.GetString("cmbloglevel.Items4")});
- resources.ApplyResources(this.cmbloglevel, "cmbloglevel");
- this.cmbloglevel.Name = "cmbloglevel";
- //
- // label5
- //
- resources.ApplyResources(this.label5, "label5");
- this.label5.Name = "label5";
- //
- // txtlocalPort
- //
- resources.ApplyResources(this.txtlocalPort, "txtlocalPort");
- this.txtlocalPort.Name = "txtlocalPort";
- //
- // label2
- //
- resources.ApplyResources(this.label2, "label2");
- this.label2.Name = "label2";
- //
- // tabPage2
- //
- this.tabPage2.Controls.Add(this.cmbdomainStrategy4Freedom);
- this.tabPage2.Controls.Add(this.label19);
- this.tabPage2.Controls.Add(this.linkDnsObjectDoc);
- this.tabPage2.Controls.Add(this.txtremoteDNS);
- this.tabPage2.Controls.Add(this.label14);
- resources.ApplyResources(this.tabPage2, "tabPage2");
- this.tabPage2.Name = "tabPage2";
- this.tabPage2.UseVisualStyleBackColor = true;
- //
- // cmbdomainStrategy4Freedom
- //
- this.cmbdomainStrategy4Freedom.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cmbdomainStrategy4Freedom.FormattingEnabled = true;
- this.cmbdomainStrategy4Freedom.Items.AddRange(new object[] {
- resources.GetString("cmbdomainStrategy4Freedom.Items"),
- resources.GetString("cmbdomainStrategy4Freedom.Items1"),
- resources.GetString("cmbdomainStrategy4Freedom.Items2"),
- resources.GetString("cmbdomainStrategy4Freedom.Items3")});
- resources.ApplyResources(this.cmbdomainStrategy4Freedom, "cmbdomainStrategy4Freedom");
- this.cmbdomainStrategy4Freedom.Name = "cmbdomainStrategy4Freedom";
- //
- // label19
- //
- resources.ApplyResources(this.label19, "label19");
- this.label19.Name = "label19";
- //
- // linkDnsObjectDoc
- //
- resources.ApplyResources(this.linkDnsObjectDoc, "linkDnsObjectDoc");
- this.linkDnsObjectDoc.Name = "linkDnsObjectDoc";
- this.linkDnsObjectDoc.TabStop = true;
- this.linkDnsObjectDoc.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkDnsObjectDoc_LinkClicked);
- //
- // txtremoteDNS
- //
- resources.ApplyResources(this.txtremoteDNS, "txtremoteDNS");
- this.txtremoteDNS.Name = "txtremoteDNS";
- //
- // label14
- //
- resources.ApplyResources(this.label14, "label14");
- this.label14.Name = "label14";
- //
- // tabPage6
- //
- this.tabPage6.Controls.Add(this.chkKcpcongestion);
- this.tabPage6.Controls.Add(this.txtKcpwriteBufferSize);
- this.tabPage6.Controls.Add(this.label10);
- this.tabPage6.Controls.Add(this.txtKcpreadBufferSize);
- this.tabPage6.Controls.Add(this.label11);
- this.tabPage6.Controls.Add(this.txtKcpdownlinkCapacity);
- this.tabPage6.Controls.Add(this.label8);
- this.tabPage6.Controls.Add(this.txtKcpuplinkCapacity);
- this.tabPage6.Controls.Add(this.label9);
- this.tabPage6.Controls.Add(this.txtKcptti);
- this.tabPage6.Controls.Add(this.label7);
- this.tabPage6.Controls.Add(this.txtKcpmtu);
- this.tabPage6.Controls.Add(this.label6);
- resources.ApplyResources(this.tabPage6, "tabPage6");
- this.tabPage6.Name = "tabPage6";
- this.tabPage6.UseVisualStyleBackColor = true;
- //
- // chkKcpcongestion
- //
- resources.ApplyResources(this.chkKcpcongestion, "chkKcpcongestion");
- this.chkKcpcongestion.Name = "chkKcpcongestion";
- this.chkKcpcongestion.UseVisualStyleBackColor = true;
- //
- // txtKcpwriteBufferSize
- //
- resources.ApplyResources(this.txtKcpwriteBufferSize, "txtKcpwriteBufferSize");
- this.txtKcpwriteBufferSize.Name = "txtKcpwriteBufferSize";
- //
- // label10
- //
- resources.ApplyResources(this.label10, "label10");
- this.label10.Name = "label10";
- //
- // txtKcpreadBufferSize
- //
- resources.ApplyResources(this.txtKcpreadBufferSize, "txtKcpreadBufferSize");
- this.txtKcpreadBufferSize.Name = "txtKcpreadBufferSize";
- //
- // label11
- //
- resources.ApplyResources(this.label11, "label11");
- this.label11.Name = "label11";
- //
- // txtKcpdownlinkCapacity
- //
- resources.ApplyResources(this.txtKcpdownlinkCapacity, "txtKcpdownlinkCapacity");
- this.txtKcpdownlinkCapacity.Name = "txtKcpdownlinkCapacity";
- //
- // label8
- //
- resources.ApplyResources(this.label8, "label8");
- this.label8.Name = "label8";
- //
- // txtKcpuplinkCapacity
- //
- resources.ApplyResources(this.txtKcpuplinkCapacity, "txtKcpuplinkCapacity");
- this.txtKcpuplinkCapacity.Name = "txtKcpuplinkCapacity";
- //
- // label9
- //
- resources.ApplyResources(this.label9, "label9");
- this.label9.Name = "label9";
- //
- // txtKcptti
- //
- resources.ApplyResources(this.txtKcptti, "txtKcptti");
- this.txtKcptti.Name = "txtKcptti";
- //
- // label7
- //
- resources.ApplyResources(this.label7, "label7");
- this.label7.Name = "label7";
- //
- // txtKcpmtu
- //
- resources.ApplyResources(this.txtKcpmtu, "txtKcpmtu");
- this.txtKcpmtu.Name = "txtKcpmtu";
- //
- // label6
- //
- resources.ApplyResources(this.label6, "label6");
- this.label6.Name = "label6";
- //
- // tabPage7
- //
- this.tabPage7.Controls.Add(this.chkEnableCheckPreReleaseUpdate);
- this.tabPage7.Controls.Add(this.numStatisticsFreshRate);
- this.tabPage7.Controls.Add(this.txttrayMenuServersLimit);
- this.tabPage7.Controls.Add(this.label17);
- this.tabPage7.Controls.Add(this.txtautoUpdateSubInterval);
- this.tabPage7.Controls.Add(this.label3);
- this.tabPage7.Controls.Add(this.chkEnableSecurityProtocolTls13);
- this.tabPage7.Controls.Add(this.chkEnableAutoAdjustMainLvColWidth);
- this.tabPage7.Controls.Add(this.btnSetLoopback);
- this.tabPage7.Controls.Add(this.txtautoUpdateInterval);
- this.tabPage7.Controls.Add(this.label15);
- this.tabPage7.Controls.Add(this.chkIgnoreGeoUpdateCore);
- this.tabPage7.Controls.Add(this.chkKeepOlderDedupl);
- this.tabPage7.Controls.Add(this.lbFreshrate);
- this.tabPage7.Controls.Add(this.chkEnableStatistics);
- this.tabPage7.Controls.Add(this.chkAutoRun);
- resources.ApplyResources(this.tabPage7, "tabPage7");
- this.tabPage7.Name = "tabPage7";
- this.tabPage7.UseVisualStyleBackColor = true;
- //
- // numStatisticsFreshRate
- //
- resources.ApplyResources(this.numStatisticsFreshRate, "numStatisticsFreshRate");
- this.numStatisticsFreshRate.Name = "numStatisticsFreshRate";
- //
- // txttrayMenuServersLimit
- //
- resources.ApplyResources(this.txttrayMenuServersLimit, "txttrayMenuServersLimit");
- this.txttrayMenuServersLimit.Name = "txttrayMenuServersLimit";
- //
- // label17
- //
- resources.ApplyResources(this.label17, "label17");
- this.label17.Name = "label17";
- //
- // txtautoUpdateSubInterval
- //
- resources.ApplyResources(this.txtautoUpdateSubInterval, "txtautoUpdateSubInterval");
- this.txtautoUpdateSubInterval.Name = "txtautoUpdateSubInterval";
- //
- // label3
- //
- resources.ApplyResources(this.label3, "label3");
- this.label3.Name = "label3";
- //
- // chkEnableSecurityProtocolTls13
- //
- resources.ApplyResources(this.chkEnableSecurityProtocolTls13, "chkEnableSecurityProtocolTls13");
- this.chkEnableSecurityProtocolTls13.Name = "chkEnableSecurityProtocolTls13";
- this.chkEnableSecurityProtocolTls13.UseVisualStyleBackColor = true;
- //
- // chkEnableAutoAdjustMainLvColWidth
- //
- resources.ApplyResources(this.chkEnableAutoAdjustMainLvColWidth, "chkEnableAutoAdjustMainLvColWidth");
- this.chkEnableAutoAdjustMainLvColWidth.Name = "chkEnableAutoAdjustMainLvColWidth";
- this.chkEnableAutoAdjustMainLvColWidth.UseVisualStyleBackColor = true;
- //
- // btnSetLoopback
- //
- resources.ApplyResources(this.btnSetLoopback, "btnSetLoopback");
- this.btnSetLoopback.Name = "btnSetLoopback";
- this.btnSetLoopback.UseVisualStyleBackColor = true;
- this.btnSetLoopback.Click += new System.EventHandler(this.btnSetLoopback_Click);
- //
- // txtautoUpdateInterval
- //
- resources.ApplyResources(this.txtautoUpdateInterval, "txtautoUpdateInterval");
- this.txtautoUpdateInterval.Name = "txtautoUpdateInterval";
- //
- // label15
- //
- resources.ApplyResources(this.label15, "label15");
- this.label15.Name = "label15";
- //
- // chkIgnoreGeoUpdateCore
- //
- resources.ApplyResources(this.chkIgnoreGeoUpdateCore, "chkIgnoreGeoUpdateCore");
- this.chkIgnoreGeoUpdateCore.Name = "chkIgnoreGeoUpdateCore";
- this.chkIgnoreGeoUpdateCore.UseVisualStyleBackColor = true;
- //
- // chkKeepOlderDedupl
- //
- resources.ApplyResources(this.chkKeepOlderDedupl, "chkKeepOlderDedupl");
- this.chkKeepOlderDedupl.Name = "chkKeepOlderDedupl";
- this.chkKeepOlderDedupl.UseVisualStyleBackColor = true;
- //
- // lbFreshrate
- //
- resources.ApplyResources(this.lbFreshrate, "lbFreshrate");
- this.lbFreshrate.Name = "lbFreshrate";
- //
- // chkEnableStatistics
- //
- resources.ApplyResources(this.chkEnableStatistics, "chkEnableStatistics");
- this.chkEnableStatistics.Name = "chkEnableStatistics";
- this.chkEnableStatistics.UseVisualStyleBackColor = true;
- //
- // chkAutoRun
- //
- resources.ApplyResources(this.chkAutoRun, "chkAutoRun");
- this.chkAutoRun.Name = "chkAutoRun";
- this.chkAutoRun.UseVisualStyleBackColor = true;
- //
- // tabPageCoreType
- //
- this.tabPageCoreType.Controls.Add(this.cmbCoreType6);
- this.tabPageCoreType.Controls.Add(this.labCoreType6);
- this.tabPageCoreType.Controls.Add(this.cmbCoreType5);
- this.tabPageCoreType.Controls.Add(this.labCoreType5);
- this.tabPageCoreType.Controls.Add(this.cmbCoreType4);
- this.tabPageCoreType.Controls.Add(this.labCoreType4);
- this.tabPageCoreType.Controls.Add(this.cmbCoreType3);
- this.tabPageCoreType.Controls.Add(this.labCoreType3);
- this.tabPageCoreType.Controls.Add(this.cmbCoreType2);
- this.tabPageCoreType.Controls.Add(this.labCoreType2);
- this.tabPageCoreType.Controls.Add(this.cmbCoreType1);
- this.tabPageCoreType.Controls.Add(this.labCoreType1);
- resources.ApplyResources(this.tabPageCoreType, "tabPageCoreType");
- this.tabPageCoreType.Name = "tabPageCoreType";
- this.tabPageCoreType.UseVisualStyleBackColor = true;
- //
- // cmbCoreType6
- //
- this.cmbCoreType6.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cmbCoreType6.FormattingEnabled = true;
- resources.ApplyResources(this.cmbCoreType6, "cmbCoreType6");
- this.cmbCoreType6.Name = "cmbCoreType6";
- //
- // labCoreType6
- //
- resources.ApplyResources(this.labCoreType6, "labCoreType6");
- this.labCoreType6.Name = "labCoreType6";
- //
- // cmbCoreType5
- //
- this.cmbCoreType5.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cmbCoreType5.FormattingEnabled = true;
- resources.ApplyResources(this.cmbCoreType5, "cmbCoreType5");
- this.cmbCoreType5.Name = "cmbCoreType5";
- //
- // labCoreType5
- //
- resources.ApplyResources(this.labCoreType5, "labCoreType5");
- this.labCoreType5.Name = "labCoreType5";
- //
- // cmbCoreType4
- //
- this.cmbCoreType4.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cmbCoreType4.FormattingEnabled = true;
- resources.ApplyResources(this.cmbCoreType4, "cmbCoreType4");
- this.cmbCoreType4.Name = "cmbCoreType4";
- //
- // labCoreType4
- //
- resources.ApplyResources(this.labCoreType4, "labCoreType4");
- this.labCoreType4.Name = "labCoreType4";
- //
- // cmbCoreType3
- //
- this.cmbCoreType3.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cmbCoreType3.FormattingEnabled = true;
- resources.ApplyResources(this.cmbCoreType3, "cmbCoreType3");
- this.cmbCoreType3.Name = "cmbCoreType3";
- //
- // labCoreType3
- //
- resources.ApplyResources(this.labCoreType3, "labCoreType3");
- this.labCoreType3.Name = "labCoreType3";
- //
- // cmbCoreType2
- //
- this.cmbCoreType2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cmbCoreType2.FormattingEnabled = true;
- resources.ApplyResources(this.cmbCoreType2, "cmbCoreType2");
- this.cmbCoreType2.Name = "cmbCoreType2";
- //
- // labCoreType2
- //
- resources.ApplyResources(this.labCoreType2, "labCoreType2");
- this.labCoreType2.Name = "labCoreType2";
- //
- // cmbCoreType1
- //
- this.cmbCoreType1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cmbCoreType1.FormattingEnabled = true;
- resources.ApplyResources(this.cmbCoreType1, "cmbCoreType1");
- this.cmbCoreType1.Name = "cmbCoreType1";
- //
- // labCoreType1
- //
- resources.ApplyResources(this.labCoreType1, "labCoreType1");
- this.labCoreType1.Name = "labCoreType1";
- //
- // tabPage3
- //
- this.tabPage3.Controls.Add(this.groupBox2);
- resources.ApplyResources(this.tabPage3, "tabPage3");
- this.tabPage3.Name = "tabPage3";
- this.tabPage3.UseVisualStyleBackColor = true;
- //
- // groupBox2
- //
- this.groupBox2.Controls.Add(this.label18);
- this.groupBox2.Controls.Add(this.cmbSystemProxyAdvancedProtocol);
- this.groupBox2.Controls.Add(this.label13);
- this.groupBox2.Controls.Add(this.label12);
- this.groupBox2.Controls.Add(this.txtsystemProxyExceptions);
- resources.ApplyResources(this.groupBox2, "groupBox2");
- this.groupBox2.Name = "groupBox2";
- this.groupBox2.TabStop = false;
- //
- // label18
- //
- resources.ApplyResources(this.label18, "label18");
- this.label18.Name = "label18";
- //
- // cmbSystemProxyAdvancedProtocol
- //
- this.cmbSystemProxyAdvancedProtocol.FormattingEnabled = true;
- resources.ApplyResources(this.cmbSystemProxyAdvancedProtocol, "cmbSystemProxyAdvancedProtocol");
- this.cmbSystemProxyAdvancedProtocol.Name = "cmbSystemProxyAdvancedProtocol";
- //
- // label13
- //
- resources.ApplyResources(this.label13, "label13");
- this.label13.Name = "label13";
- //
- // label12
- //
- resources.ApplyResources(this.label12, "label12");
- this.label12.Name = "label12";
- //
- // txtsystemProxyExceptions
- //
- resources.ApplyResources(this.txtsystemProxyExceptions, "txtsystemProxyExceptions");
- this.txtsystemProxyExceptions.Name = "txtsystemProxyExceptions";
- //
- // panel2
- //
- this.panel2.Controls.Add(this.btnClose);
- this.panel2.Controls.Add(this.btnOK);
- resources.ApplyResources(this.panel2, "panel2");
- this.panel2.Name = "panel2";
- //
- // btnOK
- //
- resources.ApplyResources(this.btnOK, "btnOK");
- this.btnOK.Name = "btnOK";
- this.btnOK.UseVisualStyleBackColor = true;
- this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
- //
- // panel1
- //
- resources.ApplyResources(this.panel1, "panel1");
- this.panel1.Name = "panel1";
- //
- // chkEnableCheckPreReleaseUpdate
- //
- resources.ApplyResources(this.chkEnableCheckPreReleaseUpdate, "chkEnableCheckPreReleaseUpdate");
- this.chkEnableCheckPreReleaseUpdate.Name = "chkEnableCheckPreReleaseUpdate";
- this.chkEnableCheckPreReleaseUpdate.UseVisualStyleBackColor = true;
- //
- // OptionSettingForm
- //
- resources.ApplyResources(this, "$this");
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.CancelButton = this.btnClose;
- this.Controls.Add(this.tabControl1);
- this.Controls.Add(this.panel2);
- this.Controls.Add(this.panel1);
- this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
- this.Name = "OptionSettingForm";
- this.Load += new System.EventHandler(this.OptionSettingForm_Load);
- this.tabControl1.ResumeLayout(false);
- this.tabPage1.ResumeLayout(false);
- this.groupBox1.ResumeLayout(false);
- this.groupBox1.PerformLayout();
- this.tabPage2.ResumeLayout(false);
- this.tabPage2.PerformLayout();
- this.tabPage6.ResumeLayout(false);
- this.tabPage6.PerformLayout();
- this.tabPage7.ResumeLayout(false);
- this.tabPage7.PerformLayout();
- ((System.ComponentModel.ISupportInitialize)(this.numStatisticsFreshRate)).EndInit();
- this.tabPageCoreType.ResumeLayout(false);
- this.tabPageCoreType.PerformLayout();
- this.tabPage3.ResumeLayout(false);
- this.groupBox2.ResumeLayout(false);
- this.groupBox2.PerformLayout();
- this.panel2.ResumeLayout(false);
- this.ResumeLayout(false);
-
- }
-
- #endregion
-
- private System.Windows.Forms.Button btnClose;
- private System.Windows.Forms.Button btnOK;
- private System.Windows.Forms.GroupBox groupBox1;
- private System.Windows.Forms.ComboBox cmbloglevel;
- private System.Windows.Forms.Label label5;
- private System.Windows.Forms.TextBox txtlocalPort;
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.CheckBox chklogEnabled;
- private System.Windows.Forms.CheckBox chkudpEnabled;
- private System.Windows.Forms.Panel panel1;
- private System.Windows.Forms.TabControl tabControl1;
- private System.Windows.Forms.TabPage tabPage1;
- private System.Windows.Forms.Panel panel2;
- private System.Windows.Forms.ComboBox cmbprotocol;
- private System.Windows.Forms.Label label1;
- private System.Windows.Forms.CheckBox chkmuxEnabled;
- private System.Windows.Forms.TabPage tabPage6;
- private System.Windows.Forms.TextBox txtKcpmtu;
- private System.Windows.Forms.Label label6;
- private System.Windows.Forms.TextBox txtKcptti;
- private System.Windows.Forms.Label label7;
- private System.Windows.Forms.TextBox txtKcpwriteBufferSize;
- private System.Windows.Forms.Label label10;
- private System.Windows.Forms.TextBox txtKcpreadBufferSize;
- private System.Windows.Forms.Label label11;
- private System.Windows.Forms.TextBox txtKcpdownlinkCapacity;
- private System.Windows.Forms.Label label8;
- private System.Windows.Forms.TextBox txtKcpuplinkCapacity;
- private System.Windows.Forms.Label label9;
- private System.Windows.Forms.CheckBox chkKcpcongestion;
- private System.Windows.Forms.TabPage tabPage7;
- private System.Windows.Forms.CheckBox chkAutoRun;
- private System.Windows.Forms.CheckBox chkAllowLANConn;
- private System.Windows.Forms.CheckBox chksniffingEnabled;
- private System.Windows.Forms.CheckBox chkEnableStatistics;
- private System.Windows.Forms.Label lbFreshrate;
- private System.Windows.Forms.CheckBox chkKeepOlderDedupl;
- private System.Windows.Forms.CheckBox chkdefAllowInsecure;
- private System.Windows.Forms.TabPage tabPage2;
- private System.Windows.Forms.LinkLabel linkDnsObjectDoc;
- private System.Windows.Forms.TextBox txtremoteDNS;
- private System.Windows.Forms.Label label14;
- private System.Windows.Forms.CheckBox chkIgnoreGeoUpdateCore;
- private System.Windows.Forms.TabPage tabPage3;
- private System.Windows.Forms.TextBox txtsystemProxyExceptions;
- private System.Windows.Forms.Label label12;
- private System.Windows.Forms.GroupBox groupBox2;
- private System.Windows.Forms.Label label13;
- private System.Windows.Forms.TextBox txtautoUpdateInterval;
- private System.Windows.Forms.Label label15;
- private System.Windows.Forms.Button btnSetLoopback;
- private System.Windows.Forms.CheckBox chkEnableAutoAdjustMainLvColWidth;
- private System.Windows.Forms.CheckBox chkEnableSecurityProtocolTls13;
- private System.Windows.Forms.TabPage tabPageCoreType;
- private System.Windows.Forms.ComboBox cmbCoreType1;
- private System.Windows.Forms.Label labCoreType1;
- private System.Windows.Forms.ComboBox cmbCoreType6;
- private System.Windows.Forms.Label labCoreType6;
- private System.Windows.Forms.ComboBox cmbCoreType5;
- private System.Windows.Forms.Label labCoreType5;
- private System.Windows.Forms.ComboBox cmbCoreType4;
- private System.Windows.Forms.Label labCoreType4;
- private System.Windows.Forms.ComboBox cmbCoreType3;
- private System.Windows.Forms.Label labCoreType3;
- private System.Windows.Forms.ComboBox cmbCoreType2;
- private System.Windows.Forms.Label labCoreType2;
- private System.Windows.Forms.Label label16;
- private System.Windows.Forms.Label label4;
- private System.Windows.Forms.TextBox txtpass;
- private System.Windows.Forms.TextBox txtuser;
- private System.Windows.Forms.TextBox txtautoUpdateSubInterval;
- private System.Windows.Forms.Label label3;
- private System.Windows.Forms.TextBox txttrayMenuServersLimit;
- private System.Windows.Forms.Label label17;
- private System.Windows.Forms.ComboBox cmbSystemProxyAdvancedProtocol;
- private System.Windows.Forms.Label label18;
- private System.Windows.Forms.NumericUpDown numStatisticsFreshRate;
- private System.Windows.Forms.ComboBox cmbdomainStrategy4Freedom;
- private System.Windows.Forms.Label label19;
- private System.Windows.Forms.CheckBox chkEnableCheckPreReleaseUpdate;
- }
-}
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/OptionSettingForm.cs b/v2rayN/v2rayN/Forms/OptionSettingForm.cs
deleted file mode 100644
index 4c357b83..00000000
--- a/v2rayN/v2rayN/Forms/OptionSettingForm.cs
+++ /dev/null
@@ -1,341 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.Windows.Forms;
-using v2rayN.Base;
-using v2rayN.Handler;
-using v2rayN.Mode;
-using v2rayN.Resx;
-
-namespace v2rayN.Forms
-{
- public partial class OptionSettingForm : BaseForm
- {
- public OptionSettingForm()
- {
- InitializeComponent();
- }
-
- private void OptionSettingForm_Load(object sender, EventArgs e)
- {
- cmbSystemProxyAdvancedProtocol.Items.AddRange(Global.IEProxyProtocols.ToArray());
- cmbdomainStrategy4Freedom.Items.Clear();
- cmbdomainStrategy4Freedom.Items.AddRange(Global.domainStrategy4Freedoms.ToArray());
-
- InitBase();
-
- InitKCP();
-
- InitGUI();
-
- InitCoreType();
- }
-
- ///
- /// 初始化基础设置
- ///
- private void InitBase()
- {
- //日志
- chklogEnabled.Checked = config.logEnabled;
- cmbloglevel.Text = config.loglevel;
-
- //Mux
- chkmuxEnabled.Checked = config.muxEnabled;
-
- //本地监听
- if (config.inbound.Count > 0)
- {
- txtlocalPort.Text = config.inbound[0].localPort.ToString();
- cmbprotocol.Text = config.inbound[0].protocol.ToString();
- chkudpEnabled.Checked = config.inbound[0].udpEnabled;
- chksniffingEnabled.Checked = config.inbound[0].sniffingEnabled;
- chkAllowLANConn.Checked = config.inbound[0].allowLANConn;
- txtuser.Text = config.inbound[0].user;
- txtpass.Text = config.inbound[0].pass;
-
- }
-
- //remoteDNS
- txtremoteDNS.Text = config.remoteDNS;
- cmbdomainStrategy4Freedom.Text = config.domainStrategy4Freedom;
-
- chkdefAllowInsecure.Checked = config.defAllowInsecure;
-
- txtsystemProxyExceptions.Text = config.systemProxyExceptions;
-
- cmbSystemProxyAdvancedProtocol.Text = config.systemProxyAdvancedProtocol;
- }
-
-
- ///
- /// 初始化KCP设置
- ///
- private void InitKCP()
- {
- txtKcpmtu.Text = config.kcpItem.mtu.ToString();
- txtKcptti.Text = config.kcpItem.tti.ToString();
- txtKcpuplinkCapacity.Text = config.kcpItem.uplinkCapacity.ToString();
- txtKcpdownlinkCapacity.Text = config.kcpItem.downlinkCapacity.ToString();
- txtKcpreadBufferSize.Text = config.kcpItem.readBufferSize.ToString();
- txtKcpwriteBufferSize.Text = config.kcpItem.writeBufferSize.ToString();
- chkKcpcongestion.Checked = config.kcpItem.congestion;
- }
-
- ///
- /// 初始化v2rayN GUI设置
- ///
- private void InitGUI()
- {
- //开机自动启动
- chkAutoRun.Checked = Utils.IsAutoRun();
-
- chkEnableStatistics.Checked = config.enableStatistics;
- numStatisticsFreshRate.Value = config.statisticsFreshRate;
- chkKeepOlderDedupl.Checked = config.keepOlderDedupl;
-
- chkIgnoreGeoUpdateCore.Checked = config.ignoreGeoUpdateCore;
- chkEnableAutoAdjustMainLvColWidth.Checked = config.uiItem.enableAutoAdjustMainLvColWidth;
- chkEnableSecurityProtocolTls13.Checked = config.enableSecurityProtocolTls13;
-
- txtautoUpdateInterval.Text = config.autoUpdateInterval.ToString();
- txtautoUpdateSubInterval.Text = config.autoUpdateSubInterval.ToString();
- chkEnableCheckPreReleaseUpdate.Checked = config.checkPreReleaseUpdate;
- txttrayMenuServersLimit.Text = config.trayMenuServersLimit.ToString();
- }
-
- private void InitCoreType()
- {
- if (config.coreTypeItem == null)
- {
- config.coreTypeItem = new List();
- }
-
- foreach (EConfigType it in Enum.GetValues(typeof(EConfigType)))
- {
- if (config.coreTypeItem.FindIndex(t => t.configType == it) >= 0)
- {
- continue;
- }
-
- config.coreTypeItem.Add(new CoreTypeItem()
- {
- configType = it,
- coreType = ECoreType.Xray
- });
- }
- for (int k = 1; k <= config.coreTypeItem.Count; k++)
- {
- var item = config.coreTypeItem[k - 1];
- ((ComboBox)tabPageCoreType.Controls[$"cmbCoreType{k}"]).Items.AddRange(Global.coreTypes.ToArray());
- tabPageCoreType.Controls[$"labCoreType{k}"].Text = item.configType.ToString();
- tabPageCoreType.Controls[$"cmbCoreType{k}"].Text = item.coreType.ToString();
- }
- }
-
- private void btnOK_Click(object sender, EventArgs e)
- {
- if (SaveBase() != 0)
- {
- return;
- }
-
-
- if (SaveKCP() != 0)
- {
- return;
- }
-
- if (SaveGUI() != 0)
- {
- return;
- }
-
- if (SaveCoreType() != 0)
- {
- return;
- }
-
- if (ConfigHandler.SaveConfig(ref config) == 0)
- {
- DialogResult = DialogResult.OK;
- }
- else
- {
- UI.ShowWarning(ResUI.OperationFailed);
- }
- }
-
- ///
- /// 保存基础设置
- ///
- ///
- private int SaveBase()
- {
- //日志
- bool logEnabled = chklogEnabled.Checked;
- string loglevel = cmbloglevel.Text.TrimEx();
-
- //Mux
- bool muxEnabled = chkmuxEnabled.Checked;
-
- //本地监听
- string localPort = txtlocalPort.Text.TrimEx();
- string protocol = cmbprotocol.Text.TrimEx();
- bool udpEnabled = chkudpEnabled.Checked;
- bool sniffingEnabled = chksniffingEnabled.Checked;
- bool allowLANConn = chkAllowLANConn.Checked;
- if (Utils.IsNullOrEmpty(localPort) || !Utils.IsNumberic(localPort))
- {
- UI.Show(ResUI.FillLocalListeningPort);
- return -1;
- }
- if (Utils.IsNullOrEmpty(protocol))
- {
- UI.Show(ResUI.PleaseSelectProtocol);
- return -1;
- }
-
- var remoteDNS = txtremoteDNS.Text.TrimEx();
- var obj = Utils.ParseJson(remoteDNS);
- if (obj != null && obj.ContainsKey("servers"))
- {
- }
- else
- {
- if (remoteDNS.Contains("{") || remoteDNS.Contains("}"))
- {
- UI.Show(ResUI.FillCorrectDNSText);
- return -1;
- }
- }
-
- config.inbound[0].localPort = Utils.ToInt(localPort);
- config.inbound[0].protocol = protocol;
- config.inbound[0].udpEnabled = udpEnabled;
- config.inbound[0].sniffingEnabled = sniffingEnabled;
- config.inbound[0].allowLANConn = allowLANConn;
- config.inbound[0].user = txtuser.Text;
- config.inbound[0].pass = txtpass.Text;
-
- if (config.inbound.Count > 1)
- {
- config.inbound.RemoveAt(1);
- }
-
-
- //日志
- config.logEnabled = logEnabled;
- config.loglevel = loglevel;
-
- //Mux
- config.muxEnabled = muxEnabled;
-
- //remoteDNS
- config.remoteDNS = txtremoteDNS.Text.TrimEx();
- config.domainStrategy4Freedom = cmbdomainStrategy4Freedom.Text;
-
- config.defAllowInsecure = chkdefAllowInsecure.Checked;
-
- config.systemProxyExceptions = txtsystemProxyExceptions.Text.TrimEx();
-
- config.systemProxyAdvancedProtocol = cmbSystemProxyAdvancedProtocol.Text.TrimEx();
-
- return 0;
- }
-
-
- ///
- /// 保存KCP设置
- ///
- ///
- private int SaveKCP()
- {
- string mtu = txtKcpmtu.Text.TrimEx();
- string tti = txtKcptti.Text.TrimEx();
- string uplinkCapacity = txtKcpuplinkCapacity.Text.TrimEx();
- string downlinkCapacity = txtKcpdownlinkCapacity.Text.TrimEx();
- string readBufferSize = txtKcpreadBufferSize.Text.TrimEx();
- string writeBufferSize = txtKcpwriteBufferSize.Text.TrimEx();
- bool congestion = chkKcpcongestion.Checked;
-
- if (Utils.IsNullOrEmpty(mtu) || !Utils.IsNumberic(mtu)
- || Utils.IsNullOrEmpty(tti) || !Utils.IsNumberic(tti)
- || Utils.IsNullOrEmpty(uplinkCapacity) || !Utils.IsNumberic(uplinkCapacity)
- || Utils.IsNullOrEmpty(downlinkCapacity) || !Utils.IsNumberic(downlinkCapacity)
- || Utils.IsNullOrEmpty(readBufferSize) || !Utils.IsNumberic(readBufferSize)
- || Utils.IsNullOrEmpty(writeBufferSize) || !Utils.IsNumberic(writeBufferSize))
- {
- UI.Show(ResUI.FillKcpParameters);
- return -1;
- }
- config.kcpItem.mtu = Utils.ToInt(mtu);
- config.kcpItem.tti = Utils.ToInt(tti);
- config.kcpItem.uplinkCapacity = Utils.ToInt(uplinkCapacity);
- config.kcpItem.downlinkCapacity = Utils.ToInt(downlinkCapacity);
- config.kcpItem.readBufferSize = Utils.ToInt(readBufferSize);
- config.kcpItem.writeBufferSize = Utils.ToInt(writeBufferSize);
- config.kcpItem.congestion = congestion;
-
- return 0;
- }
-
- ///
- /// 保存GUI设置
- ///
- ///
- private int SaveGUI()
- {
- //开机自动启动
- Utils.SetAutoRun(chkAutoRun.Checked);
-
- bool lastEnableStatistics = config.enableStatistics;
- config.enableStatistics = chkEnableStatistics.Checked;
- config.statisticsFreshRate = Convert.ToInt32(numStatisticsFreshRate.Value);
- if (config.statisticsFreshRate > 100 || config.statisticsFreshRate < 1)
- {
- config.statisticsFreshRate = 1;
- }
-
- config.keepOlderDedupl = chkKeepOlderDedupl.Checked;
-
- config.ignoreGeoUpdateCore = chkIgnoreGeoUpdateCore.Checked;
- config.uiItem.enableAutoAdjustMainLvColWidth = chkEnableAutoAdjustMainLvColWidth.Checked;
- config.enableSecurityProtocolTls13 = chkEnableSecurityProtocolTls13.Checked;
-
- config.autoUpdateInterval = Utils.ToInt(txtautoUpdateInterval.Text);
- config.autoUpdateSubInterval = Utils.ToInt(txtautoUpdateSubInterval.Text);
- config.checkPreReleaseUpdate = chkEnableCheckPreReleaseUpdate.Checked;
- config.trayMenuServersLimit = Utils.ToInt(txttrayMenuServersLimit.Text);
- return 0;
- }
-
- private int SaveCoreType()
- {
- for (int k = 1; k <= config.coreTypeItem.Count; k++)
- {
- var item = config.coreTypeItem[k - 1];
- item.coreType = (ECoreType)Enum.Parse(typeof(ECoreType), tabPageCoreType.Controls[$"cmbCoreType{k}"].Text);
- }
-
- return 0;
- }
-
- private void btnClose_Click(object sender, EventArgs e)
- {
- DialogResult = DialogResult.Cancel;
- }
-
-
- private void linkDnsObjectDoc_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
- {
- Process.Start("https://www.v2fly.org/config/dns.html#dnsobject");
- }
-
- private void btnSetLoopback_Click(object sender, EventArgs e)
- {
- Process.Start(Utils.GetPath("EnableLoopback.exe"));
- }
-
- }
-}
diff --git a/v2rayN/v2rayN/Forms/OptionSettingForm.resx b/v2rayN/v2rayN/Forms/OptionSettingForm.resx
deleted file mode 100644
index c1cb6445..00000000
--- a/v2rayN/v2rayN/Forms/OptionSettingForm.resx
+++ /dev/null
@@ -1,2898 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
- 355, 16
-
-
- 75, 23
-
-
-
- 7
-
-
- &Cancel
-
-
- btnClose
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel2
-
-
- 0
-
-
- groupBox1
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage1
-
-
- 0
-
-
- 4, 22
-
-
-
- 3, 3, 3, 3
-
-
- 728, 427
-
-
- 0
-
-
- Core: basic settings
-
-
- tabPage1
-
-
- System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabControl1
-
-
- 0
-
-
- cmbdomainStrategy4Freedom
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage2
-
-
- 0
-
-
- label19
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage2
-
-
- 1
-
-
- linkDnsObjectDoc
-
-
- System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage2
-
-
- 2
-
-
- txtremoteDNS
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage2
-
-
- 3
-
-
- label14
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage2
-
-
- 4
-
-
- 4, 22
-
-
- 728, 427
-
-
- 4
-
-
- Core: DNS settings
-
-
- tabPage2
-
-
- System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabControl1
-
-
- 1
-
-
- chkKcpcongestion
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage6
-
-
- 0
-
-
- txtKcpwriteBufferSize
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage6
-
-
- 1
-
-
- label10
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage6
-
-
- 2
-
-
- txtKcpreadBufferSize
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage6
-
-
- 3
-
-
- label11
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage6
-
-
- 4
-
-
- txtKcpdownlinkCapacity
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage6
-
-
- 5
-
-
- label8
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage6
-
-
- 6
-
-
- txtKcpuplinkCapacity
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage6
-
-
- 7
-
-
- label9
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage6
-
-
- 8
-
-
- txtKcptti
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage6
-
-
- 9
-
-
- label7
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage6
-
-
- 10
-
-
- txtKcpmtu
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage6
-
-
- 11
-
-
- label6
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage6
-
-
- 12
-
-
- 4, 22
-
-
- 3, 3, 3, 3
-
-
- 728, 427
-
-
- 2
-
-
- Core: KCP settings
-
-
- tabPage6
-
-
- System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabControl1
-
-
- 2
-
-
- NoControl
-
-
- 15, 247
-
-
- 297, 16
-
-
- 48
-
-
- Check for pre-release updates
-
-
- chkEnableCheckPreReleaseUpdate
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage7
-
-
- 0
-
-
- 663, 37
-
-
- 62, 21
-
-
- 47
-
-
- numStatisticsFreshRate
-
-
- System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage7
-
-
- 1
-
-
- 351, 211
-
-
- 97, 21
-
-
- 45
-
-
- txttrayMenuServersLimit
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage7
-
-
- 2
-
-
- True
-
-
- NoControl
-
-
- 27, 215
-
-
- 263, 12
-
-
- 44
-
-
- Tray right-click menu servers display limit
-
-
- label17
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage7
-
-
- 3
-
-
- 351, 184
-
-
- 97, 21
-
-
- 43
-
-
- txtautoUpdateSubInterval
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage7
-
-
- 4
-
-
- True
-
-
- NoControl
-
-
- 27, 188
-
-
- 305, 12
-
-
- 42
-
-
- Automatic update interval of subscriptions (hours)
-
-
- label3
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage7
-
-
- 5
-
-
- 15, 131
-
-
- 506, 16
-
-
- 41
-
-
- Enable Security Protocol TLS v1.3 (subscription/update/speedtest)
-
-
- chkEnableSecurityProtocolTls13
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage7
-
-
- 6
-
-
- True
-
-
- NoControl
-
-
- 15, 108
-
-
- 390, 16
-
-
- 40
-
-
- Automatically adjust column width after updating subscription
-
-
- chkEnableAutoAdjustMainLvColWidth
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage7
-
-
- 7
-
-
- NoControl
-
-
- 30, 376
-
-
- 282, 23
-
-
- 39
-
-
- Set Windows10 UWP Loopback
-
-
- btnSetLoopback
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage7
-
-
- 8
-
-
- 351, 157
-
-
- 97, 21
-
-
- 38
-
-
- txtautoUpdateInterval
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage7
-
-
- 9
-
-
- True
-
-
- NoControl
-
-
- 27, 161
-
-
- 269, 12
-
-
- 37
-
-
- Automatic update interval of and Geo (hours)
-
-
- label15
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage7
-
-
- 10
-
-
- True
-
-
- NoControl
-
-
- 15, 85
-
-
- 234, 16
-
-
- 36
-
-
- Ignore Geo files when updating core
-
-
- chkIgnoreGeoUpdateCore
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage7
-
-
- 11
-
-
- True
-
-
- NoControl
-
-
- 15, 62
-
-
- 198, 16
-
-
- 33
-
-
- Keep older when deduplication
-
-
- chkKeepOlderDedupl
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage7
-
-
- 12
-
-
- True
-
-
- NoControl
-
-
- 479, 41
-
-
- 179, 12
-
-
- 30
-
-
- Statistics freshrate (second)
-
-
- lbFreshrate
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage7
-
-
- 13
-
-
- True
-
-
- NoControl
-
-
- 15, 39
-
-
- 468, 16
-
-
- 29
-
-
- Enable Statistics (Realtime netspeed and traffic records. Require restart)
-
-
- chkEnableStatistics
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage7
-
-
- 14
-
-
- True
-
-
- 15, 16
-
-
- 246, 16
-
-
- 23
-
-
- Automatically start at system startup
-
-
- chkAutoRun
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage7
-
-
- 15
-
-
- 4, 22
-
-
- 3, 3, 3, 3
-
-
- 728, 427
-
-
- 3
-
-
- v2rayN settings
-
-
- tabPage7
-
-
- System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabControl1
-
-
- 3
-
-
- cmbCoreType6
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPageCoreType
-
-
- 0
-
-
- labCoreType6
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPageCoreType
-
-
- 1
-
-
- cmbCoreType5
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPageCoreType
-
-
- 2
-
-
- labCoreType5
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPageCoreType
-
-
- 3
-
-
- cmbCoreType4
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPageCoreType
-
-
- 4
-
-
- labCoreType4
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPageCoreType
-
-
- 5
-
-
- cmbCoreType3
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPageCoreType
-
-
- 6
-
-
- labCoreType3
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPageCoreType
-
-
- 7
-
-
- cmbCoreType2
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPageCoreType
-
-
- 8
-
-
- labCoreType2
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPageCoreType
-
-
- 9
-
-
- cmbCoreType1
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPageCoreType
-
-
- 10
-
-
- labCoreType1
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPageCoreType
-
-
- 11
-
-
- 4, 22
-
-
- 3, 3, 3, 3
-
-
- 728, 427
-
-
- 6
-
-
- CoreType settings
-
-
- tabPageCoreType
-
-
- System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabControl1
-
-
- 4
-
-
- groupBox2
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage3
-
-
- 0
-
-
- 4, 22
-
-
- 728, 427
-
-
- 5
-
-
- System proxy settings
-
-
- tabPage3
-
-
- System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabControl1
-
-
- 5
-
-
- Fill
-
-
- 0, 10
-
-
- 736, 453
-
-
- 10
-
-
- tabControl1
-
-
- System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 0
-
-
- label16
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 0
-
-
- label4
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 1
-
-
- txtpass
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 2
-
-
- txtuser
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 3
-
-
- chkdefAllowInsecure
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 4
-
-
- chkAllowLANConn
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 5
-
-
- chksniffingEnabled
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 6
-
-
- chkmuxEnabled
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 7
-
-
- cmbprotocol
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 8
-
-
- label1
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 9
-
-
- chkudpEnabled
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 10
-
-
- chklogEnabled
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 11
-
-
- cmbloglevel
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 12
-
-
- label5
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 13
-
-
- txtlocalPort
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 14
-
-
- label2
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 15
-
-
- Fill
-
-
- 3, 3
-
-
- 722, 421
-
-
- 6
-
-
- groupBox1
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage1
-
-
- 0
-
-
- True
-
-
- NoControl
-
-
- 397, 65
-
-
- 59, 12
-
-
- 39
-
-
- Auth pass
-
-
- label16
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 0
-
-
- True
-
-
- NoControl
-
-
- 224, 65
-
-
- 59, 12
-
-
- 38
-
-
- Auth user
-
-
- label4
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 1
-
-
- 496, 61
-
-
- 120, 21
-
-
- 37
-
-
- txtpass
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 2
-
-
- 285, 61
-
-
- 97, 21
-
-
- 36
-
-
- txtuser
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 3
-
-
- True
-
-
- NoControl
-
-
- 15, 192
-
-
- 102, 16
-
-
- 35
-
-
- allowInsecure
-
-
- chkdefAllowInsecure
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 4
-
-
- True
-
-
- 15, 63
-
-
- 204, 16
-
-
- 29
-
-
- Allow connections from the LAN
-
-
- chkAllowLANConn
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 5
-
-
- True
-
-
- NoControl
-
-
- 496, 27
-
-
- 120, 16
-
-
- 31
-
-
- Turn on Sniffing
-
-
- chksniffingEnabled
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 6
-
-
- True
-
-
- 15, 129
-
-
- 174, 16
-
-
- 20
-
-
- Turn on Mux Multiplexing
-
-
- chkmuxEnabled
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 7
-
-
- False
-
-
- socks
-
-
- http
-
-
- 285, 25
-
-
- 97, 20
-
-
- 12
-
-
- cmbprotocol
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 8
-
-
- True
-
-
- 224, 29
-
-
- 53, 12
-
-
- 11
-
-
- protocol
-
-
- label1
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 9
-
-
- True
-
-
- 397, 27
-
-
- 84, 16
-
-
- 10
-
-
- Enable UDP
-
-
- chkudpEnabled
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 10
-
-
- True
-
-
- 15, 160
-
-
- 126, 16
-
-
- 9
-
-
- Record local logs
-
-
- chklogEnabled
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 11
-
-
- debug
-
-
- info
-
-
- warning
-
-
- error
-
-
- none
-
-
- 257, 158
-
-
- 97, 20
-
-
- 6
-
-
- cmbloglevel
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 12
-
-
- True
-
-
- 193, 162
-
-
- 59, 12
-
-
- 8
-
-
- Log level
-
-
- label5
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 13
-
-
- 124, 25
-
-
- 78, 21
-
-
- 3
-
-
- txtlocalPort
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 14
-
-
- True
-
-
- 33, 29
-
-
- 89, 12
-
-
- 2
-
-
- Listening port
-
-
- label2
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 15
-
-
- AsIs
-
-
- UseIP
-
-
- UseIPv4
-
-
- UseIPv6
-
-
- 223, 398
-
-
- 100, 20
-
-
- 41
-
-
- cmbdomainStrategy4Freedom
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage2
-
-
- 0
-
-
- True
-
-
- NoControl
-
-
- 8, 402
-
-
- 191, 12
-
-
- 42
-
-
- Outbound Freedom domainStrategy
-
-
- label19
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage2
-
-
- 1
-
-
- True
-
-
- NoControl
-
-
- 342, 17
-
-
- 0, 0, 0, 0
-
-
- 107, 12
-
-
- 40
-
-
- Support DnsObject
-
-
- linkDnsObjectDoc
-
-
- System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage2
-
-
- 2
-
-
- 8, 41
-
-
- True
-
-
- Vertical
-
-
- 638, 349
-
-
- 39
-
-
- txtremoteDNS
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage2
-
-
- 3
-
-
- True
-
-
- NoControl
-
-
- 8, 17
-
-
- 281, 12
-
-
- 38
-
-
- Custom DNS (multiple, separated by commas (,))
-
-
- label14
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage2
-
-
- 4
-
-
- True
-
-
- 20, 143
-
-
- 84, 16
-
-
- 20
-
-
- congestion
-
-
- chkKcpcongestion
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage6
-
-
- 0
-
-
- 345, 100
-
-
- 94, 21
-
-
- 15
-
-
- txtKcpwriteBufferSize
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage6
-
-
- 1
-
-
- True
-
-
- 236, 104
-
-
- 95, 12
-
-
- 14
-
-
- writeBufferSize
-
-
- label10
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage6
-
-
- 2
-
-
- 111, 100
-
-
- 94, 21
-
-
- 13
-
-
- txtKcpreadBufferSize
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage6
-
-
- 3
-
-
- True
-
-
- 18, 104
-
-
- 89, 12
-
-
- 12
-
-
- readBufferSize
-
-
- label11
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage6
-
-
- 4
-
-
- 345, 62
-
-
- 94, 21
-
-
- 11
-
-
- txtKcpdownlinkCapacity
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage6
-
-
- 5
-
-
- True
-
-
- 236, 66
-
-
- 101, 12
-
-
- 10
-
-
- downlinkCapacity
-
-
- label8
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage6
-
-
- 6
-
-
- 111, 62
-
-
- 94, 21
-
-
- 9
-
-
- txtKcpuplinkCapacity
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage6
-
-
- 7
-
-
- True
-
-
- 18, 66
-
-
- 89, 12
-
-
- 8
-
-
- uplinkCapacity
-
-
- label9
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage6
-
-
- 8
-
-
- 345, 24
-
-
- 94, 21
-
-
- 7
-
-
- txtKcptti
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage6
-
-
- 9
-
-
- True
-
-
- 236, 28
-
-
- 23, 12
-
-
- 6
-
-
- tti
-
-
- label7
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage6
-
-
- 10
-
-
- 111, 24
-
-
- 94, 21
-
-
- 5
-
-
- txtKcpmtu
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage6
-
-
- 11
-
-
- True
-
-
- 18, 28
-
-
- 23, 12
-
-
- 4
-
-
- mtu
-
-
- label6
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage6
-
-
- 12
-
-
- 117, 172
-
-
- 143, 20
-
-
- 46
-
-
- cmbCoreType6
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPageCoreType
-
-
- 0
-
-
- True
-
-
- NoControl
-
-
- 45, 176
-
-
- 59, 12
-
-
- 47
-
-
- Core Type
-
-
- labCoreType6
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPageCoreType
-
-
- 1
-
-
- 117, 146
-
-
- 143, 20
-
-
- 44
-
-
- cmbCoreType5
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPageCoreType
-
-
- 2
-
-
- True
-
-
- NoControl
-
-
- 45, 150
-
-
- 59, 12
-
-
- 45
-
-
- Core Type
-
-
- labCoreType5
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPageCoreType
-
-
- 3
-
-
- 117, 120
-
-
- 143, 20
-
-
- 42
-
-
- cmbCoreType4
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPageCoreType
-
-
- 4
-
-
- True
-
-
- NoControl
-
-
- 45, 124
-
-
- 59, 12
-
-
- 43
-
-
- Core Type
-
-
- labCoreType4
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPageCoreType
-
-
- 5
-
-
- 117, 94
-
-
- 143, 20
-
-
- 40
-
-
- cmbCoreType3
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPageCoreType
-
-
- 6
-
-
- True
-
-
- NoControl
-
-
- 45, 98
-
-
- 59, 12
-
-
- 41
-
-
- Core Type
-
-
- labCoreType3
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPageCoreType
-
-
- 7
-
-
- 117, 68
-
-
- 143, 20
-
-
- 38
-
-
- cmbCoreType2
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPageCoreType
-
-
- 8
-
-
- True
-
-
- NoControl
-
-
- 45, 72
-
-
- 59, 12
-
-
- 39
-
-
- Core Type
-
-
- labCoreType2
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPageCoreType
-
-
- 9
-
-
- 117, 42
-
-
- 143, 20
-
-
- 36
-
-
- cmbCoreType1
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPageCoreType
-
-
- 10
-
-
- True
-
-
- NoControl
-
-
- 45, 46
-
-
- 59, 12
-
-
- 37
-
-
- Core Type
-
-
- labCoreType1
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPageCoreType
-
-
- 11
-
-
- label18
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 0
-
-
- cmbSystemProxyAdvancedProtocol
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 1
-
-
- label13
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 2
-
-
- label12
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 3
-
-
- txtsystemProxyExceptions
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 4
-
-
- Fill
-
-
- 0, 0
-
-
- 728, 427
-
-
- 42
-
-
- Exception
-
-
- groupBox2
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPage3
-
-
- 0
-
-
- True
-
-
- NoControl
-
-
- 8, 346
-
-
- 329, 12
-
-
- 45
-
-
- Advanced proxy settings, protocol selection (optional)
-
-
- label18
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 0
-
-
- 8, 371
-
-
- 638, 20
-
-
- 44
-
-
- cmbSystemProxyAdvancedProtocol
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 1
-
-
- True
-
-
- NoControl
-
-
- 6, 283
-
-
- 107, 12
-
-
- 42
-
-
- Use semicolon (;)
-
-
- label13
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 2
-
-
- True
-
-
- NoControl
-
-
- 8, 28
-
-
- 317, 12
-
-
- 40
-
-
- Do not use proxy server for addresses beginning with
-
-
- label12
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 3
-
-
- 8, 52
-
-
- True
-
-
- Vertical
-
-
- 638, 219
-
-
- 41
-
-
- txtsystemProxyExceptions
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 4
-
-
- btnOK
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel2
-
-
- 1
-
-
- Bottom
-
-
- 0, 463
-
-
- 736, 60
-
-
- 11
-
-
- panel2
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 1
-
-
- 267, 16
-
-
- 75, 23
-
-
- 8
-
-
- &OK
-
-
- btnOK
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel2
-
-
- 1
-
-
- Top
-
-
- 0, 0
-
-
- 736, 10
-
-
- 9
-
-
- panel1
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 2
-
-
- True
-
-
- 6, 12
-
-
- 736, 523
-
-
- 4, 4, 4, 4
-
-
- Settings
-
-
- OptionSettingForm
-
-
- v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/OptionSettingForm.zh-Hans.resx b/v2rayN/v2rayN/Forms/OptionSettingForm.zh-Hans.resx
deleted file mode 100644
index 7434452d..00000000
--- a/v2rayN/v2rayN/Forms/OptionSettingForm.zh-Hans.resx
+++ /dev/null
@@ -1,394 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 取消(&C)
-
-
-
- 662, 469
-
-
- 654, 443
-
-
- Core:基础设置
-
-
- 648, 437
-
-
- 53, 12
-
-
- 认证密码
-
-
- 219, 65
-
-
- 65, 12
-
-
- 认证用户名
-
-
- 15, 208
-
-
- 324, 16
-
-
- 传输层安全选tls时,默认跳过证书验证(allowInsecure)
-
-
- 144, 16
-
-
- 允许来自局域网的连接
-
-
- 96, 16
-
-
- 开启流量探测
-
-
- 15, 145
-
-
- 114, 16
-
-
- 开启Mux多路复用
-
-
- 219, 29
-
-
- 29, 12
-
-
- 协议
-
-
- 66, 16
-
-
- 开启UDP
-
-
- 15, 176
-
-
- 156, 16
-
-
- 记录本地日志(默认关闭)
-
-
- 257, 174
-
-
- 193, 178
-
-
- 53, 12
-
-
- 日志等级
-
-
- 77, 12
-
-
- 本地监听端口
-
-
- 654, 443
-
-
- Core:DNS设置
-
-
- 223, 413
-
-
- 8, 417
-
-
- 161, 12
-
-
- 支持填写DnsObject,JSON格式
-
-
- 638, 366
-
-
- 191, 12
-
-
- 自定义DNS(可多个,用逗号(,)隔开)
-
-
- 654, 443
-
-
- Core:KCP设置
-
-
- 654, 443
-
-
- v2rayN设置
-
-
- 472, 37
-
-
- 248, 211
-
-
- 185, 12
-
-
- 托盘右键菜单服务器展示数量限制
-
-
- 248, 184
-
-
- 173, 12
-
-
- 自动更新订阅的间隔(单位小时)
-
-
- 启用安全协议TLS v1.3 (订阅/检查更新/测速)
-
-
- 204, 16
-
-
- 自动调整服务器列宽在更新订阅后
-
-
- 解除Windows10 UWP应用回环代理限制
-
-
- 248, 157
-
-
- 191, 12
-
-
- 自动更新Geo文件的间隔(单位小时)
-
-
- 150, 16
-
-
- 更新Core时忽略Geo文件
-
-
- 156, 16
-
-
- 去重时保留序号较小的项
-
-
- 339, 41
-
-
- 125, 12
-
-
- 统计刷新频率(单位秒)
-
-
- 300, 16
-
-
- 启用统计(实时网速显示和使用流量显示,需要重启)
-
-
- 180, 16
-
-
- 开机自动启动(可能会不成功)
-
-
- 654, 443
-
-
- Core类型设置
-
-
- 654, 443
-
-
- 系统代理设置
-
-
- 654, 443
-
-
- 例外
-
-
- 173, 12
-
-
- 高级代理设置, 协议选择(可选)
-
-
- 95, 12
-
-
- 使用分号(;)分隔
-
-
- 239, 12
-
-
- 对于下列字符开头的地址不使用代理服务器:
-
-
- 0, 479
-
-
- 662, 60
-
-
- 确定(&O)
-
-
- 662, 10
-
-
- 662, 539
-
-
- 参数设置
-
-
- 检查Pre-Release更新(请谨慎启用)
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/QRCodeControl.Designer.cs b/v2rayN/v2rayN/Forms/QRCodeControl.Designer.cs
deleted file mode 100644
index ca405968..00000000
--- a/v2rayN/v2rayN/Forms/QRCodeControl.Designer.cs
+++ /dev/null
@@ -1,68 +0,0 @@
-namespace v2rayN.Forms
-{
- partial class QRCodeControl
- {
- ///
- /// 必需的设计器变量。
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// 清理所有正在使用的资源。
- ///
- /// 如果应释放托管资源,为 true;否则为 false。
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region 组件设计器生成的代码
-
- ///
- /// 设计器支持所需的方法 - 不要
- /// 使用代码编辑器修改此方法的内容。
- ///
- private void InitializeComponent()
- {
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(QRCodeControl));
- this.txtUrl = new System.Windows.Forms.TextBox();
- this.picQRCode = new System.Windows.Forms.PictureBox();
- ((System.ComponentModel.ISupportInitialize)(this.picQRCode)).BeginInit();
- this.SuspendLayout();
- //
- // txtUrl
- //
- resources.ApplyResources(this.txtUrl, "txtUrl");
- this.txtUrl.Name = "txtUrl";
- this.txtUrl.ReadOnly = true;
- //
- // picQRCode
- //
- resources.ApplyResources(this.picQRCode, "picQRCode");
- this.picQRCode.Name = "picQRCode";
- this.picQRCode.TabStop = false;
- //
- // QRCodeControl
- //
- resources.ApplyResources(this, "$this");
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.Controls.Add(this.picQRCode);
- this.Controls.Add(this.txtUrl);
- this.Name = "QRCodeControl";
- this.Load += new System.EventHandler(this.QRCodeControl_Load);
- ((System.ComponentModel.ISupportInitialize)(this.picQRCode)).EndInit();
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
- #endregion
-
- private System.Windows.Forms.TextBox txtUrl;
- private System.Windows.Forms.PictureBox picQRCode;
- }
-}
diff --git a/v2rayN/v2rayN/Forms/QRCodeControl.cs b/v2rayN/v2rayN/Forms/QRCodeControl.cs
deleted file mode 100644
index 89e47cd1..00000000
--- a/v2rayN/v2rayN/Forms/QRCodeControl.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-using System.Windows.Forms;
-using v2rayN.Handler;
-using v2rayN.Mode;
-
-namespace v2rayN.Forms
-{
- public partial class QRCodeControl : UserControl
- {
- public QRCodeControl()
- {
- InitializeComponent();
- }
- private void QRCodeControl_Load(object sender, System.EventArgs e)
- {
- txtUrl.MouseUp += txtUrl_MouseUp;
- }
-
- void txtUrl_MouseUp(object sender, MouseEventArgs e)
- {
- txtUrl.SelectAll();
- }
-
- public void showQRCode(VmessItem item)
- {
- if (item != null)
- {
- string url = ShareHandler.GetShareUrl(item);
- if (Utils.IsNullOrEmpty(url))
- {
- picQRCode.Image = null;
- txtUrl.Text = string.Empty;
- return;
- }
- txtUrl.Text = url;
- picQRCode.Image = QRCodeHelper.GetQRCode(url);
- }
- }
- }
-}
diff --git a/v2rayN/v2rayN/Forms/QRCodeControl.resx b/v2rayN/v2rayN/Forms/QRCodeControl.resx
deleted file mode 100644
index a6ceff05..00000000
--- a/v2rayN/v2rayN/Forms/QRCodeControl.resx
+++ /dev/null
@@ -1,192 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
- Bottom
-
-
-
- 0, 371
-
-
-
- True
-
-
- 356, 70
-
-
- 0
-
-
- txtUrl
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 1
-
-
- Fill
-
-
- 0, 0
-
-
- 356, 371
-
-
- Zoom
-
-
- 24
-
-
- picQRCode
-
-
- System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 0
-
-
- True
-
-
- 6, 12
-
-
- 356, 441
-
-
- QRCodeControl
-
-
- System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/RoutingRuleSettingDetailsForm.Designer.cs b/v2rayN/v2rayN/Forms/RoutingRuleSettingDetailsForm.Designer.cs
deleted file mode 100644
index 0b4e891b..00000000
--- a/v2rayN/v2rayN/Forms/RoutingRuleSettingDetailsForm.Designer.cs
+++ /dev/null
@@ -1,271 +0,0 @@
-namespace v2rayN.Forms
-{
- partial class RoutingRuleSettingDetailsForm
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(RoutingRuleSettingDetailsForm));
- this.panel1 = new System.Windows.Forms.Panel();
- this.panel3 = new System.Windows.Forms.Panel();
- this.linkRuleobjectDoc = new System.Windows.Forms.LinkLabel();
- this.chkEnabled = new System.Windows.Forms.CheckBox();
- this.clbInboundTag = new System.Windows.Forms.CheckedListBox();
- this.label2 = new System.Windows.Forms.Label();
- this.clbProtocol = new System.Windows.Forms.CheckedListBox();
- this.label3 = new System.Windows.Forms.Label();
- this.txtPort = new System.Windows.Forms.TextBox();
- this.label1 = new System.Windows.Forms.Label();
- this.labRoutingTips = new System.Windows.Forms.Label();
- this.label4 = new System.Windows.Forms.Label();
- this.cmbOutboundTag = new System.Windows.Forms.ComboBox();
- this.panel4 = new System.Windows.Forms.Panel();
- this.chkAutoSort = new System.Windows.Forms.CheckBox();
- this.btnClose = new System.Windows.Forms.Button();
- this.btnOK = new System.Windows.Forms.Button();
- this.panel2 = new System.Windows.Forms.Panel();
- this.groupBox2 = new System.Windows.Forms.GroupBox();
- this.txtIP = new System.Windows.Forms.TextBox();
- this.groupBox1 = new System.Windows.Forms.GroupBox();
- this.txtDomain = new System.Windows.Forms.TextBox();
- this.panel3.SuspendLayout();
- this.panel4.SuspendLayout();
- this.panel2.SuspendLayout();
- this.groupBox2.SuspendLayout();
- this.groupBox1.SuspendLayout();
- this.SuspendLayout();
- //
- // panel1
- //
- resources.ApplyResources(this.panel1, "panel1");
- this.panel1.Name = "panel1";
- //
- // panel3
- //
- resources.ApplyResources(this.panel3, "panel3");
- this.panel3.Controls.Add(this.linkRuleobjectDoc);
- this.panel3.Controls.Add(this.chkEnabled);
- this.panel3.Controls.Add(this.clbInboundTag);
- this.panel3.Controls.Add(this.label2);
- this.panel3.Controls.Add(this.clbProtocol);
- this.panel3.Controls.Add(this.label3);
- this.panel3.Controls.Add(this.txtPort);
- this.panel3.Controls.Add(this.label1);
- this.panel3.Controls.Add(this.labRoutingTips);
- this.panel3.Controls.Add(this.label4);
- this.panel3.Controls.Add(this.cmbOutboundTag);
- this.panel3.Name = "panel3";
- //
- // linkRuleobjectDoc
- //
- resources.ApplyResources(this.linkRuleobjectDoc, "linkRuleobjectDoc");
- this.linkRuleobjectDoc.Name = "linkRuleobjectDoc";
- this.linkRuleobjectDoc.TabStop = true;
- this.linkRuleobjectDoc.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkRuleobjectDoc_LinkClicked);
- //
- // chkEnabled
- //
- resources.ApplyResources(this.chkEnabled, "chkEnabled");
- this.chkEnabled.Name = "chkEnabled";
- this.chkEnabled.UseVisualStyleBackColor = true;
- //
- // clbInboundTag
- //
- resources.ApplyResources(this.clbInboundTag, "clbInboundTag");
- this.clbInboundTag.CheckOnClick = true;
- this.clbInboundTag.FormattingEnabled = true;
- this.clbInboundTag.Items.AddRange(new object[] {
- resources.GetString("clbInboundTag.Items"),
- resources.GetString("clbInboundTag.Items1"),
- resources.GetString("clbInboundTag.Items2"),
- resources.GetString("clbInboundTag.Items3")});
- this.clbInboundTag.MultiColumn = true;
- this.clbInboundTag.Name = "clbInboundTag";
- //
- // label2
- //
- resources.ApplyResources(this.label2, "label2");
- this.label2.Name = "label2";
- //
- // clbProtocol
- //
- resources.ApplyResources(this.clbProtocol, "clbProtocol");
- this.clbProtocol.CheckOnClick = true;
- this.clbProtocol.FormattingEnabled = true;
- this.clbProtocol.Items.AddRange(new object[] {
- resources.GetString("clbProtocol.Items"),
- resources.GetString("clbProtocol.Items1"),
- resources.GetString("clbProtocol.Items2")});
- this.clbProtocol.MultiColumn = true;
- this.clbProtocol.Name = "clbProtocol";
- //
- // label3
- //
- resources.ApplyResources(this.label3, "label3");
- this.label3.Name = "label3";
- //
- // txtPort
- //
- resources.ApplyResources(this.txtPort, "txtPort");
- this.txtPort.Name = "txtPort";
- //
- // label1
- //
- resources.ApplyResources(this.label1, "label1");
- this.label1.Name = "label1";
- //
- // labRoutingTips
- //
- resources.ApplyResources(this.labRoutingTips, "labRoutingTips");
- this.labRoutingTips.ForeColor = System.Drawing.Color.Brown;
- this.labRoutingTips.Name = "labRoutingTips";
- //
- // label4
- //
- resources.ApplyResources(this.label4, "label4");
- this.label4.Name = "label4";
- //
- // cmbOutboundTag
- //
- resources.ApplyResources(this.cmbOutboundTag, "cmbOutboundTag");
- this.cmbOutboundTag.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cmbOutboundTag.FormattingEnabled = true;
- this.cmbOutboundTag.Items.AddRange(new object[] {
- resources.GetString("cmbOutboundTag.Items"),
- resources.GetString("cmbOutboundTag.Items1"),
- resources.GetString("cmbOutboundTag.Items2")});
- this.cmbOutboundTag.Name = "cmbOutboundTag";
- //
- // panel4
- //
- resources.ApplyResources(this.panel4, "panel4");
- this.panel4.Controls.Add(this.chkAutoSort);
- this.panel4.Controls.Add(this.btnClose);
- this.panel4.Controls.Add(this.btnOK);
- this.panel4.Name = "panel4";
- //
- // chkAutoSort
- //
- resources.ApplyResources(this.chkAutoSort, "chkAutoSort");
- this.chkAutoSort.Name = "chkAutoSort";
- this.chkAutoSort.UseVisualStyleBackColor = true;
- //
- // btnClose
- //
- resources.ApplyResources(this.btnClose, "btnClose");
- this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
- this.btnClose.Name = "btnClose";
- this.btnClose.UseVisualStyleBackColor = true;
- this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
- //
- // btnOK
- //
- resources.ApplyResources(this.btnOK, "btnOK");
- this.btnOK.Name = "btnOK";
- this.btnOK.UseVisualStyleBackColor = true;
- this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
- //
- // panel2
- //
- resources.ApplyResources(this.panel2, "panel2");
- this.panel2.Controls.Add(this.groupBox2);
- this.panel2.Controls.Add(this.groupBox1);
- this.panel2.Name = "panel2";
- //
- // groupBox2
- //
- resources.ApplyResources(this.groupBox2, "groupBox2");
- this.groupBox2.Controls.Add(this.txtIP);
- this.groupBox2.Name = "groupBox2";
- this.groupBox2.TabStop = false;
- //
- // txtIP
- //
- resources.ApplyResources(this.txtIP, "txtIP");
- this.txtIP.Name = "txtIP";
- //
- // groupBox1
- //
- resources.ApplyResources(this.groupBox1, "groupBox1");
- this.groupBox1.Controls.Add(this.txtDomain);
- this.groupBox1.Name = "groupBox1";
- this.groupBox1.TabStop = false;
- //
- // txtDomain
- //
- resources.ApplyResources(this.txtDomain, "txtDomain");
- this.txtDomain.Name = "txtDomain";
- //
- // RoutingRuleSettingDetailsForm
- //
- resources.ApplyResources(this, "$this");
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.CancelButton = this.btnClose;
- this.Controls.Add(this.panel2);
- this.Controls.Add(this.panel4);
- this.Controls.Add(this.panel3);
- this.Controls.Add(this.panel1);
- this.Name = "RoutingRuleSettingDetailsForm";
- this.Load += new System.EventHandler(this.RoutingRuleSettingDetailsForm_Load);
- this.panel3.ResumeLayout(false);
- this.panel3.PerformLayout();
- this.panel4.ResumeLayout(false);
- this.panel4.PerformLayout();
- this.panel2.ResumeLayout(false);
- this.groupBox2.ResumeLayout(false);
- this.groupBox2.PerformLayout();
- this.groupBox1.ResumeLayout(false);
- this.groupBox1.PerformLayout();
- this.ResumeLayout(false);
-
- }
-
- #endregion
-
- private System.Windows.Forms.Panel panel1;
- private System.Windows.Forms.Panel panel3;
- private System.Windows.Forms.Label label4;
- private System.Windows.Forms.ComboBox cmbOutboundTag;
- private System.Windows.Forms.Panel panel4;
- private System.Windows.Forms.Button btnClose;
- private System.Windows.Forms.Button btnOK;
- private System.Windows.Forms.Panel panel2;
- private System.Windows.Forms.GroupBox groupBox1;
- private System.Windows.Forms.TextBox txtDomain;
- private System.Windows.Forms.GroupBox groupBox2;
- private System.Windows.Forms.TextBox txtIP;
- private System.Windows.Forms.Label labRoutingTips;
- private System.Windows.Forms.Label label1;
- private System.Windows.Forms.TextBox txtPort;
- private System.Windows.Forms.Label label3;
- private System.Windows.Forms.CheckedListBox clbProtocol;
- private System.Windows.Forms.CheckedListBox clbInboundTag;
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.CheckBox chkEnabled;
- private System.Windows.Forms.CheckBox chkAutoSort;
- private System.Windows.Forms.LinkLabel linkRuleobjectDoc;
- }
-}
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/RoutingRuleSettingDetailsForm.cs b/v2rayN/v2rayN/Forms/RoutingRuleSettingDetailsForm.cs
deleted file mode 100644
index fa600925..00000000
--- a/v2rayN/v2rayN/Forms/RoutingRuleSettingDetailsForm.cs
+++ /dev/null
@@ -1,148 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.Windows.Forms;
-using v2rayN.Base;
-using v2rayN.Handler;
-using v2rayN.Mode;
-using v2rayN.Resx;
-
-namespace v2rayN.Forms
-{
- public partial class RoutingRuleSettingDetailsForm : BaseForm
- {
- public RulesItem rulesItem
- {
- get; set;
- }
-
- public RoutingRuleSettingDetailsForm()
- {
- InitializeComponent();
- }
-
- private void RoutingRuleSettingDetailsForm_Load(object sender, EventArgs e)
- {
- if (Utils.IsNullOrEmpty(rulesItem.outboundTag))
- {
- ClearBind();
- }
- else
- {
- BindingData();
- }
- }
-
- private void EndBindingData()
- {
- if (rulesItem != null)
- {
- rulesItem.port = txtPort.Text.TrimEx();
-
- var inboundTag = new List();
- for (int i = 0; i < clbInboundTag.Items.Count; i++)
- {
- if (clbInboundTag.GetItemChecked(i))
- {
- inboundTag.Add(clbInboundTag.Items[i].ToString());
- }
- }
- rulesItem.inboundTag = inboundTag;
- rulesItem.outboundTag = cmbOutboundTag.Text;
- if (chkAutoSort.Checked)
- {
- rulesItem.domain = Utils.String2ListSorted(txtDomain.Text);
- rulesItem.ip = Utils.String2ListSorted(txtIP.Text);
- }
- else
- {
- rulesItem.domain = Utils.String2List(txtDomain.Text);
- rulesItem.ip = Utils.String2List(txtIP.Text);
- }
-
- var protocol = new List();
- for (int i = 0; i < clbProtocol.Items.Count; i++)
- {
- if (clbProtocol.GetItemChecked(i))
- {
- protocol.Add(clbProtocol.Items[i].ToString());
- }
- }
- rulesItem.protocol = protocol;
- rulesItem.enabled = chkEnabled.Checked;
- }
- }
- private void BindingData()
- {
- if (rulesItem != null)
- {
- txtPort.Text = rulesItem.port ?? string.Empty;
- cmbOutboundTag.Text = rulesItem.outboundTag;
- txtDomain.Text = Utils.List2String(rulesItem.domain, true);
- txtIP.Text = Utils.List2String(rulesItem.ip, true);
-
- if (rulesItem.inboundTag != null)
- {
- for (int i = 0; i < clbInboundTag.Items.Count; i++)
- {
- if (rulesItem.inboundTag.Contains(clbInboundTag.Items[i].ToString()))
- {
- clbInboundTag.SetItemChecked(i, true);
- }
- }
- }
-
- if (rulesItem.protocol != null)
- {
- for (int i = 0; i < clbProtocol.Items.Count; i++)
- {
- if (rulesItem.protocol.Contains(clbProtocol.Items[i].ToString()))
- {
- clbProtocol.SetItemChecked(i, true);
- }
- }
- }
- chkEnabled.Checked = rulesItem.enabled;
- }
- }
- private void ClearBind()
- {
- txtPort.Text = string.Empty;
- cmbOutboundTag.Text = Global.agentTag;
- txtDomain.Text = string.Empty;
- txtIP.Text = string.Empty;
- chkEnabled.Checked = true;
- }
- private void btnOK_Click(object sender, EventArgs e)
- {
- EndBindingData();
-
- bool hasRule =
- rulesItem.domain != null
- && rulesItem.domain.Count > 0
- || rulesItem.ip != null
- && rulesItem.ip.Count > 0
- || rulesItem.protocol != null
- && rulesItem.protocol.Count > 0
- || !Utils.IsNullOrEmpty(rulesItem.port);
-
- if (!hasRule)
- {
- UI.ShowWarning(string.Format(ResUI.RoutingRuleDetailRequiredTips, "Port/Protocol/Domain/IP"));
- return;
- }
-
- DialogResult = DialogResult.OK;
- }
-
- private void btnClose_Click(object sender, EventArgs e)
- {
- DialogResult = DialogResult.Cancel;
- }
-
- private void linkRuleobjectDoc_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
- {
- Process.Start("https://www.v2fly.org/config/routing.html#ruleobject");
- }
- }
-}
diff --git a/v2rayN/v2rayN/Forms/RoutingRuleSettingDetailsForm.resx b/v2rayN/v2rayN/Forms/RoutingRuleSettingDetailsForm.resx
deleted file mode 100644
index e568dc8e..00000000
--- a/v2rayN/v2rayN/Forms/RoutingRuleSettingDetailsForm.resx
+++ /dev/null
@@ -1,762 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
- NoControl
-
-
- 0
-
-
- System.Windows.Forms.CheckedListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
- 32
-
-
- System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
- 245, 20
-
-
- 53, 12
-
-
- 31
-
-
- proxy
-
-
- 4, 4, 4, 4
-
-
- Fill
-
-
- panel1
-
-
- 3
-
-
- clbProtocol
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 8
-
-
- NoControl
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- True
-
-
- 4
-
-
- Left
-
-
- 80
-
-
- NoControl
-
-
- 0
-
-
- 29, 12
-
-
- 2
-
-
- http
-
-
- True
-
-
- panel2
-
-
- tls
-
-
- RoutingSettingDetailsForm
-
-
- NoControl
-
-
- System.Windows.Forms.CheckedListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 7
-
-
- Fill
-
-
- 411, 15
-
-
- 119, 20
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 36
-
-
- Bottom
-
-
- 89, 12
-
-
- 1
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 344, 375
-
-
- $this
-
-
- 0
-
-
- 575, 16
-
-
- groupBox1
-
-
- NoControl
-
-
- 6
-
-
- label1
-
-
- 742, 395
-
-
- Protocol
-
-
- 10
-
-
- True
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel3
-
-
- True
-
-
- 3
-
-
- panel4
-
-
- 3
-
-
- bittorrent
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- NoControl
-
-
- 270, 16
-
-
- 144, 86
-
-
- 25
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 347, 16
-
-
- 3, 17
-
-
- panel3
-
-
- 41
-
-
- 80
-
-
- 0, 0
-
-
- 19, 20
-
-
- labRoutingTips
-
-
- 19, 47
-
-
- 39
-
-
- Fill
-
-
- True
-
-
- 2
-
-
- RoutingRuleSettingDetailsForm
-
-
- panel2
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel3
-
-
- 107, 43
-
-
- groupBox2
-
-
- Ruleobject Doc
-
-
- 9
-
-
- 1
-
-
- 386, 375
-
-
- panel3
-
-
- http2
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel2
-
-
- Fill
-
-
- panel4
-
-
- NoControl
-
-
- socks2
-
-
- $this
-
-
- 42
-
-
- groupBox2
-
-
- chkEnabled
-
-
- panel3
-
-
- 5
-
-
- panel3
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- http
-
-
- txtPort
-
-
- 3, 17
-
-
- 1
-
-
- 742, 10
-
-
- 0, 0
-
-
- groupBox1
-
-
- 24
-
-
- Port
-
-
- Enable
-
-
- label4
-
-
- &OK
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel4
-
-
- 34
-
-
- 274, 47
-
-
- 40
-
-
- block
-
-
- 33
-
-
- 347, 43
-
-
- panel3
-
-
- 0
-
-
- panel3
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- btnOK
-
-
- 0, 0, 0, 0
-
-
- 2
-
-
- 119, 21
-
-
- Top
-
-
- 4
-
-
- 7
-
-
- 0
-
-
- 11
-
-
- 0
-
-
- 43
-
-
- panel3
-
-
- 8
-
-
- v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
-
-
- label3
-
-
- inboundTag
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 742, 60
-
-
- 0, 121
-
-
- chkAutoSort
-
-
- $this
-
-
- *Set the rules, separated by commas (,); The comma in the regular is replaced by <COMMA>
-
-
- 345, 20
-
-
- linkRuleobjectDoc
-
-
- socks
-
-
- 65, 12
-
-
- btnClose
-
-
- 392, 0
-
-
- 742, 111
-
-
- True
-
-
- 6, 12
-
-
- 1
-
-
- 632, 45
-
-
- 0, 10
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 274, 20
-
-
- True
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- txtIP
-
-
- direct
-
-
- label2
-
-
- 60, 16
-
-
- cmbOutboundTag
-
-
- Domain and ip are auto sorted when saving
-
-
- True
-
-
- 19, 86
-
-
- NoControl
-
-
- 742, 576
-
-
- 10
-
-
- $this
-
-
- 392, 395
-
-
- 41, 18
-
-
- 75, 23
-
-
- clbInboundTag
-
-
- 5
-
-
- Top
-
-
- &Cancel
-
-
- NoControl
-
-
- NoControl
-
-
- True
-
-
- 4
-
-
- txtDomain
-
-
- 41
-
-
- IP
-
-
- panel3
-
-
- 75, 23
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 0, 516
-
-
- 71, 12
-
-
- 350, 395
-
-
- panel4
-
-
- panel3
-
-
- Domain
-
-
- 504, 15
-
-
- panel3
-
-
- 107, 16
-
-
- outboundTag
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 35
-
-
- True
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/RoutingRuleSettingDetailsForm.zh-Hans.resx b/v2rayN/v2rayN/Forms/RoutingRuleSettingDetailsForm.zh-Hans.resx
deleted file mode 100644
index 4c82eaf8..00000000
--- a/v2rayN/v2rayN/Forms/RoutingRuleSettingDetailsForm.zh-Hans.resx
+++ /dev/null
@@ -1,185 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
- 101, 12
-
-
- 规则详细说明文档
-
-
- 670, 48
-
-
- 372, 16
-
-
- 347, 20
-
-
- 279, 20
-
-
- 372, 46
-
-
- 272, 20
-
-
- 279, 50
-
-
- 120, 46
-
-
- 19, 50
-
-
- *设置的路由规则,用逗号(,)分隔;正则中的逗号用<COMMA>替代
-
-
- OutboundTag
-
-
- 120, 16
-
-
- 168, 16
-
-
- 保存时Domain和IP自动排序
-
-
- 取消(&C)
-
-
- 确定(&O)
-
-
-
- Vertical
-
-
- Vertical
-
-
- 路由规则详情设置
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/RoutingRuleSettingForm.Designer.cs b/v2rayN/v2rayN/Forms/RoutingRuleSettingForm.Designer.cs
deleted file mode 100644
index 5f76c47d..00000000
--- a/v2rayN/v2rayN/Forms/RoutingRuleSettingForm.Designer.cs
+++ /dev/null
@@ -1,357 +0,0 @@
-namespace v2rayN.Forms
-{
- partial class RoutingRuleSettingForm
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- this.components = new System.ComponentModel.Container();
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(RoutingRuleSettingForm));
- this.btnClose = new System.Windows.Forms.Button();
- this.panel2 = new System.Windows.Forms.Panel();
- this.btnOK = new System.Windows.Forms.Button();
- this.panel1 = new System.Windows.Forms.Panel();
- this.label5 = new System.Windows.Forms.Label();
- this.btnBrowse = new System.Windows.Forms.Button();
- this.txtCustomIcon = new System.Windows.Forms.TextBox();
- this.label4 = new System.Windows.Forms.Label();
- this.label1 = new System.Windows.Forms.Label();
- this.txtUrl = new System.Windows.Forms.TextBox();
- this.label3 = new System.Windows.Forms.Label();
- this.txtRemarks = new System.Windows.Forms.TextBox();
- this.label2 = new System.Windows.Forms.Label();
- this.lvRoutings = new v2rayN.Base.ListViewFlickerFree();
- this.cmsLv = new System.Windows.Forms.ContextMenuStrip(this.components);
- this.menuAdd = new System.Windows.Forms.ToolStripMenuItem();
- this.menuRemove = new System.Windows.Forms.ToolStripMenuItem();
- this.menuSelectAll = new System.Windows.Forms.ToolStripMenuItem();
- this.menuExportSelectedRules = new System.Windows.Forms.ToolStripMenuItem();
- this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
- this.menuMoveTop = new System.Windows.Forms.ToolStripMenuItem();
- this.menuMoveUp = new System.Windows.Forms.ToolStripMenuItem();
- this.menuMoveDown = new System.Windows.Forms.ToolStripMenuItem();
- this.menuMoveBottom = new System.Windows.Forms.ToolStripMenuItem();
- this.MenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
- this.tabControl2 = new System.Windows.Forms.TabControl();
- this.tabPage2 = new System.Windows.Forms.TabPage();
- this.menuServer = new System.Windows.Forms.MenuStrip();
- this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
- this.menuImportRulesFromFile = new System.Windows.Forms.ToolStripMenuItem();
- this.menuImportRulesFromClipboard = new System.Windows.Forms.ToolStripMenuItem();
- this.menuImportRulesFromUrl = new System.Windows.Forms.ToolStripMenuItem();
- this.panel2.SuspendLayout();
- this.panel1.SuspendLayout();
- this.cmsLv.SuspendLayout();
- this.tabControl2.SuspendLayout();
- this.tabPage2.SuspendLayout();
- this.menuServer.SuspendLayout();
- this.SuspendLayout();
- //
- // btnClose
- //
- resources.ApplyResources(this.btnClose, "btnClose");
- this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
- this.btnClose.Name = "btnClose";
- this.btnClose.UseVisualStyleBackColor = true;
- this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
- //
- // panel2
- //
- resources.ApplyResources(this.panel2, "panel2");
- this.panel2.Controls.Add(this.btnClose);
- this.panel2.Controls.Add(this.btnOK);
- this.panel2.Name = "panel2";
- //
- // btnOK
- //
- resources.ApplyResources(this.btnOK, "btnOK");
- this.btnOK.Name = "btnOK";
- this.btnOK.UseVisualStyleBackColor = true;
- this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
- //
- // panel1
- //
- resources.ApplyResources(this.panel1, "panel1");
- this.panel1.Controls.Add(this.label5);
- this.panel1.Controls.Add(this.btnBrowse);
- this.panel1.Controls.Add(this.txtCustomIcon);
- this.panel1.Controls.Add(this.label4);
- this.panel1.Controls.Add(this.label1);
- this.panel1.Controls.Add(this.txtUrl);
- this.panel1.Controls.Add(this.label3);
- this.panel1.Controls.Add(this.txtRemarks);
- this.panel1.Controls.Add(this.label2);
- this.panel1.Name = "panel1";
- //
- // label5
- //
- resources.ApplyResources(this.label5, "label5");
- this.label5.Name = "label5";
- //
- // btnBrowse
- //
- resources.ApplyResources(this.btnBrowse, "btnBrowse");
- this.btnBrowse.Name = "btnBrowse";
- this.btnBrowse.UseVisualStyleBackColor = true;
- this.btnBrowse.Click += new System.EventHandler(this.btnBrowse_Click);
- //
- // txtCustomIcon
- //
- resources.ApplyResources(this.txtCustomIcon, "txtCustomIcon");
- this.txtCustomIcon.Name = "txtCustomIcon";
- //
- // label4
- //
- resources.ApplyResources(this.label4, "label4");
- this.label4.Name = "label4";
- //
- // label1
- //
- resources.ApplyResources(this.label1, "label1");
- this.label1.Name = "label1";
- //
- // txtUrl
- //
- resources.ApplyResources(this.txtUrl, "txtUrl");
- this.txtUrl.Name = "txtUrl";
- //
- // label3
- //
- resources.ApplyResources(this.label3, "label3");
- this.label3.Name = "label3";
- //
- // txtRemarks
- //
- resources.ApplyResources(this.txtRemarks, "txtRemarks");
- this.txtRemarks.Name = "txtRemarks";
- //
- // label2
- //
- resources.ApplyResources(this.label2, "label2");
- this.label2.Name = "label2";
- //
- // lvRoutings
- //
- resources.ApplyResources(this.lvRoutings, "lvRoutings");
- this.lvRoutings.ContextMenuStrip = this.cmsLv;
- this.lvRoutings.FullRowSelect = true;
- this.lvRoutings.GridLines = true;
- this.lvRoutings.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
- this.lvRoutings.HideSelection = false;
- this.lvRoutings.Items.AddRange(new System.Windows.Forms.ListViewItem[] {
- ((System.Windows.Forms.ListViewItem)(resources.GetObject("lvRoutings.Items")))});
- this.lvRoutings.MultiSelect = false;
- this.lvRoutings.Name = "lvRoutings";
- this.lvRoutings.UseCompatibleStateImageBehavior = false;
- this.lvRoutings.View = System.Windows.Forms.View.Details;
- this.lvRoutings.DoubleClick += new System.EventHandler(this.lvRoutings_DoubleClick);
- this.lvRoutings.KeyDown += new System.Windows.Forms.KeyEventHandler(this.lvRoutings_KeyDown);
- //
- // cmsLv
- //
- resources.ApplyResources(this.cmsLv, "cmsLv");
- this.cmsLv.ImageScalingSize = new System.Drawing.Size(20, 20);
- this.cmsLv.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.menuAdd,
- this.menuRemove,
- this.menuSelectAll,
- this.menuExportSelectedRules,
- this.toolStripSeparator3,
- this.menuMoveTop,
- this.menuMoveUp,
- this.menuMoveDown,
- this.menuMoveBottom});
- this.cmsLv.Name = "cmsLv";
- this.cmsLv.OwnerItem = this.MenuItem1;
- //
- // menuAdd
- //
- resources.ApplyResources(this.menuAdd, "menuAdd");
- this.menuAdd.Name = "menuAdd";
- this.menuAdd.Click += new System.EventHandler(this.menuAdd_Click);
- //
- // menuRemove
- //
- resources.ApplyResources(this.menuRemove, "menuRemove");
- this.menuRemove.Name = "menuRemove";
- this.menuRemove.Click += new System.EventHandler(this.menuRemove_Click);
- //
- // menuSelectAll
- //
- resources.ApplyResources(this.menuSelectAll, "menuSelectAll");
- this.menuSelectAll.Name = "menuSelectAll";
- this.menuSelectAll.Click += new System.EventHandler(this.menuSelectAll_Click);
- //
- // menuExportSelectedRules
- //
- resources.ApplyResources(this.menuExportSelectedRules, "menuExportSelectedRules");
- this.menuExportSelectedRules.Name = "menuExportSelectedRules";
- this.menuExportSelectedRules.Click += new System.EventHandler(this.menuExportSelectedRules_Click);
- //
- // toolStripSeparator3
- //
- resources.ApplyResources(this.toolStripSeparator3, "toolStripSeparator3");
- this.toolStripSeparator3.Name = "toolStripSeparator3";
- //
- // menuMoveTop
- //
- resources.ApplyResources(this.menuMoveTop, "menuMoveTop");
- this.menuMoveTop.Name = "menuMoveTop";
- this.menuMoveTop.Click += new System.EventHandler(this.menuMoveTop_Click);
- //
- // menuMoveUp
- //
- resources.ApplyResources(this.menuMoveUp, "menuMoveUp");
- this.menuMoveUp.Name = "menuMoveUp";
- this.menuMoveUp.Click += new System.EventHandler(this.menuMoveUp_Click);
- //
- // menuMoveDown
- //
- resources.ApplyResources(this.menuMoveDown, "menuMoveDown");
- this.menuMoveDown.Name = "menuMoveDown";
- this.menuMoveDown.Click += new System.EventHandler(this.menuMoveDown_Click);
- //
- // menuMoveBottom
- //
- resources.ApplyResources(this.menuMoveBottom, "menuMoveBottom");
- this.menuMoveBottom.Name = "menuMoveBottom";
- this.menuMoveBottom.Click += new System.EventHandler(this.menuMoveBottom_Click);
- //
- // MenuItem1
- //
- resources.ApplyResources(this.MenuItem1, "MenuItem1");
- this.MenuItem1.DropDown = this.cmsLv;
- this.MenuItem1.Name = "MenuItem1";
- //
- // tabControl2
- //
- resources.ApplyResources(this.tabControl2, "tabControl2");
- this.tabControl2.Controls.Add(this.tabPage2);
- this.tabControl2.Name = "tabControl2";
- this.tabControl2.SelectedIndex = 0;
- //
- // tabPage2
- //
- resources.ApplyResources(this.tabPage2, "tabPage2");
- this.tabPage2.Controls.Add(this.lvRoutings);
- this.tabPage2.Name = "tabPage2";
- this.tabPage2.UseVisualStyleBackColor = true;
- //
- // menuServer
- //
- resources.ApplyResources(this.menuServer, "menuServer");
- this.menuServer.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.MenuItem1,
- this.toolStripMenuItem1});
- this.menuServer.Name = "menuServer";
- //
- // toolStripMenuItem1
- //
- resources.ApplyResources(this.toolStripMenuItem1, "toolStripMenuItem1");
- this.toolStripMenuItem1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.menuImportRulesFromFile,
- this.menuImportRulesFromClipboard,
- this.menuImportRulesFromUrl});
- this.toolStripMenuItem1.Name = "toolStripMenuItem1";
- //
- // menuImportRulesFromFile
- //
- resources.ApplyResources(this.menuImportRulesFromFile, "menuImportRulesFromFile");
- this.menuImportRulesFromFile.Name = "menuImportRulesFromFile";
- this.menuImportRulesFromFile.Click += new System.EventHandler(this.menuImportRulesFromFile_Click);
- //
- // menuImportRulesFromClipboard
- //
- resources.ApplyResources(this.menuImportRulesFromClipboard, "menuImportRulesFromClipboard");
- this.menuImportRulesFromClipboard.Name = "menuImportRulesFromClipboard";
- this.menuImportRulesFromClipboard.Click += new System.EventHandler(this.menuImportRulesFromClipboard_Click);
- //
- // menuImportRulesFromUrl
- //
- resources.ApplyResources(this.menuImportRulesFromUrl, "menuImportRulesFromUrl");
- this.menuImportRulesFromUrl.Name = "menuImportRulesFromUrl";
- this.menuImportRulesFromUrl.Click += new System.EventHandler(this.menuImportRulesFromUrl_Click);
- //
- // RoutingRuleSettingForm
- //
- resources.ApplyResources(this, "$this");
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.CancelButton = this.btnClose;
- this.Controls.Add(this.tabControl2);
- this.Controls.Add(this.panel1);
- this.Controls.Add(this.panel2);
- this.Controls.Add(this.menuServer);
- this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
- this.Name = "RoutingRuleSettingForm";
- this.Load += new System.EventHandler(this.RoutingRuleSettingForm_Load);
- this.panel2.ResumeLayout(false);
- this.panel1.ResumeLayout(false);
- this.panel1.PerformLayout();
- this.cmsLv.ResumeLayout(false);
- this.tabControl2.ResumeLayout(false);
- this.tabPage2.ResumeLayout(false);
- this.menuServer.ResumeLayout(false);
- this.menuServer.PerformLayout();
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
- #endregion
- private System.Windows.Forms.Button btnClose;
- private System.Windows.Forms.Button btnOK;
- private System.Windows.Forms.Panel panel2;
- private System.Windows.Forms.Panel panel1;
- private Base.ListViewFlickerFree lvRoutings;
- private System.Windows.Forms.TabControl tabControl2;
- private System.Windows.Forms.TabPage tabPage2;
- private System.Windows.Forms.ContextMenuStrip cmsLv;
- private System.Windows.Forms.ToolStripMenuItem menuRemove;
- private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
- private System.Windows.Forms.ToolStripMenuItem menuMoveTop;
- private System.Windows.Forms.ToolStripMenuItem menuMoveUp;
- private System.Windows.Forms.ToolStripMenuItem menuMoveDown;
- private System.Windows.Forms.ToolStripMenuItem menuMoveBottom;
- private System.Windows.Forms.ToolStripMenuItem menuSelectAll;
- private System.Windows.Forms.ToolStripMenuItem menuAdd;
- private System.Windows.Forms.MenuStrip menuServer;
- private System.Windows.Forms.ToolStripMenuItem MenuItem1;
- private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1;
- private System.Windows.Forms.ToolStripMenuItem menuImportRulesFromFile;
- private System.Windows.Forms.ToolStripMenuItem menuImportRulesFromClipboard;
- private System.Windows.Forms.ToolStripMenuItem menuExportSelectedRules;
- private System.Windows.Forms.ToolStripMenuItem menuImportRulesFromUrl;
- private System.Windows.Forms.TextBox txtRemarks;
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.TextBox txtUrl;
- private System.Windows.Forms.Label label3;
- private System.Windows.Forms.Label label1;
- private System.Windows.Forms.TextBox txtCustomIcon;
- private System.Windows.Forms.Label label4;
- private System.Windows.Forms.Button btnBrowse;
- private System.Windows.Forms.Label label5;
- }
-}
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/RoutingRuleSettingForm.cs b/v2rayN/v2rayN/Forms/RoutingRuleSettingForm.cs
deleted file mode 100644
index b88d67d1..00000000
--- a/v2rayN/v2rayN/Forms/RoutingRuleSettingForm.cs
+++ /dev/null
@@ -1,365 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Threading.Tasks;
-using System.Windows.Forms;
-using v2rayN.Base;
-using v2rayN.Handler;
-using v2rayN.Mode;
-using v2rayN.Resx;
-
-namespace v2rayN.Forms
-{
- public partial class RoutingRuleSettingForm : BaseForm
- {
- public int EditIndex
- {
- get; set;
- }
- protected RoutingItem routingItem;
-
- private readonly List lvSelecteds = new List();
- public RoutingRuleSettingForm()
- {
- InitializeComponent();
- }
-
- private void RoutingRuleSettingForm_Load(object sender, EventArgs e)
- {
- routingItem = EditIndex >= 0 ? config.routings[EditIndex] : new RoutingItem();
- if (routingItem.rules == null)
- {
- routingItem.rules = new List();
- }
-
- txtRemarks.Text = routingItem.remarks ?? string.Empty;
- txtUrl.Text = routingItem.url ?? string.Empty;
- txtCustomIcon.Text = routingItem.customIcon ?? string.Empty;
-
- InitRoutingsView();
- RefreshRoutingsView();
- }
-
- private void InitRoutingsView()
- {
- lvRoutings.BeginUpdate();
- lvRoutings.Items.Clear();
-
- lvRoutings.GridLines = true;
- lvRoutings.FullRowSelect = true;
- lvRoutings.View = View.Details;
- lvRoutings.MultiSelect = true;
- lvRoutings.HeaderStyle = ColumnHeaderStyle.Clickable;
- lvRoutings.RegisterDragEvent(UpdateDragEventHandler);
-
- lvRoutings.Columns.Add("", 30);
- lvRoutings.Columns.Add("outboundTag", 80);
- lvRoutings.Columns.Add("port", 80);
- lvRoutings.Columns.Add("protocol", 80);
- lvRoutings.Columns.Add("inboundTag", 80);
- lvRoutings.Columns.Add("domain", 160);
- lvRoutings.Columns.Add("ip", 160);
- lvRoutings.Columns.Add("enable", 60);
-
- lvRoutings.EndUpdate();
- }
- private void UpdateDragEventHandler(int index, int targetIndex)
- {
- if (index < 0 || targetIndex < 0)
- {
- return;
- }
- if (ConfigHandler.MoveRoutingRule(ref routingItem, index, EMove.Position, targetIndex) == 0)
- {
- RefreshRoutingsView();
- }
- }
-
- private void RefreshRoutingsView()
- {
- lvRoutings.BeginUpdate();
- lvRoutings.Items.Clear();
-
- foreach (var item in routingItem.rules)
- {
- ListViewItem lvItem = new ListViewItem("");
- Utils.AddSubItem(lvItem, "outboundTag", item.outboundTag);
- Utils.AddSubItem(lvItem, "port", item.port);
- Utils.AddSubItem(lvItem, "protocol", Utils.List2String(item.protocol));
- Utils.AddSubItem(lvItem, "inboundTag", Utils.List2String(item.inboundTag));
- Utils.AddSubItem(lvItem, "domain", Utils.List2String(item.domain));
- Utils.AddSubItem(lvItem, "ip", Utils.List2String(item.ip));
- Utils.AddSubItem(lvItem, "enable", item.enabled.ToString());
-
- if (lvItem != null) lvRoutings.Items.Add(lvItem);
- }
- lvRoutings.EndUpdate();
- }
-
- private void btnOK_Click(object sender, EventArgs e)
- {
- routingItem.remarks = txtRemarks.Text.Trim();
- routingItem.url = txtUrl.Text.Trim();
- routingItem.customIcon = txtCustomIcon.Text.Trim();
-
- if (ConfigHandler.AddRoutingItem(ref config, routingItem, EditIndex) == 0)
- {
- DialogResult = DialogResult.OK;
- }
- else
- {
- UI.ShowWarning(ResUI.OperationFailed);
- }
- }
-
- private void btnClose_Click(object sender, EventArgs e)
- {
- DialogResult = DialogResult.Cancel;
- }
- private void btnBrowse_Click(object sender, EventArgs e)
- {
- OpenFileDialog openFileDialog1 = new OpenFileDialog();
- openFileDialog1.Filter = "PNG|*.png";
- openFileDialog1.ShowDialog();
- txtCustomIcon.Text = openFileDialog1.FileName;
-
- }
-
- private void lvRoutings_DoubleClick(object sender, EventArgs e)
- {
- int index = GetLvSelectedIndex();
- if (index < 0)
- {
- return;
- }
- var fm = new RoutingRuleSettingDetailsForm();
- fm.rulesItem = routingItem.rules[index];
- if (fm.ShowDialog() == DialogResult.OK)
- {
- RefreshRoutingsView();
- }
- }
-
- private int GetLvSelectedIndex()
- {
- int index = -1;
- lvSelecteds.Clear();
- try
- {
- if (lvRoutings.SelectedIndices.Count <= 0)
- {
- UI.Show(ResUI.PleaseSelectRules);
- return index;
- }
-
- index = lvRoutings.SelectedIndices[0];
- foreach (int i in lvRoutings.SelectedIndices)
- {
- lvSelecteds.Add(i);
- }
- return index;
- }
- catch
- {
- return index;
- }
- }
-
- #region Edit function
-
- private void menuMoveTop_Click(object sender, EventArgs e)
- {
- MoveRule(EMove.Top);
- }
-
- private void menuMoveUp_Click(object sender, EventArgs e)
- {
- MoveRule(EMove.Up);
- }
-
- private void menuMoveDown_Click(object sender, EventArgs e)
- {
- MoveRule(EMove.Down);
- }
-
- private void menuMoveBottom_Click(object sender, EventArgs e)
- {
- MoveRule(EMove.Bottom);
- }
-
- private void MoveRule(EMove eMove)
- {
- int index = GetLvSelectedIndex();
- if (index < 0)
- {
- UI.Show(ResUI.PleaseSelectRules);
- return;
- }
- if (ConfigHandler.MoveRoutingRule(ref routingItem, index, eMove) == 0)
- {
- RefreshRoutingsView();
- }
- }
- private void menuSelectAll_Click(object sender, EventArgs e)
- {
- foreach (ListViewItem item in lvRoutings.Items)
- {
- item.Selected = true;
- }
- }
-
- private void menuAdd_Click(object sender, EventArgs e)
- {
- var fm = new RoutingRuleSettingDetailsForm();
- fm.rulesItem = new RulesItem();
- if (fm.ShowDialog() == DialogResult.OK)
- {
- routingItem.rules.Insert(0, fm.rulesItem);
- RefreshRoutingsView();
- }
- }
-
- private void menuRemove_Click(object sender, EventArgs e)
- {
- int index = GetLvSelectedIndex();
- if (index < 0)
- {
- return;
- }
- if (UI.ShowYesNo(ResUI.RemoveRules) == DialogResult.No)
- {
- return;
- }
- for (int k = lvSelecteds.Count - 1; k >= 0; k--)
- {
- routingItem.rules.RemoveAt(index);
- }
- RefreshRoutingsView();
- }
- private void menuExportSelectedRules_Click(object sender, EventArgs e)
- {
- GetLvSelectedIndex();
- var lst = new List();
- foreach (int v in lvSelecteds)
- {
- lst.Add(routingItem.rules[v]);
- }
- if (lst.Count > 0)
- {
- Utils.SetClipboardData(Utils.ToJson(lst));
- //UI.Show(ResUI.OperationSuccess"));
- }
-
- }
-
- private void lvRoutings_KeyDown(object sender, KeyEventArgs e)
- {
- if (e.Control)
- {
- switch (e.KeyCode)
- {
- case Keys.A:
- menuSelectAll_Click(null, null);
- break;
- case Keys.C:
- menuExportSelectedRules_Click(null, null);
- break;
- }
- }
- else
- {
- switch (e.KeyCode)
- {
- case Keys.Delete:
- menuRemove_Click(null, null);
- break;
- case Keys.T:
- menuMoveTop_Click(null, null);
- break;
- case Keys.B:
- menuMoveBottom_Click(null, null);
- break;
- case Keys.U:
- menuMoveUp_Click(null, null);
- break;
- case Keys.D:
- menuMoveDown_Click(null, null);
- break;
- }
- }
- }
- #endregion
-
- #region preset rules
-
- private void menuImportRulesFromFile_Click(object sender, EventArgs e)
- {
- OpenFileDialog fileDialog = new OpenFileDialog
- {
- Multiselect = false,
- Filter = "Rules|*.json|All|*.*"
- };
- if (fileDialog.ShowDialog() != DialogResult.OK)
- {
- return;
- }
- string fileName = fileDialog.FileName;
- if (Utils.IsNullOrEmpty(fileName))
- {
- return;
- }
- string result = Utils.LoadResource(fileName);
- if (Utils.IsNullOrEmpty(result))
- {
- return;
- }
-
- if (AddBatchRoutingRules(ref routingItem, result) == 0)
- {
- RefreshRoutingsView();
- UI.Show(ResUI.OperationSuccess);
- }
- }
-
- private void menuImportRulesFromClipboard_Click(object sender, EventArgs e)
- {
- string clipboardData = Utils.GetClipboardData();
- if (AddBatchRoutingRules(ref routingItem, clipboardData) == 0)
- {
- RefreshRoutingsView();
- UI.Show(ResUI.OperationSuccess);
- }
- }
- private void menuImportRulesFromUrl_Click(object sender, EventArgs e)
- {
- var url = txtUrl.Text.Trim();
- if (Utils.IsNullOrEmpty(url))
- {
- UI.Show(ResUI.MsgNeedUrl);
- return;
- }
-
- Task.Run(async () =>
- {
- DownloadHandle downloadHandle = new DownloadHandle();
- string result = await downloadHandle.DownloadStringAsync(url, false, "");
- if (AddBatchRoutingRules(ref routingItem, result) == 0)
- {
- RefreshRoutingsView();
- UI.Show(ResUI.OperationSuccess);
- }
- });
- }
- private int AddBatchRoutingRules(ref RoutingItem routingItem, string clipboardData)
- {
- bool blReplace = false;
- if (UI.ShowYesNo(ResUI.AddBatchRoutingRulesYesNo) == DialogResult.No)
- {
- blReplace = true;
- }
- return ConfigHandler.AddBatchRoutingRules(ref routingItem, clipboardData, blReplace);
- }
-
- #endregion
-
- }
-}
diff --git a/v2rayN/v2rayN/Forms/RoutingRuleSettingForm.resx b/v2rayN/v2rayN/Forms/RoutingRuleSettingForm.resx
deleted file mode 100644
index 481e5f26..00000000
--- a/v2rayN/v2rayN/Forms/RoutingRuleSettingForm.resx
+++ /dev/null
@@ -1,785 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
- 199, 6
-
-
-
- Fill
-
-
- menuImportRulesFromUrl
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Down (D)
-
-
- 762, 25
-
-
-
- 32
-
-
- 5
-
-
- 47, 12
-
-
- Move to bottom (B)
-
-
- panel1
-
-
- 40
-
-
- Bottom
-
-
- Edit and Function
-
-
- panel1
-
-
- 3
-
-
- 75, 23
-
-
- NoControl
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 4
-
-
- True
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel1
-
-
- 15
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 4, 22
-
-
- $this
-
-
- panel1
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Rule Settings
-
-
- Remove selected
-
-
- NoControl
-
-
- tabPage2
-
-
- 4
-
-
- 202, 22
-
-
- 475, 17
-
-
- 75, 23
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 33
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- MenuItem1
-
-
- 0
-
-
- 754, 231
-
-
- 1
-
-
- 568, 17
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 8
-
-
- txtCustomIcon
-
-
- NoControl
-
-
- 0, 0
-
-
- label1
-
-
- 762, 60
-
-
- Sub Url
-
-
- 95, 21
-
-
- PNG(128*128)
-
-
- panel1
-
-
- True
-
-
- 120, 21
-
-
- True
-
-
- Import Rules From Sub Url
-
-
- 2
-
-
- menuSelectAll
-
-
- menuMoveTop
-
-
- 202, 22
-
-
- cmsLv
-
-
- 5
-
-
- Add
-
-
- 12
-
-
- toolStripSeparator3
-
-
- label5
-
-
- tabPage2
-
-
- 644, 48
-
-
- menuMoveBottom
-
-
- 0, 25
-
-
- 18, 105
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 18, 63
-
-
- Import Rules From File
-
-
- 202, 22
-
-
- 762, 257
-
-
- 1
-
-
- RoutingRuleSettingForm
-
-
- 166, 21
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel1
-
-
- 202, 22
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuServer
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 3
-
-
- System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- btnClose
-
-
- Up (U)
-
-
- 203, 186
-
-
- btnOK
-
-
- 47, 12
-
-
- 14
-
-
- Import Rules
-
-
- NoControl
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 3, 3
-
-
- 10, 117
-
-
- menuImportRulesFromClipboard
-
-
- Import Rules From Clipboard
-
-
- panel1
-
-
- menuAdd
-
-
- 0, 167
-
-
- 247, 22
-
-
- 4
-
-
- Move to top (T)
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 762, 142
-
-
- txtUrl
-
-
- 748, 225
-
-
- 660, 104
-
-
- $this
-
-
-
- AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
- LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkMAwAAAFFTeXN0
- ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2Vu
- PWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACFTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0l0ZW0HAAAA
- BFRleHQKSW1hZ2VJbmRleAlCYWNrQ29sb3IHQ2hlY2tlZARGb250CUZvcmVDb2xvchdVc2VJdGVtU3R5
- bGVGb3JTdWJJdGVtcwEABAAEBAAIFFN5c3RlbS5EcmF3aW5nLkNvbG9yAwAAAAETU3lzdGVtLkRyYXdp
- bmcuRm9udAMAAAAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAAQIAAAAGBAAAAAD/////Bfv///8UU3lz
- dGVtLkRyYXdpbmcuQ29sb3IEAAAABG5hbWUFdmFsdWUKa25vd25Db2xvcgVzdGF0ZQEAAAAJBwcDAAAA
- CgAAAAAAAAAAGAABAAAJBgAAAAH5////+////woAAAAAAAAAABoAAQABBQYAAAATU3lzdGVtLkRyYXdp
- bmcuRm9udAQAAAAETmFtZQRTaXplBVN0eWxlBFVuaXQBAAQECxhTeXN0ZW0uRHJhd2luZy5Gb250U3R5
- bGUDAAAAG1N5c3RlbS5EcmF3aW5nLkdyYXBoaWNzVW5pdAMAAAADAAAABggAAAAG5a6L5L2TAAAQQQX3
- ////GFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQEAAAAHdmFsdWVfXwAIAwAAAAAAAAAF9v///xtTeXN0
- ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
-
-
-
- 34
-
-
- 2
-
-
- 1
-
-
- label4
-
-
- &OK
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- True
-
-
- 247, 22
-
-
- panel2
-
-
- 35
-
-
- v2rayN.Base.ListViewFlickerFree, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
-
-
- 71, 12
-
-
- 18, 45
-
-
- 31
-
-
- 91, 45
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuMoveDown
-
-
- panel2
-
-
- 202, 22
-
-
- System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuImportRulesFromFile
-
-
- label3
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 11
-
-
- panel2
-
-
- 7
-
-
- Vertical
-
-
- &Browse
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel1
-
-
- v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
-
-
- tabControl2
-
-
- Remarks
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 3, 3, 3, 3
-
-
- 0, 424
-
-
- menuMoveUp
-
-
- RuleList
-
-
- toolStripMenuItem1
-
-
- 563, 21
-
-
- 0
-
-
- Select All (Ctrl+A)
-
-
- 53, 12
-
-
- Fill
-
-
- 18, 13
-
-
- 6, 12
-
-
- 37
-
-
- menuExportSelectedRules
-
-
- Optional
-
-
- Export Selected Rules
-
-
- 36
-
-
- 91, 13
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 247, 22
-
-
- 202, 22
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- lvRoutings
-
-
- 202, 22
-
-
- 91, 105
-
-
- label2
-
-
- menuRemove
-
-
- True
-
-
- NoControl
-
-
- NoControl
-
-
- 762, 484
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- btnBrowse
-
-
- $this
-
-
- NoControl
-
-
- 39
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 202, 22
-
-
- 6
-
-
- &Cancel
-
-
- NoControl
-
-
- 77, 12
-
-
- 0
-
-
- 7
-
-
- panel1
-
-
- 75, 23
-
-
- tabControl2
-
-
- panel1
-
-
- 0
-
-
- System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- txtRemarks
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- True
-
-
- Custom icon
-
-
- 0
-
-
- Top
-
-
- True
-
-
- 25
-
-
- 139, 17
-
-
- 17, 17
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/RoutingRuleSettingForm.zh-Hans.resx b/v2rayN/v2rayN/Forms/RoutingRuleSettingForm.zh-Hans.resx
deleted file mode 100644
index 6c7dcd5f..00000000
--- a/v2rayN/v2rayN/Forms/RoutingRuleSettingForm.zh-Hans.resx
+++ /dev/null
@@ -1,300 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 取消(&C)
-
-
-
- 0, 501
-
-
- 785, 60
-
-
- 确定(&O)
-
-
- 785, 147
-
-
- 670, 104
-
-
- 浏览(&B)
-
-
- 101, 105
-
-
- 65, 12
-
-
- 自定义图标
-
-
- 29, 12
-
-
- 可选
-
-
- 101, 45
-
-
- 83, 12
-
-
- 订阅地址(Url)
-
-
- 101, 13
-
-
- 29, 12
-
-
- 别名
-
-
- 196, 22
-
-
- 添加规则
-
-
- 196, 22
-
-
- 移除所选规则
-
-
- 196, 22
-
-
- 全选
-
-
- 196, 22
-
-
- 导出所选规则至剪贴板
-
-
- 193, 6
-
-
- 196, 22
-
-
- 上移至顶 (T)
-
-
- 196, 22
-
-
- 上移 (U)
-
-
- 196, 22
-
-
- 下移 (D)
-
-
- 196, 22
-
-
- 下移至底 (B)
-
-
- 68, 21
-
-
- 规则功能
-
-
- 197, 186
-
-
-
- AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
- LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkMAwAAAFFTeXN0
- ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2Vu
- PWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACFTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0l0ZW0HAAAA
- BFRleHQKSW1hZ2VJbmRleAlCYWNrQ29sb3IHQ2hlY2tlZARGb250CUZvcmVDb2xvchdVc2VJdGVtU3R5
- bGVGb3JTdWJJdGVtcwEABAAEBAAIFFN5c3RlbS5EcmF3aW5nLkNvbG9yAwAAAAETU3lzdGVtLkRyYXdp
- bmcuRm9udAMAAAAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAAQIAAAAGBAAAAAD/////Bfv///8UU3lz
- dGVtLkRyYXdpbmcuQ29sb3IEAAAABG5hbWUFdmFsdWUKa25vd25Db2xvcgVzdGF0ZQEAAAAJBwcDAAAA
- CgAAAAAAAAAAGAABAAAJBgAAAAH5////+////woAAAAAAAAAABoAAQABBQYAAAATU3lzdGVtLkRyYXdp
- bmcuRm9udAQAAAAETmFtZQRTaXplBVN0eWxlBFVuaXQBAAQECxhTeXN0ZW0uRHJhd2luZy5Gb250U3R5
- bGUDAAAAG1N5c3RlbS5EcmF3aW5nLkdyYXBoaWNzVW5pdAMAAAADAAAABggAAAAG5a6L5L2TAAAQQQX3
- ////GFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQEAAAAHdmFsdWVfXwAIAwAAAAAAAAAF9v///xtTeXN0
- ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
-
-
-
- 771, 297
-
-
- 0, 172
-
-
- 785, 329
-
-
- 777, 303
-
-
- 规则列表
-
-
- 785, 25
-
-
- 68, 21
-
-
- 导入规则
-
-
- 189, 22
-
-
- 从文件中导入规则
-
-
- 189, 22
-
-
- 从剪贴板中导入规则
-
-
- 189, 22
-
-
- 从订阅Url中导入规则
-
-
- 785, 561
-
-
- 规则集设置
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/RoutingSettingForm.Designer.cs b/v2rayN/v2rayN/Forms/RoutingSettingForm.Designer.cs
deleted file mode 100644
index d9813d1b..00000000
--- a/v2rayN/v2rayN/Forms/RoutingSettingForm.Designer.cs
+++ /dev/null
@@ -1,482 +0,0 @@
-namespace v2rayN.Forms
-{
- partial class RoutingSettingForm
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- this.components = new System.ComponentModel.Container();
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(RoutingSettingForm));
- this.btnClose = new System.Windows.Forms.Button();
- this.panel2 = new System.Windows.Forms.Panel();
- this.labRoutingTips = new System.Windows.Forms.Label();
- this.btnOK = new System.Windows.Forms.Button();
- this.panel1 = new System.Windows.Forms.Panel();
- this.cmbdomainMatcher = new System.Windows.Forms.ComboBox();
- this.label6 = new System.Windows.Forms.Label();
- this.chkenableRoutingAdvanced = new System.Windows.Forms.CheckBox();
- this.linkLabelRoutingDoc = new System.Windows.Forms.LinkLabel();
- this.cmbdomainStrategy = new System.Windows.Forms.ComboBox();
- this.cmsLv = new System.Windows.Forms.ContextMenuStrip(this.components);
- this.menuAdd = new System.Windows.Forms.ToolStripMenuItem();
- this.menuRemove = new System.Windows.Forms.ToolStripMenuItem();
- this.menuSelectAll = new System.Windows.Forms.ToolStripMenuItem();
- this.menuSetDefaultRouting = new System.Windows.Forms.ToolStripMenuItem();
- this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
- this.menuImportAdvancedRules = new System.Windows.Forms.ToolStripMenuItem();
- this.MenuItemAdvanced = new System.Windows.Forms.ToolStripMenuItem();
- this.menuServer = new System.Windows.Forms.MenuStrip();
- this.MenuItemBasic = new System.Windows.Forms.ToolStripMenuItem();
- this.menuImportBasicRules = new System.Windows.Forms.ToolStripMenuItem();
- this.tabNormal = new System.Windows.Forms.TabControl();
- this.tabPageProxy = new System.Windows.Forms.TabPage();
- this.panel5 = new System.Windows.Forms.Panel();
- this.groupBox5 = new System.Windows.Forms.GroupBox();
- this.txtProxyIp = new System.Windows.Forms.TextBox();
- this.groupBox6 = new System.Windows.Forms.GroupBox();
- this.txtProxyDomain = new System.Windows.Forms.TextBox();
- this.tabPageDirect = new System.Windows.Forms.TabPage();
- this.panel4 = new System.Windows.Forms.Panel();
- this.groupBox3 = new System.Windows.Forms.GroupBox();
- this.txtDirectIp = new System.Windows.Forms.TextBox();
- this.groupBox4 = new System.Windows.Forms.GroupBox();
- this.txtDirectDomain = new System.Windows.Forms.TextBox();
- this.tabPageBlock = new System.Windows.Forms.TabPage();
- this.panel3 = new System.Windows.Forms.Panel();
- this.groupBox2 = new System.Windows.Forms.GroupBox();
- this.txtBlockIp = new System.Windows.Forms.TextBox();
- this.groupBox1 = new System.Windows.Forms.GroupBox();
- this.txtBlockDomain = new System.Windows.Forms.TextBox();
- this.tabPageRuleList = new System.Windows.Forms.TabPage();
- this.lvRoutings = new v2rayN.Base.ListViewFlickerFree();
- this.panel2.SuspendLayout();
- this.panel1.SuspendLayout();
- this.cmsLv.SuspendLayout();
- this.menuServer.SuspendLayout();
- this.tabNormal.SuspendLayout();
- this.tabPageProxy.SuspendLayout();
- this.panel5.SuspendLayout();
- this.groupBox5.SuspendLayout();
- this.groupBox6.SuspendLayout();
- this.tabPageDirect.SuspendLayout();
- this.panel4.SuspendLayout();
- this.groupBox3.SuspendLayout();
- this.groupBox4.SuspendLayout();
- this.tabPageBlock.SuspendLayout();
- this.panel3.SuspendLayout();
- this.groupBox2.SuspendLayout();
- this.groupBox1.SuspendLayout();
- this.tabPageRuleList.SuspendLayout();
- this.SuspendLayout();
- //
- // btnClose
- //
- this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
- resources.ApplyResources(this.btnClose, "btnClose");
- this.btnClose.Name = "btnClose";
- this.btnClose.UseVisualStyleBackColor = true;
- this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
- //
- // panel2
- //
- this.panel2.Controls.Add(this.labRoutingTips);
- this.panel2.Controls.Add(this.btnClose);
- this.panel2.Controls.Add(this.btnOK);
- resources.ApplyResources(this.panel2, "panel2");
- this.panel2.Name = "panel2";
- //
- // labRoutingTips
- //
- this.labRoutingTips.ForeColor = System.Drawing.Color.Brown;
- resources.ApplyResources(this.labRoutingTips, "labRoutingTips");
- this.labRoutingTips.Name = "labRoutingTips";
- //
- // btnOK
- //
- resources.ApplyResources(this.btnOK, "btnOK");
- this.btnOK.Name = "btnOK";
- this.btnOK.UseVisualStyleBackColor = true;
- this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
- //
- // panel1
- //
- this.panel1.Controls.Add(this.cmbdomainMatcher);
- this.panel1.Controls.Add(this.label6);
- this.panel1.Controls.Add(this.chkenableRoutingAdvanced);
- this.panel1.Controls.Add(this.linkLabelRoutingDoc);
- this.panel1.Controls.Add(this.cmbdomainStrategy);
- resources.ApplyResources(this.panel1, "panel1");
- this.panel1.Name = "panel1";
- //
- // cmbdomainMatcher
- //
- this.cmbdomainMatcher.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cmbdomainMatcher.FormattingEnabled = true;
- resources.ApplyResources(this.cmbdomainMatcher, "cmbdomainMatcher");
- this.cmbdomainMatcher.Name = "cmbdomainMatcher";
- //
- // label6
- //
- resources.ApplyResources(this.label6, "label6");
- this.label6.Name = "label6";
- //
- // chkenableRoutingAdvanced
- //
- resources.ApplyResources(this.chkenableRoutingAdvanced, "chkenableRoutingAdvanced");
- this.chkenableRoutingAdvanced.Name = "chkenableRoutingAdvanced";
- this.chkenableRoutingAdvanced.UseVisualStyleBackColor = true;
- this.chkenableRoutingAdvanced.CheckedChanged += new System.EventHandler(this.chkenableRoutingAdvanced_CheckedChanged_1);
- //
- // linkLabelRoutingDoc
- //
- resources.ApplyResources(this.linkLabelRoutingDoc, "linkLabelRoutingDoc");
- this.linkLabelRoutingDoc.Name = "linkLabelRoutingDoc";
- this.linkLabelRoutingDoc.TabStop = true;
- this.linkLabelRoutingDoc.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabelRoutingDoc_LinkClicked);
- //
- // cmbdomainStrategy
- //
- this.cmbdomainStrategy.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cmbdomainStrategy.FormattingEnabled = true;
- this.cmbdomainStrategy.Items.AddRange(new object[] {
- resources.GetString("cmbdomainStrategy.Items"),
- resources.GetString("cmbdomainStrategy.Items1"),
- resources.GetString("cmbdomainStrategy.Items2")});
- resources.ApplyResources(this.cmbdomainStrategy, "cmbdomainStrategy");
- this.cmbdomainStrategy.Name = "cmbdomainStrategy";
- //
- // cmsLv
- //
- this.cmsLv.ImageScalingSize = new System.Drawing.Size(20, 20);
- this.cmsLv.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.menuAdd,
- this.menuRemove,
- this.menuSelectAll,
- this.menuSetDefaultRouting,
- this.toolStripSeparator1,
- this.menuImportAdvancedRules});
- this.cmsLv.Name = "cmsLv";
- this.cmsLv.OwnerItem = this.MenuItemAdvanced;
- resources.ApplyResources(this.cmsLv, "cmsLv");
- //
- // menuAdd
- //
- this.menuAdd.Name = "menuAdd";
- resources.ApplyResources(this.menuAdd, "menuAdd");
- this.menuAdd.Click += new System.EventHandler(this.menuAdd_Click);
- //
- // menuRemove
- //
- this.menuRemove.Name = "menuRemove";
- resources.ApplyResources(this.menuRemove, "menuRemove");
- this.menuRemove.Click += new System.EventHandler(this.menuRemove_Click);
- //
- // menuSelectAll
- //
- this.menuSelectAll.Name = "menuSelectAll";
- resources.ApplyResources(this.menuSelectAll, "menuSelectAll");
- this.menuSelectAll.Click += new System.EventHandler(this.menuSelectAll_Click);
- //
- // menuSetDefaultRouting
- //
- this.menuSetDefaultRouting.Name = "menuSetDefaultRouting";
- resources.ApplyResources(this.menuSetDefaultRouting, "menuSetDefaultRouting");
- this.menuSetDefaultRouting.Click += new System.EventHandler(this.menuSetDefaultRouting_Click);
- //
- // toolStripSeparator1
- //
- this.toolStripSeparator1.Name = "toolStripSeparator1";
- resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1");
- //
- // menuImportAdvancedRules
- //
- this.menuImportAdvancedRules.Name = "menuImportAdvancedRules";
- resources.ApplyResources(this.menuImportAdvancedRules, "menuImportAdvancedRules");
- this.menuImportAdvancedRules.Click += new System.EventHandler(this.menuImportAdvancedRules_Click);
- //
- // MenuItemAdvanced
- //
- this.MenuItemAdvanced.DropDown = this.cmsLv;
- this.MenuItemAdvanced.Name = "MenuItemAdvanced";
- resources.ApplyResources(this.MenuItemAdvanced, "MenuItemAdvanced");
- //
- // menuServer
- //
- this.menuServer.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.MenuItemBasic,
- this.MenuItemAdvanced});
- resources.ApplyResources(this.menuServer, "menuServer");
- this.menuServer.Name = "menuServer";
- //
- // MenuItemBasic
- //
- this.MenuItemBasic.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.menuImportBasicRules});
- this.MenuItemBasic.Name = "MenuItemBasic";
- resources.ApplyResources(this.MenuItemBasic, "MenuItemBasic");
- //
- // menuImportBasicRules
- //
- this.menuImportBasicRules.Name = "menuImportBasicRules";
- resources.ApplyResources(this.menuImportBasicRules, "menuImportBasicRules");
- this.menuImportBasicRules.Click += new System.EventHandler(this.menuImportBasicRules_Click);
- //
- // tabNormal
- //
- this.tabNormal.Controls.Add(this.tabPageProxy);
- this.tabNormal.Controls.Add(this.tabPageDirect);
- this.tabNormal.Controls.Add(this.tabPageBlock);
- this.tabNormal.Controls.Add(this.tabPageRuleList);
- resources.ApplyResources(this.tabNormal, "tabNormal");
- this.tabNormal.Name = "tabNormal";
- this.tabNormal.SelectedIndex = 0;
- this.tabNormal.Selecting += new System.Windows.Forms.TabControlCancelEventHandler(this.tabNormal_Selecting);
- //
- // tabPageProxy
- //
- this.tabPageProxy.Controls.Add(this.panel5);
- resources.ApplyResources(this.tabPageProxy, "tabPageProxy");
- this.tabPageProxy.Name = "tabPageProxy";
- this.tabPageProxy.UseVisualStyleBackColor = true;
- //
- // panel5
- //
- this.panel5.Controls.Add(this.groupBox5);
- this.panel5.Controls.Add(this.groupBox6);
- resources.ApplyResources(this.panel5, "panel5");
- this.panel5.Name = "panel5";
- //
- // groupBox5
- //
- this.groupBox5.Controls.Add(this.txtProxyIp);
- resources.ApplyResources(this.groupBox5, "groupBox5");
- this.groupBox5.Name = "groupBox5";
- this.groupBox5.TabStop = false;
- //
- // txtProxyIp
- //
- resources.ApplyResources(this.txtProxyIp, "txtProxyIp");
- this.txtProxyIp.Name = "txtProxyIp";
- //
- // groupBox6
- //
- this.groupBox6.Controls.Add(this.txtProxyDomain);
- resources.ApplyResources(this.groupBox6, "groupBox6");
- this.groupBox6.Name = "groupBox6";
- this.groupBox6.TabStop = false;
- //
- // txtProxyDomain
- //
- resources.ApplyResources(this.txtProxyDomain, "txtProxyDomain");
- this.txtProxyDomain.Name = "txtProxyDomain";
- //
- // tabPageDirect
- //
- this.tabPageDirect.Controls.Add(this.panel4);
- resources.ApplyResources(this.tabPageDirect, "tabPageDirect");
- this.tabPageDirect.Name = "tabPageDirect";
- this.tabPageDirect.UseVisualStyleBackColor = true;
- //
- // panel4
- //
- this.panel4.Controls.Add(this.groupBox3);
- this.panel4.Controls.Add(this.groupBox4);
- resources.ApplyResources(this.panel4, "panel4");
- this.panel4.Name = "panel4";
- //
- // groupBox3
- //
- this.groupBox3.Controls.Add(this.txtDirectIp);
- resources.ApplyResources(this.groupBox3, "groupBox3");
- this.groupBox3.Name = "groupBox3";
- this.groupBox3.TabStop = false;
- //
- // txtDirectIp
- //
- resources.ApplyResources(this.txtDirectIp, "txtDirectIp");
- this.txtDirectIp.Name = "txtDirectIp";
- //
- // groupBox4
- //
- this.groupBox4.Controls.Add(this.txtDirectDomain);
- resources.ApplyResources(this.groupBox4, "groupBox4");
- this.groupBox4.Name = "groupBox4";
- this.groupBox4.TabStop = false;
- //
- // txtDirectDomain
- //
- resources.ApplyResources(this.txtDirectDomain, "txtDirectDomain");
- this.txtDirectDomain.Name = "txtDirectDomain";
- //
- // tabPageBlock
- //
- this.tabPageBlock.Controls.Add(this.panel3);
- resources.ApplyResources(this.tabPageBlock, "tabPageBlock");
- this.tabPageBlock.Name = "tabPageBlock";
- this.tabPageBlock.UseVisualStyleBackColor = true;
- //
- // panel3
- //
- this.panel3.Controls.Add(this.groupBox2);
- this.panel3.Controls.Add(this.groupBox1);
- resources.ApplyResources(this.panel3, "panel3");
- this.panel3.Name = "panel3";
- //
- // groupBox2
- //
- this.groupBox2.Controls.Add(this.txtBlockIp);
- resources.ApplyResources(this.groupBox2, "groupBox2");
- this.groupBox2.Name = "groupBox2";
- this.groupBox2.TabStop = false;
- //
- // txtBlockIp
- //
- resources.ApplyResources(this.txtBlockIp, "txtBlockIp");
- this.txtBlockIp.Name = "txtBlockIp";
- //
- // groupBox1
- //
- this.groupBox1.Controls.Add(this.txtBlockDomain);
- resources.ApplyResources(this.groupBox1, "groupBox1");
- this.groupBox1.Name = "groupBox1";
- this.groupBox1.TabStop = false;
- //
- // txtBlockDomain
- //
- resources.ApplyResources(this.txtBlockDomain, "txtBlockDomain");
- this.txtBlockDomain.Name = "txtBlockDomain";
- //
- // tabPageRuleList
- //
- this.tabPageRuleList.Controls.Add(this.lvRoutings);
- resources.ApplyResources(this.tabPageRuleList, "tabPageRuleList");
- this.tabPageRuleList.Name = "tabPageRuleList";
- this.tabPageRuleList.UseVisualStyleBackColor = true;
- //
- // lvRoutings
- //
- this.lvRoutings.ContextMenuStrip = this.cmsLv;
- resources.ApplyResources(this.lvRoutings, "lvRoutings");
- this.lvRoutings.FullRowSelect = true;
- this.lvRoutings.GridLines = true;
- this.lvRoutings.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
- this.lvRoutings.HideSelection = false;
- this.lvRoutings.Items.AddRange(new System.Windows.Forms.ListViewItem[] {
- ((System.Windows.Forms.ListViewItem)(resources.GetObject("lvRoutings.Items")))});
- this.lvRoutings.MultiSelect = false;
- this.lvRoutings.Name = "lvRoutings";
- this.lvRoutings.UseCompatibleStateImageBehavior = false;
- this.lvRoutings.View = System.Windows.Forms.View.Details;
- this.lvRoutings.DoubleClick += new System.EventHandler(this.lvRoutings_DoubleClick);
- //
- // RoutingSettingForm
- //
- resources.ApplyResources(this, "$this");
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.CancelButton = this.btnClose;
- this.Controls.Add(this.tabNormal);
- this.Controls.Add(this.panel1);
- this.Controls.Add(this.panel2);
- this.Controls.Add(this.menuServer);
- this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
- this.Name = "RoutingSettingForm";
- this.Load += new System.EventHandler(this.RoutingSettingForm_Load);
- this.panel2.ResumeLayout(false);
- this.panel1.ResumeLayout(false);
- this.panel1.PerformLayout();
- this.cmsLv.ResumeLayout(false);
- this.menuServer.ResumeLayout(false);
- this.menuServer.PerformLayout();
- this.tabNormal.ResumeLayout(false);
- this.tabPageProxy.ResumeLayout(false);
- this.panel5.ResumeLayout(false);
- this.groupBox5.ResumeLayout(false);
- this.groupBox5.PerformLayout();
- this.groupBox6.ResumeLayout(false);
- this.groupBox6.PerformLayout();
- this.tabPageDirect.ResumeLayout(false);
- this.panel4.ResumeLayout(false);
- this.groupBox3.ResumeLayout(false);
- this.groupBox3.PerformLayout();
- this.groupBox4.ResumeLayout(false);
- this.groupBox4.PerformLayout();
- this.tabPageBlock.ResumeLayout(false);
- this.panel3.ResumeLayout(false);
- this.groupBox2.ResumeLayout(false);
- this.groupBox2.PerformLayout();
- this.groupBox1.ResumeLayout(false);
- this.groupBox1.PerformLayout();
- this.tabPageRuleList.ResumeLayout(false);
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
- #endregion
- private System.Windows.Forms.Button btnClose;
- private System.Windows.Forms.Button btnOK;
- private System.Windows.Forms.Panel panel2;
- private System.Windows.Forms.Panel panel1;
- private System.Windows.Forms.LinkLabel linkLabelRoutingDoc;
- private System.Windows.Forms.ComboBox cmbdomainStrategy;
- private System.Windows.Forms.ContextMenuStrip cmsLv;
- private System.Windows.Forms.ToolStripMenuItem menuRemove;
- private System.Windows.Forms.ToolStripMenuItem menuSelectAll;
- private System.Windows.Forms.ToolStripMenuItem menuAdd;
- private System.Windows.Forms.MenuStrip menuServer;
- private System.Windows.Forms.ToolStripMenuItem MenuItemAdvanced;
- private System.Windows.Forms.ToolStripMenuItem menuSetDefaultRouting;
- private System.Windows.Forms.TabControl tabNormal;
- private System.Windows.Forms.TabPage tabPageProxy;
- private System.Windows.Forms.TabPage tabPageDirect;
- private System.Windows.Forms.TabPage tabPageBlock;
- private System.Windows.Forms.Panel panel5;
- private System.Windows.Forms.GroupBox groupBox5;
- private System.Windows.Forms.TextBox txtProxyIp;
- private System.Windows.Forms.GroupBox groupBox6;
- private System.Windows.Forms.TextBox txtProxyDomain;
- private System.Windows.Forms.Panel panel4;
- private System.Windows.Forms.GroupBox groupBox3;
- private System.Windows.Forms.TextBox txtDirectIp;
- private System.Windows.Forms.GroupBox groupBox4;
- private System.Windows.Forms.TextBox txtDirectDomain;
- private System.Windows.Forms.Panel panel3;
- private System.Windows.Forms.GroupBox groupBox2;
- private System.Windows.Forms.TextBox txtBlockIp;
- private System.Windows.Forms.GroupBox groupBox1;
- private System.Windows.Forms.TextBox txtBlockDomain;
- private System.Windows.Forms.TabPage tabPageRuleList;
- private Base.ListViewFlickerFree lvRoutings;
- private System.Windows.Forms.Label labRoutingTips;
- private System.Windows.Forms.CheckBox chkenableRoutingAdvanced;
- private System.Windows.Forms.ToolStripMenuItem MenuItemBasic;
- private System.Windows.Forms.ToolStripMenuItem menuImportBasicRules;
- private System.Windows.Forms.ComboBox cmbdomainMatcher;
- private System.Windows.Forms.Label label6;
- private System.Windows.Forms.ToolStripMenuItem menuImportAdvancedRules;
- private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
- }
-}
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/RoutingSettingForm.cs b/v2rayN/v2rayN/Forms/RoutingSettingForm.cs
deleted file mode 100644
index a34b01d7..00000000
--- a/v2rayN/v2rayN/Forms/RoutingSettingForm.cs
+++ /dev/null
@@ -1,320 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Windows.Forms;
-using v2rayN.Base;
-using v2rayN.Handler;
-using v2rayN.Mode;
-using v2rayN.Resx;
-
-namespace v2rayN.Forms
-{
- public partial class RoutingSettingForm : BaseForm
- {
- private readonly List _lvSelecteds = new List();
- private RoutingItem _lockedItem;
- public RoutingSettingForm()
- {
- InitializeComponent();
- }
-
- private void RoutingSettingForm_Load(object sender, EventArgs e)
- {
- ConfigHandler.InitBuiltinRouting(ref config);
- cmbdomainMatcher.Items.AddRange(Global.domainMatchers.ToArray());
-
- cmbdomainStrategy.Text = config.domainStrategy;
- chkenableRoutingAdvanced.Checked = config.enableRoutingAdvanced;
- cmbdomainMatcher.Text = config.domainMatcher;
-
- if (config.routings == null)
- {
- config.routings = new List();
- }
- InitRoutingsView();
- RefreshRoutingsView();
-
- BindingLockedData();
- InitUI();
- }
-
-
- private void tabNormal_Selecting(object sender, TabControlCancelEventArgs e)
- {
- //if (tabNormal.SelectedTab == tabPageRuleList)
- //{
- // MenuItem1.Enabled = true;
- //}
- //else
- //{
- // MenuItem1.Enabled = false;
- //}
- }
- private void btnOK_Click(object sender, EventArgs e)
- {
- config.domainStrategy = cmbdomainStrategy.Text;
- config.enableRoutingAdvanced = chkenableRoutingAdvanced.Checked;
- config.domainMatcher = cmbdomainMatcher.Text;
-
- EndBindingLockedData();
-
- if (ConfigHandler.SaveRouting(ref config) == 0)
- {
- DialogResult = DialogResult.OK;
- }
- else
- {
- UI.ShowWarning(ResUI.OperationFailed);
- }
- }
-
- private void btnClose_Click(object sender, EventArgs e)
- {
- DialogResult = DialogResult.Cancel;
- }
- private void chkenableRoutingAdvanced_CheckedChanged_1(object sender, EventArgs e)
- {
- InitUI();
- }
- private void InitUI()
- {
- if (chkenableRoutingAdvanced.Checked)
- {
- tabPageProxy.Parent = null;
- tabPageDirect.Parent = null;
- tabPageBlock.Parent = null;
- tabPageRuleList.Parent = tabNormal;
- MenuItemBasic.Enabled = false;
- MenuItemAdvanced.Enabled = true;
-
- }
- else
- {
- tabPageProxy.Parent = tabNormal;
- tabPageDirect.Parent = tabNormal;
- tabPageBlock.Parent = tabNormal;
- tabPageRuleList.Parent = null;
- MenuItemBasic.Enabled = true;
- MenuItemAdvanced.Enabled = false;
- }
-
- }
-
-
- #region locked
- private void BindingLockedData()
- {
- _lockedItem = ConfigHandler.GetLockedRoutingItem(ref config);
- if (_lockedItem != null)
- {
- txtProxyDomain.Text = Utils.List2String(_lockedItem.rules[0].domain, true);
- txtProxyIp.Text = Utils.List2String(_lockedItem.rules[0].ip, true);
-
- txtDirectDomain.Text = Utils.List2String(_lockedItem.rules[1].domain, true);
- txtDirectIp.Text = Utils.List2String(_lockedItem.rules[1].ip, true);
-
- txtBlockDomain.Text = Utils.List2String(_lockedItem.rules[2].domain, true);
- txtBlockIp.Text = Utils.List2String(_lockedItem.rules[2].ip, true);
- }
- }
- private void EndBindingLockedData()
- {
- if (_lockedItem != null)
- {
- _lockedItem.rules[0].domain = Utils.String2List(txtProxyDomain.Text.TrimEx());
- _lockedItem.rules[0].ip = Utils.String2List(txtProxyIp.Text.TrimEx());
-
- _lockedItem.rules[1].domain = Utils.String2List(txtDirectDomain.Text.TrimEx());
- _lockedItem.rules[1].ip = Utils.String2List(txtDirectIp.Text.TrimEx());
-
- _lockedItem.rules[2].domain = Utils.String2List(txtBlockDomain.Text.TrimEx());
- _lockedItem.rules[2].ip = Utils.String2List(txtBlockIp.Text.TrimEx());
-
- }
- }
- #endregion
-
- #region ListView
- private void InitRoutingsView()
- {
- lvRoutings.BeginUpdate();
- lvRoutings.Items.Clear();
-
- lvRoutings.GridLines = true;
- lvRoutings.FullRowSelect = true;
- lvRoutings.View = View.Details;
- lvRoutings.MultiSelect = true;
- lvRoutings.HeaderStyle = ColumnHeaderStyle.Clickable;
-
- lvRoutings.Columns.Add("", 30);
- lvRoutings.Columns.Add(ResUI.LvAlias, 200);
- lvRoutings.Columns.Add(ResUI.LvCount, 60);
- lvRoutings.Columns.Add(ResUI.LvUrl, 240);
- lvRoutings.Columns.Add(ResUI.LvCustomIcon, 240);
-
- lvRoutings.EndUpdate();
- }
-
- private void RefreshRoutingsView()
- {
- lvRoutings.BeginUpdate();
- lvRoutings.Items.Clear();
-
- for (int k = 0; k < config.routings.Count; k++)
- {
- var item = config.routings[k];
- if (item.locked == true)
- {
- continue;
- }
-
- string def = string.Empty;
- if (config.routingIndex.Equals(k))
- {
- def = Global.CheckMark;
- }
-
- ListViewItem lvItem = new ListViewItem(def);
- Utils.AddSubItem(lvItem, "remarks", item.remarks);
- Utils.AddSubItem(lvItem, "count", item.rules.Count.ToString());
- Utils.AddSubItem(lvItem, "url", item.url);
- Utils.AddSubItem(lvItem, "customIcon", item.customIcon);
-
- if (lvItem != null) lvRoutings.Items.Add(lvItem);
- }
- lvRoutings.EndUpdate();
- }
-
-
- private void linkLabelRoutingDoc_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
- {
- System.Diagnostics.Process.Start("https://www.v2fly.org/config/routing.html");
- }
-
- private void lvRoutings_DoubleClick(object sender, EventArgs e)
- {
- int index = GetLvSelectedIndex();
- if (index < 0)
- {
- return;
- }
- var fm = new RoutingRuleSettingForm();
- fm.EditIndex = index;
- if (fm.ShowDialog() == DialogResult.OK)
- {
- RefreshRoutingsView();
- }
- }
-
- private int GetLvSelectedIndex()
- {
- int index = -1;
- _lvSelecteds.Clear();
- try
- {
- if (lvRoutings.SelectedIndices.Count <= 0)
- {
- UI.Show(ResUI.PleaseSelectRules);
- return index;
- }
-
- index = lvRoutings.SelectedIndices[0];
- foreach (int i in lvRoutings.SelectedIndices)
- {
- _lvSelecteds.Add(i);
- }
- return index;
- }
- catch
- {
- return index;
- }
- }
-
- #endregion
-
-
- #region Edit function
-
-
- private void menuSelectAll_Click(object sender, EventArgs e)
- {
- foreach (ListViewItem item in lvRoutings.Items)
- {
- item.Selected = true;
- }
- }
-
- private void menuAdd_Click(object sender, EventArgs e)
- {
- var fm = new RoutingRuleSettingForm();
- fm.EditIndex = -1;
- if (fm.ShowDialog() == DialogResult.OK)
- {
- RefreshRoutingsView();
- }
- }
-
- private void menuRemove_Click(object sender, EventArgs e)
- {
- int index = GetLvSelectedIndex();
- if (index < 0)
- {
- return;
- }
- if (UI.ShowYesNo(ResUI.RemoveRules) == DialogResult.No)
- {
- return;
- }
- for (int k = _lvSelecteds.Count - 1; k >= 0; k--)
- {
- config.routings.RemoveAt(index);
- }
- RefreshRoutingsView();
- }
- private void menuSetDefaultRouting_Click(object sender, EventArgs e)
- {
- int index = GetLvSelectedIndex();
- if (index < 0)
- {
- return;
- }
- SetDefaultRouting(index);
- }
- private int SetDefaultRouting(int index)
- {
- if (index < 0)
- {
- UI.Show(ResUI.PleaseSelectServer);
- return -1;
- }
- if (ConfigHandler.SetDefaultRouting(ref config, index) == 0)
- {
- RefreshRoutingsView();
- }
- return 0;
- }
-
- private void menuImportBasicRules_Click(object sender, EventArgs e)
- {
- //Extra to bypass the mainland
- txtProxyDomain.Text = "geosite:google";
- txtDirectDomain.Text = "geosite:cn";
- txtDirectIp.Text = "geoip:private,geoip:cn";
-
- txtBlockDomain.Text = "geosite:category-ads-all";
-
- UI.Show(ResUI.OperationSuccess);
- }
-
- private void menuImportAdvancedRules_Click(object sender, EventArgs e)
- {
- if (ConfigHandler.InitBuiltinRouting(ref config, true) == 0)
- {
- RefreshRoutingsView();
- }
- }
-
- #endregion
-
- }
-}
diff --git a/v2rayN/v2rayN/Forms/RoutingSettingForm.resx b/v2rayN/v2rayN/Forms/RoutingSettingForm.resx
deleted file mode 100644
index 98640e3f..00000000
--- a/v2rayN/v2rayN/Forms/RoutingSettingForm.resx
+++ /dev/null
@@ -1,1142 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
- NoControl
-
-
-
- 753, 17
-
-
- 75, 23
-
-
-
- 4
-
-
- &Cancel
-
-
- btnClose
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel2
-
-
- 1
-
-
- NoControl
-
-
- 5, 22
-
-
- 562, 16
-
-
- 34
-
-
- *Set the rules, separated by commas (,); The comma in the regular is replaced by <COMMA>
-
-
- labRoutingTips
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel2
-
-
- 0
-
-
- NoControl
-
-
- 660, 17
-
-
- 75, 23
-
-
- 5
-
-
- &OK
-
-
- btnOK
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel2
-
-
- 2
-
-
- Bottom
-
-
- 0, 613
-
-
- 853, 60
-
-
- 7
-
-
- panel2
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 3
-
-
- 681, 17
-
-
- 116, 20
-
-
- 28
-
-
- cmbdomainMatcher
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel1
-
-
- 0
-
-
- True
-
-
- NoControl
-
-
- 575, 21
-
-
- 89, 12
-
-
- 27
-
-
- Domain Matcher
-
-
- label6
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel1
-
-
- 1
-
-
- True
-
-
- NoControl
-
-
- 318, 17
-
-
- 216, 16
-
-
- 26
-
-
- Enable advanced routing function
-
-
- chkenableRoutingAdvanced
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel1
-
-
- 2
-
-
- True
-
-
- NoControl
-
-
- 6, 21
-
-
- 0, 0, 0, 0
-
-
- 95, 12
-
-
- 19
-
-
- Domain strategy
-
-
- linkLabelRoutingDoc
-
-
- System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel1
-
-
- 3
-
-
- AsIs
-
-
- IPIfNonMatch
-
-
- IPOnDemand
-
-
- 116, 17
-
-
- 165, 20
-
-
- 16
-
-
- cmbdomainStrategy
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel1
-
-
- 4
-
-
- Top
-
-
- 0, 25
-
-
- 853, 51
-
-
- 11
-
-
- panel1
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 2
-
-
- 17, 17
-
-
- 212, 22
-
-
- Add
-
-
- 212, 22
-
-
- Remove selected
-
-
- 212, 22
-
-
- Select All (Ctrl+A)
-
-
- 212, 22
-
-
- Set as active routing
-
-
- 209, 6
-
-
- 212, 22
-
-
- Import Advanced Rules
-
-
- 129, 21
-
-
- Advanced Function
-
-
- 213, 120
-
-
- cmsLv
-
-
- System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 139, 17
-
-
- 185, 22
-
-
- Import Basic Rules
-
-
- 102, 21
-
-
- Basic Function
-
-
- 0, 0
-
-
- 853, 25
-
-
- 15
-
-
- menuServer
-
-
- System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 4
-
-
- Fill
-
-
- 3, 17
-
-
- True
-
-
- Vertical
-
-
- 441, 485
-
-
- 25
-
-
- txtProxyIp
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox5
-
-
- 0
-
-
- Fill
-
-
- 392, 0
-
-
- 447, 505
-
-
- 4
-
-
- IP
-
-
- groupBox5
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel5
-
-
- 0
-
-
- Fill
-
-
- 3, 17
-
-
- True
-
-
- Vertical
-
-
- 386, 485
-
-
- 24
-
-
- txtProxyDomain
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox6
-
-
- 0
-
-
- Left
-
-
- 0, 0
-
-
- 392, 505
-
-
- 3
-
-
- Domain
-
-
- groupBox6
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel5
-
-
- 1
-
-
- Fill
-
-
- 3, 3
-
-
- 839, 505
-
-
- 12
-
-
- panel5
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPageProxy
-
-
- 0
-
-
- 4, 22
-
-
- 3, 3, 3, 3
-
-
- 845, 511
-
-
- 0
-
-
- 1.Proxy Domain or IP
-
-
- tabPageProxy
-
-
- System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabNormal
-
-
- 0
-
-
- Fill
-
-
- 3, 17
-
-
- True
-
-
- Vertical
-
-
- 441, 485
-
-
- 25
-
-
- txtDirectIp
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox3
-
-
- 0
-
-
- Fill
-
-
- 392, 0
-
-
- 447, 505
-
-
- 4
-
-
- IP
-
-
- groupBox3
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel4
-
-
- 0
-
-
- Fill
-
-
- 3, 17
-
-
- True
-
-
- Vertical
-
-
- 386, 485
-
-
- 24
-
-
- txtDirectDomain
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox4
-
-
- 0
-
-
- Left
-
-
- 0, 0
-
-
- 392, 505
-
-
- 3
-
-
- Domain
-
-
- groupBox4
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel4
-
-
- 1
-
-
- Fill
-
-
- 3, 3
-
-
- 839, 505
-
-
- 12
-
-
- panel4
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPageDirect
-
-
- 0
-
-
- 4, 22
-
-
- 3, 3, 3, 3
-
-
- 845, 511
-
-
- 1
-
-
- 2.Direct Domain or IP
-
-
- tabPageDirect
-
-
- System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabNormal
-
-
- 1
-
-
- Fill
-
-
- 3, 17
-
-
- True
-
-
- Vertical
-
-
- 441, 485
-
-
- 25
-
-
- txtBlockIp
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 0
-
-
- Fill
-
-
- 392, 0
-
-
- 447, 505
-
-
- 4
-
-
- IP
-
-
- groupBox2
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel3
-
-
- 0
-
-
- Fill
-
-
- 3, 17
-
-
- True
-
-
- Vertical
-
-
- 386, 485
-
-
- 24
-
-
- txtBlockDomain
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 0
-
-
- Left
-
-
- 0, 0
-
-
- 392, 505
-
-
- 3
-
-
- Domain
-
-
- groupBox1
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel3
-
-
- 1
-
-
- Fill
-
-
- 3, 3
-
-
- 839, 505
-
-
- 12
-
-
- panel3
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabPageBlock
-
-
- 0
-
-
- 4, 22
-
-
- 3, 3, 3, 3
-
-
- 845, 511
-
-
- 2
-
-
- 3.Block Domain or IP
-
-
- tabPageBlock
-
-
- System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabNormal
-
-
- 2
-
-
- Fill
-
-
-
- AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
- LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkMAwAAAFFTeXN0
- ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2Vu
- PWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACFTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0l0ZW0HAAAA
- BFRleHQKSW1hZ2VJbmRleAlCYWNrQ29sb3IHQ2hlY2tlZARGb250CUZvcmVDb2xvchdVc2VJdGVtU3R5
- bGVGb3JTdWJJdGVtcwEABAAEBAAIFFN5c3RlbS5EcmF3aW5nLkNvbG9yAwAAAAETU3lzdGVtLkRyYXdp
- bmcuRm9udAMAAAAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAAQIAAAAGBAAAAAD/////Bfv///8UU3lz
- dGVtLkRyYXdpbmcuQ29sb3IEAAAABG5hbWUFdmFsdWUKa25vd25Db2xvcgVzdGF0ZQEAAAAJBwcDAAAA
- CgAAAAAAAAAAGAABAAAJBgAAAAH5////+////woAAAAAAAAAABoAAQABBQYAAAATU3lzdGVtLkRyYXdp
- bmcuRm9udAQAAAAETmFtZQRTaXplBVN0eWxlBFVuaXQBAAQECxhTeXN0ZW0uRHJhd2luZy5Gb250U3R5
- bGUDAAAAG1N5c3RlbS5EcmF3aW5nLkdyYXBoaWNzVW5pdAMAAAADAAAABggAAAAG5a6L5L2TAAAQQQX3
- ////GFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQEAAAAHdmFsdWVfXwAIAwAAAAAAAAAF9v///xtTeXN0
- ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
-
-
-
- 3, 3
-
-
- 839, 505
-
-
- 15
-
-
- lvRoutings
-
-
- v2rayN.Base.ListViewFlickerFree, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
-
-
- tabPageRuleList
-
-
- 0
-
-
- 4, 22
-
-
- 3, 3, 3, 3
-
-
- 845, 511
-
-
- 3
-
-
- Pre-defined Rule Set List
-
-
- tabPageRuleList
-
-
- System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tabNormal
-
-
- 3
-
-
- Fill
-
-
- 0, 76
-
-
- 853, 537
-
-
- 16
-
-
- tabNormal
-
-
- System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 1
-
-
- True
-
-
- 6, 12
-
-
- 853, 673
-
-
- Routing Settings
-
-
- menuAdd
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuRemove
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuSelectAll
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuSetDefaultRouting
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- toolStripSeparator1
-
-
- System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuImportAdvancedRules
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- MenuItemAdvanced
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- MenuItemBasic
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- menuImportBasicRules
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- RoutingSettingForm
-
-
- v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/RoutingSettingForm.zh-Hans.resx b/v2rayN/v2rayN/Forms/RoutingSettingForm.zh-Hans.resx
deleted file mode 100644
index fe451130..00000000
--- a/v2rayN/v2rayN/Forms/RoutingSettingForm.zh-Hans.resx
+++ /dev/null
@@ -1,315 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
- 691, 17
-
-
- 取消(&C)
-
-
- 0, 545
-
-
- 817, 60
-
-
- 518, 16
-
-
- *设置的路由规则,用逗号(,)分隔;正则中的逗号用<COMMA>替代
-
-
- 598, 17
-
-
- 确定(&O)
-
-
- 817, 51
-
-
- 77, 12
-
-
- 域名匹配算法
-
-
- 120, 16
-
-
- 启用路由高级功能
-
-
- 77, 12
-
-
- 域名解析策略
-
-
- 149, 114
-
-
- 148, 22
-
-
- 添加规则集
-
-
- 148, 22
-
-
- 移除所选规则
-
-
- 148, 22
-
-
- 全选
-
-
- 148, 22
-
-
- 设为活动路由
-
-
- 68, 21
-
-
- 高级功能
-
-
- 817, 25
-
-
- 68, 21
-
-
- 基础功能
-
-
- 180, 22
-
-
- 一键导入基础规则
-
-
- 817, 469
-
-
- 809, 443
-
-
- 1.代理的Domain或IP
-
-
- 803, 437
-
-
- 411, 437
-
-
- 405, 417
-
-
- 392, 437
-
-
- 386, 417
-
-
- 809, 443
-
-
- 2.直连的Domain或IP
-
-
- 803, 437
-
-
- 411, 437
-
-
- 405, 417
-
-
- 392, 437
-
-
- 386, 417
-
-
- 809, 443
-
-
- 3.阻止的Domain或IP
-
-
- 803, 437
-
-
- 411, 437
-
-
- 405, 417
-
-
- 392, 437
-
-
- 386, 417
-
-
- 809, 443
-
-
- 预定义规则集列表
-
-
-
- AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
- LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkMAwAAAFFTeXN0
- ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2Vu
- PWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACFTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0l0ZW0HAAAA
- BFRleHQKSW1hZ2VJbmRleAlCYWNrQ29sb3IHQ2hlY2tlZARGb250CUZvcmVDb2xvchdVc2VJdGVtU3R5
- bGVGb3JTdWJJdGVtcwEABAAEBAAIFFN5c3RlbS5EcmF3aW5nLkNvbG9yAwAAAAETU3lzdGVtLkRyYXdp
- bmcuRm9udAMAAAAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAAQIAAAAGBAAAAAD/////Bfv///8UU3lz
- dGVtLkRyYXdpbmcuQ29sb3IEAAAABG5hbWUFdmFsdWUKa25vd25Db2xvcgVzdGF0ZQEAAAAJBwcDAAAA
- CgAAAAAAAAAAGAABAAAJBgAAAAH5////+////woAAAAAAAAAABoAAQABBQYAAAATU3lzdGVtLkRyYXdp
- bmcuRm9udAQAAAAETmFtZQRTaXplBVN0eWxlBFVuaXQBAAQECxhTeXN0ZW0uRHJhd2luZy5Gb250U3R5
- bGUDAAAAG1N5c3RlbS5EcmF3aW5nLkdyYXBoaWNzVW5pdAMAAAADAAAABggAAAAG5a6L5L2TAAAQQQX3
- ////GFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQEAAAAHdmFsdWVfXwAIAwAAAAAAAAAF9v///xtTeXN0
- ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
-
-
-
- 803, 437
-
-
- 一键导入高级规则
-
-
- 817, 605
-
-
- 路由设置
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/ServerTransportControl.Designer.cs b/v2rayN/v2rayN/Forms/ServerTransportControl.Designer.cs
deleted file mode 100644
index e0c63606..00000000
--- a/v2rayN/v2rayN/Forms/ServerTransportControl.Designer.cs
+++ /dev/null
@@ -1,268 +0,0 @@
-namespace v2rayN.Forms
-{
- partial class ServerTransportControl
- {
- ///
- /// 必需的设计器变量。
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// 清理所有正在使用的资源。
- ///
- /// 如果应释放托管资源,为 true;否则为 false。
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region 组件设计器生成的代码
-
- ///
- /// 设计器支持所需的方法 - 不要修改
- /// 使用代码编辑器修改此方法的内容。
- ///
- private void InitializeComponent()
- {
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ServerTransportControl));
- this.gbTransport = new System.Windows.Forms.GroupBox();
- this.panTlsMore = new System.Windows.Forms.Panel();
- this.labfingerprint = new System.Windows.Forms.Label();
- this.cmbFingerprint = new System.Windows.Forms.ComboBox();
- this.clbAlpn = new System.Windows.Forms.CheckedListBox();
- this.label1 = new System.Windows.Forms.Label();
- this.txtSNI = new System.Windows.Forms.TextBox();
- this.labSNI = new System.Windows.Forms.Label();
- this.labAllowInsecure = new System.Windows.Forms.Label();
- this.cmbAllowInsecure = new System.Windows.Forms.ComboBox();
- this.tipNetwork = new System.Windows.Forms.Label();
- this.txtPath = new System.Windows.Forms.TextBox();
- this.cmbNetwork = new System.Windows.Forms.ComboBox();
- this.labNetwork = new System.Windows.Forms.Label();
- this.labPath = new System.Windows.Forms.Label();
- this.tipPath = new System.Windows.Forms.Label();
- this.tipRequestHost = new System.Windows.Forms.Label();
- this.labStreamSecurity = new System.Windows.Forms.Label();
- this.cmbStreamSecurity = new System.Windows.Forms.ComboBox();
- this.tipHeaderType = new System.Windows.Forms.Label();
- this.txtRequestHost = new System.Windows.Forms.TextBox();
- this.labHeaderType = new System.Windows.Forms.Label();
- this.labRequestHost = new System.Windows.Forms.Label();
- this.cmbHeaderType = new System.Windows.Forms.ComboBox();
- this.gbTransport.SuspendLayout();
- this.panTlsMore.SuspendLayout();
- this.SuspendLayout();
- //
- // gbTransport
- //
- resources.ApplyResources(this.gbTransport, "gbTransport");
- this.gbTransport.Controls.Add(this.panTlsMore);
- this.gbTransport.Controls.Add(this.tipNetwork);
- this.gbTransport.Controls.Add(this.txtPath);
- this.gbTransport.Controls.Add(this.cmbNetwork);
- this.gbTransport.Controls.Add(this.labNetwork);
- this.gbTransport.Controls.Add(this.labPath);
- this.gbTransport.Controls.Add(this.tipPath);
- this.gbTransport.Controls.Add(this.tipRequestHost);
- this.gbTransport.Controls.Add(this.labStreamSecurity);
- this.gbTransport.Controls.Add(this.cmbStreamSecurity);
- this.gbTransport.Controls.Add(this.tipHeaderType);
- this.gbTransport.Controls.Add(this.txtRequestHost);
- this.gbTransport.Controls.Add(this.labHeaderType);
- this.gbTransport.Controls.Add(this.labRequestHost);
- this.gbTransport.Controls.Add(this.cmbHeaderType);
- this.gbTransport.Name = "gbTransport";
- this.gbTransport.TabStop = false;
- //
- // panTlsMore
- //
- resources.ApplyResources(this.panTlsMore, "panTlsMore");
- this.panTlsMore.Controls.Add(this.labfingerprint);
- this.panTlsMore.Controls.Add(this.cmbFingerprint);
- this.panTlsMore.Controls.Add(this.clbAlpn);
- this.panTlsMore.Controls.Add(this.label1);
- this.panTlsMore.Controls.Add(this.txtSNI);
- this.panTlsMore.Controls.Add(this.labSNI);
- this.panTlsMore.Controls.Add(this.labAllowInsecure);
- this.panTlsMore.Controls.Add(this.cmbAllowInsecure);
- this.panTlsMore.Name = "panTlsMore";
- //
- // labfingerprint
- //
- resources.ApplyResources(this.labfingerprint, "labfingerprint");
- this.labfingerprint.Name = "labfingerprint";
- //
- // cmbFingerprint
- //
- resources.ApplyResources(this.cmbFingerprint, "cmbFingerprint");
- this.cmbFingerprint.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cmbFingerprint.FormattingEnabled = true;
- this.cmbFingerprint.Name = "cmbFingerprint";
- //
- // clbAlpn
- //
- resources.ApplyResources(this.clbAlpn, "clbAlpn");
- this.clbAlpn.CheckOnClick = true;
- 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";
- //
- // label1
- //
- resources.ApplyResources(this.label1, "label1");
- this.label1.Name = "label1";
- //
- // txtSNI
- //
- resources.ApplyResources(this.txtSNI, "txtSNI");
- this.txtSNI.Name = "txtSNI";
- //
- // labSNI
- //
- resources.ApplyResources(this.labSNI, "labSNI");
- this.labSNI.Name = "labSNI";
- //
- // labAllowInsecure
- //
- resources.ApplyResources(this.labAllowInsecure, "labAllowInsecure");
- this.labAllowInsecure.Name = "labAllowInsecure";
- //
- // cmbAllowInsecure
- //
- resources.ApplyResources(this.cmbAllowInsecure, "cmbAllowInsecure");
- this.cmbAllowInsecure.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cmbAllowInsecure.FormattingEnabled = true;
- this.cmbAllowInsecure.Items.AddRange(new object[] {
- resources.GetString("cmbAllowInsecure.Items"),
- resources.GetString("cmbAllowInsecure.Items1"),
- resources.GetString("cmbAllowInsecure.Items2")});
- this.cmbAllowInsecure.Name = "cmbAllowInsecure";
- //
- // tipNetwork
- //
- resources.ApplyResources(this.tipNetwork, "tipNetwork");
- this.tipNetwork.Name = "tipNetwork";
- //
- // txtPath
- //
- resources.ApplyResources(this.txtPath, "txtPath");
- this.txtPath.Name = "txtPath";
- //
- // cmbNetwork
- //
- resources.ApplyResources(this.cmbNetwork, "cmbNetwork");
- this.cmbNetwork.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cmbNetwork.FormattingEnabled = true;
- this.cmbNetwork.Name = "cmbNetwork";
- this.cmbNetwork.SelectedIndexChanged += new System.EventHandler(this.cmbNetwork_SelectedIndexChanged);
- //
- // labNetwork
- //
- resources.ApplyResources(this.labNetwork, "labNetwork");
- this.labNetwork.Name = "labNetwork";
- //
- // labPath
- //
- resources.ApplyResources(this.labPath, "labPath");
- this.labPath.Name = "labPath";
- //
- // tipPath
- //
- resources.ApplyResources(this.tipPath, "tipPath");
- this.tipPath.Name = "tipPath";
- //
- // tipRequestHost
- //
- resources.ApplyResources(this.tipRequestHost, "tipRequestHost");
- this.tipRequestHost.Name = "tipRequestHost";
- //
- // labStreamSecurity
- //
- resources.ApplyResources(this.labStreamSecurity, "labStreamSecurity");
- this.labStreamSecurity.Name = "labStreamSecurity";
- //
- // cmbStreamSecurity
- //
- resources.ApplyResources(this.cmbStreamSecurity, "cmbStreamSecurity");
- this.cmbStreamSecurity.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cmbStreamSecurity.FormattingEnabled = true;
- this.cmbStreamSecurity.Name = "cmbStreamSecurity";
- this.cmbStreamSecurity.SelectedIndexChanged += new System.EventHandler(this.cmbStreamSecurity_SelectedIndexChanged);
- //
- // tipHeaderType
- //
- resources.ApplyResources(this.tipHeaderType, "tipHeaderType");
- this.tipHeaderType.Name = "tipHeaderType";
- //
- // txtRequestHost
- //
- resources.ApplyResources(this.txtRequestHost, "txtRequestHost");
- this.txtRequestHost.Name = "txtRequestHost";
- //
- // labHeaderType
- //
- resources.ApplyResources(this.labHeaderType, "labHeaderType");
- this.labHeaderType.Name = "labHeaderType";
- //
- // labRequestHost
- //
- resources.ApplyResources(this.labRequestHost, "labRequestHost");
- this.labRequestHost.Name = "labRequestHost";
- //
- // cmbHeaderType
- //
- resources.ApplyResources(this.cmbHeaderType, "cmbHeaderType");
- this.cmbHeaderType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cmbHeaderType.FormattingEnabled = true;
- this.cmbHeaderType.Name = "cmbHeaderType";
- //
- // ServerTransportControl
- //
- resources.ApplyResources(this, "$this");
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.Controls.Add(this.gbTransport);
- this.Name = "ServerTransportControl";
- this.Load += new System.EventHandler(this.ServerTransportControl_Load);
- this.gbTransport.ResumeLayout(false);
- this.gbTransport.PerformLayout();
- this.panTlsMore.ResumeLayout(false);
- this.panTlsMore.PerformLayout();
- this.ResumeLayout(false);
-
- }
-
- #endregion
-
- private System.Windows.Forms.GroupBox gbTransport;
- private System.Windows.Forms.Panel panTlsMore;
- private System.Windows.Forms.TextBox txtSNI;
- private System.Windows.Forms.Label labSNI;
- private System.Windows.Forms.Label labAllowInsecure;
- private System.Windows.Forms.ComboBox cmbAllowInsecure;
- private System.Windows.Forms.Label tipNetwork;
- private System.Windows.Forms.TextBox txtPath;
- private System.Windows.Forms.ComboBox cmbNetwork;
- private System.Windows.Forms.Label labNetwork;
- private System.Windows.Forms.Label labPath;
- private System.Windows.Forms.Label tipPath;
- private System.Windows.Forms.Label tipRequestHost;
- private System.Windows.Forms.Label labStreamSecurity;
- private System.Windows.Forms.ComboBox cmbStreamSecurity;
- private System.Windows.Forms.Label tipHeaderType;
- private System.Windows.Forms.TextBox txtRequestHost;
- private System.Windows.Forms.Label labHeaderType;
- private System.Windows.Forms.Label labRequestHost;
- private System.Windows.Forms.ComboBox cmbHeaderType;
- private System.Windows.Forms.Label label1;
- private System.Windows.Forms.CheckedListBox clbAlpn;
- private System.Windows.Forms.Label labfingerprint;
- private System.Windows.Forms.ComboBox cmbFingerprint;
- }
-}
diff --git a/v2rayN/v2rayN/Forms/ServerTransportControl.cs b/v2rayN/v2rayN/Forms/ServerTransportControl.cs
deleted file mode 100644
index ae9243a7..00000000
--- a/v2rayN/v2rayN/Forms/ServerTransportControl.cs
+++ /dev/null
@@ -1,210 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Windows.Forms;
-using v2rayN.Mode;
-using v2rayN.Resx;
-
-namespace v2rayN.Forms
-{
- public partial class ServerTransportControl : UserControl
- {
- public bool AllowXtls { get; set; }
- private VmessItem vmessItem;
-
- public ServerTransportControl()
- {
- InitializeComponent();
- }
- private void ServerTransportControl_Load(object sender, EventArgs e)
- {
- }
-
- private void Init(VmessItem item)
- {
- vmessItem = item;
-
- cmbNetwork.Items.AddRange(Global.networks.ToArray());
-
- cmbStreamSecurity.Items.Clear();
- cmbStreamSecurity.Items.Add(string.Empty);
- cmbStreamSecurity.Items.Add(Global.StreamSecurity);
- if (AllowXtls)
- {
- cmbStreamSecurity.Items.Add(Global.StreamSecurityX);
- }
- cmbFingerprint.Items.AddRange(Global.fingerprints.ToArray());
- }
-
- public void BindingServer(VmessItem item)
- {
- Init(item);
-
- cmbNetwork.Text = vmessItem.network;
- cmbHeaderType.Text = vmessItem.headerType;
- txtRequestHost.Text = vmessItem.requestHost;
- txtPath.Text = vmessItem.path;
- cmbStreamSecurity.Text = vmessItem.streamSecurity;
- cmbAllowInsecure.Text = vmessItem.allowInsecure;
- txtSNI.Text = vmessItem.sni;
- cmbFingerprint.Text = vmessItem.fingerprint;
-
- 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)
- {
- Init(item);
-
- cmbNetwork.Text = Global.DefaultNetwork;
- cmbHeaderType.Text = Global.None;
- txtRequestHost.Text = "";
- cmbStreamSecurity.Text = "";
- cmbAllowInsecure.Text = "";
- txtPath.Text = "";
- txtSNI.Text = "";
- cmbFingerprint.Text = "";
- for (int i = 0; i < clbAlpn.Items.Count; i++)
- {
- clbAlpn.SetItemChecked(i, false);
- }
- }
-
- public void EndBindingServer()
- {
- string network = cmbNetwork.Text;
- string headerType = cmbHeaderType.Text;
- string requestHost = txtRequestHost.Text;
- string path = txtPath.Text;
- string streamSecurity = cmbStreamSecurity.Text;
- string allowInsecure = cmbAllowInsecure.Text;
- string sni = txtSNI.Text;
- string fingerprint = cmbFingerprint.Text;
-
- vmessItem.network = network;
- vmessItem.headerType = headerType;
- vmessItem.requestHost = requestHost.Replace(" ", "");
- vmessItem.path = path.Replace(" ", "");
- vmessItem.streamSecurity = streamSecurity;
- vmessItem.allowInsecure = allowInsecure;
- vmessItem.sni = sni;
- vmessItem.fingerprint = fingerprint;
-
- var alpn = new List();
- 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)
- {
- SetHeaderType();
- SetTips();
- }
-
- private void SetHeaderType()
- {
- cmbHeaderType.Items.Clear();
-
- string network = cmbNetwork.Text;
- if (Utils.IsNullOrEmpty(network))
- {
- cmbHeaderType.Items.Add(Global.None);
- return;
- }
-
- if (network.Equals(Global.DefaultNetwork))
- {
- cmbHeaderType.Items.Add(Global.None);
- cmbHeaderType.Items.Add(Global.TcpHeaderHttp);
- }
- else if (network.Equals("kcp") || network.Equals("quic"))
- {
- cmbHeaderType.Items.Add(Global.None);
- cmbHeaderType.Items.AddRange(Global.kcpHeaderTypes.ToArray());
- }
- else if (network.Equals("grpc"))
- {
- cmbHeaderType.Items.Add(Global.GrpcgunMode);
- cmbHeaderType.Items.Add(Global.GrpcmultiMode);
- }
- else
- {
- cmbHeaderType.Items.Add(Global.None);
- }
- cmbHeaderType.SelectedIndex = 0;
- }
-
- private void SetTips()
- {
- string network = cmbNetwork.Text;
- if (Utils.IsNullOrEmpty(network))
- {
- network = Global.DefaultNetwork;
- }
- labHeaderType.Visible = true;
- tipRequestHost.Text =
- tipPath.Text =
- tipHeaderType.Text = string.Empty;
-
- if (network.Equals(Global.DefaultNetwork))
- {
- tipRequestHost.Text = ResUI.TransportRequestHostTip1;
- tipHeaderType.Text = ResUI.TransportHeaderTypeTip1;
- }
- else if (network.Equals("kcp"))
- {
- tipHeaderType.Text = ResUI.TransportHeaderTypeTip2;
- tipPath.Text = ResUI.TransportPathTip5;
- }
- else if (network.Equals("ws"))
- {
- tipRequestHost.Text = ResUI.TransportRequestHostTip2;
- tipPath.Text = ResUI.TransportPathTip1;
- }
- else if (network.Equals("h2"))
- {
- tipRequestHost.Text = ResUI.TransportRequestHostTip3;
- tipPath.Text = ResUI.TransportPathTip2;
- }
- else if (network.Equals("quic"))
- {
- tipRequestHost.Text = ResUI.TransportRequestHostTip4;
- tipPath.Text = ResUI.TransportPathTip3;
- tipHeaderType.Text = ResUI.TransportHeaderTypeTip3;
- }
- else if (network.Equals("grpc"))
- {
- tipPath.Text = ResUI.TransportPathTip4;
- tipHeaderType.Text = ResUI.TransportHeaderTypeTip4;
- labHeaderType.Visible = false;
- }
- }
-
- private void cmbStreamSecurity_SelectedIndexChanged(object sender, EventArgs e)
- {
- string security = cmbStreamSecurity.Text;
- if (Utils.IsNullOrEmpty(security))
- {
- panTlsMore.Hide();
- }
- else
- {
- panTlsMore.Show();
- }
- }
- }
-}
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/ServerTransportControl.resx b/v2rayN/v2rayN/Forms/ServerTransportControl.resx
deleted file mode 100644
index 8bbb1bf5..00000000
--- a/v2rayN/v2rayN/Forms/ServerTransportControl.resx
+++ /dev/null
@@ -1,867 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
- True
-
-
-
- 12, 200
-
-
- Camouflage domain(host)
-
-
- 127, 15
-
-
- 0
-
-
- panTlsMore
-
-
- gbTransport
-
-
- gbTransport
-
-
- gbTransport
-
-
-
- NoControl
-
-
- alpn
-
-
- System.Windows.Forms.CheckedListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Camouflage type
-
-
- panTlsMore
-
-
- 46
-
-
- 4, 0, 4, 0
-
-
- 12, 120
-
-
- tipPath
-
-
- 189, 23
-
-
- NoControl
-
-
- 17
-
-
- true
-
-
- false
-
-
- True
-
-
- True
-
-
- 15, 15
-
-
- 267, 186
-
-
- cmbNetwork
-
-
- labRequestHost
-
-
- 964, 325
-
-
- panTlsMore
-
-
- True
-
-
- TLS
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- cmbStreamSecurity
-
-
- panTlsMore
-
-
- 44
-
-
- gbTransport
-
-
- 4, 4, 4, 4
-
-
- 13
-
-
- 16, 54
-
-
- label1
-
-
- 191, 15
-
-
- 2
-
-
- Fill
-
-
- gbTransport
-
-
- 4, 4, 4, 4
-
-
- 0
-
-
- 4, 0, 4, 0
-
-
- 964, 325
-
-
- txtRequestHost
-
-
- 189, 23
-
-
- 133, 9
-
-
- gbTransport
-
-
- 7
-
-
- 12, 160
-
-
- 8
-
-
- 133, 49
-
-
- cmbAllowInsecure
-
-
- ServerTransportControl
-
-
- 13
-
-
- 111, 15
-
-
- 0, 0
-
-
- allowInsecure
-
-
- 1
-
-
- 15, 15
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 4, 0, 4, 0
-
-
- NoControl
-
-
- 172, 90
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- True
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- gbTransport
-
-
- 7
-
-
- labAllowInsecure
-
-
- labSNI
-
-
- 667, 131
-
-
- 4, 4, 4, 4
-
-
- 4, 0, 4, 0
-
-
- 31
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 321, 14
-
-
- 15, 15
-
-
- 4, 0, 4, 0
-
-
- True
-
-
- 0
-
-
- 1
-
-
- 39, 15
-
-
- 5
-
-
- 211, 115
-
-
- gbTransport
-
-
- h2
-
-
- NoControl
-
-
- cmbFingerprint
-
-
- 4, 0, 4, 0
-
-
- gbTransport
-
-
- 12, 80
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- labPath
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- NoControl
-
-
- tipNetwork
-
-
- gbTransport
-
-
- gbTransport
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 79, 23
-
-
- 19
-
-
- 169, 195
-
-
- $this
-
-
- 4, 0, 4, 0
-
-
- 8, 15
-
-
- 22
-
-
- 169, 155
-
-
- 16, 95
-
-
- 151, 15
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 256, 35
-
-
- Transport protocol(network)
-
-
- 39, 15
-
-
- 31, 15
-
-
- 10
-
-
- 27
-
-
- True
-
-
- NoControl
-
-
- 169, 75
-
-
- gbTransport
-
-
- 70
-
-
- System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 4, 0, 4, 0
-
-
- gbTransport
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 2
-
-
- panTlsMore
-
-
- 24
-
-
- True
-
-
- 4, 4, 4, 4
-
-
- clbAlpn
-
-
- SNI
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 3
-
-
- True
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tipRequestHost
-
-
- True
-
-
- 6
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- labfingerprint
-
-
- NoControl
-
-
- labStreamSecurity
-
-
- http/1.1
-
-
- txtSNI
-
-
- txtPath
-
-
- True
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- NoControl
-
-
- 4, 0, 4, 0
-
-
- gbTransport
-
-
- 12
-
-
- 45
-
-
- NoControl
-
-
- 2
-
-
- panTlsMore
-
-
- 239, 24
-
-
- 407, 9
-
-
- Path
-
-
- 189, 23
-
-
- *
-
-
- Transport
-
-
- 1
-
-
- 4, 0, 4, 0
-
-
- tipHeaderType
-
-
- *
-
-
- True
-
-
- 15
-
-
- 4, 4, 4, 4
-
-
- panTlsMore
-
-
- 4, 4, 4, 4
-
-
- 31, 15
-
-
- 1
-
-
- 4, 4, 4, 4
-
-
- 4, 4, 4, 4
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 223, 15
-
-
- 619, 120
-
-
- fingerprint(uTLS)
-
-
- 6
-
-
- 143, 15
-
-
- 105, 23
-
-
- 4, 4, 4, 4
-
-
- 3
-
-
- True
-
-
- 4, 4, 4, 4
-
-
- gbTransport
-
-
- 9
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 4, 0, 4, 0
-
-
- 33
-
-
- 16, 14
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 705, 160
-
-
- 12, 40
-
-
- 4, 4, 4, 4
-
-
- NoControl
-
-
- 14
-
-
- True
-
-
- 11
-
-
- *
-
-
- 4, 0, 4, 0
-
-
- 5
-
-
- NoControl
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 512, 25
-
-
- 0
-
-
- 4
-
-
- gbTransport
-
-
- 32
-
-
-
-
-
- cmbHeaderType
-
-
- 4
-
-
- 4
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 23
-
-
- 376, 80
-
-
- 22
-
-
- panTlsMore
-
-
- labNetwork
-
-
- 20
-
-
- 3
-
-
- NoControl
-
-
- 399, 24
-
-
- 4, 4, 4, 4
-
-
- 527, 24
-
-
- NoControl
-
-
- 5
-
-
- panTlsMore
-
-
- labHeaderType
-
-
- 43
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 467, 40
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- *Default value tcp
-
-
- 4, 0, 4, 0
-
-
- True
-
-
- 4, 4, 4, 4
-
-
- True
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/ServerTransportControl.zh-Hans.resx b/v2rayN/v2rayN/Forms/ServerTransportControl.zh-Hans.resx
deleted file mode 100644
index 4ef44255..00000000
--- a/v2rayN/v2rayN/Forms/ServerTransportControl.zh-Hans.resx
+++ /dev/null
@@ -1,193 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
- 182, 15
-
-
- *默认tcp,选错会无法连接
-
-
- 169, 36
-
-
- 290, 23
-
-
- 139, 15
-
-
- 传输协议(network)
-
-
- 85, 15
-
-
- 路径(path)
-
-
- 122, 15
-
-
- 传输层安全(tls)
-
-
- 169, 117
-
-
- 442, 20
-
-
- 115, 15
-
-
- 伪装类型(type)
-
-
- 115, 15
-
-
- 伪装域名(host)
-
-
- 底层传输方式(transport)
-
-
- 427, 9
-
-
- 208, 24
-
-
- 378, 14
-
-
- 391, 25
-
-
- 217, 15
-
-
- 跳过证书验证(allowInsecure)
-
-
- 247, 10
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/SubSettingControl.Designer.cs b/v2rayN/v2rayN/Forms/SubSettingControl.Designer.cs
deleted file mode 100644
index bff96482..00000000
--- a/v2rayN/v2rayN/Forms/SubSettingControl.Designer.cs
+++ /dev/null
@@ -1,170 +0,0 @@
-namespace v2rayN.Forms
-{
- partial class SubSettingControl
- {
- ///
- /// 必需的设计器变量。
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// 清理所有正在使用的资源。
- ///
- /// 如果应释放托管资源,为 true;否则为 false。
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region 组件设计器生成的代码
-
- ///
- /// 设计器支持所需的方法 - 不要修改
- /// 使用代码编辑器修改此方法的内容。
- ///
- private void InitializeComponent()
- {
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SubSettingControl));
- this.grbMain = new System.Windows.Forms.GroupBox();
- this.label4 = new System.Windows.Forms.Label();
- this.cmbGroup = new System.Windows.Forms.ComboBox();
- this.txtUserAgent = new System.Windows.Forms.TextBox();
- this.label1 = new System.Windows.Forms.Label();
- this.btnShare = new System.Windows.Forms.Button();
- this.chkEnabled = new System.Windows.Forms.CheckBox();
- this.btnRemove = new System.Windows.Forms.Button();
- this.txtUrl = new System.Windows.Forms.TextBox();
- this.txtRemarks = new System.Windows.Forms.TextBox();
- this.label2 = new System.Windows.Forms.Label();
- this.label3 = new System.Windows.Forms.Label();
- this.picQRCode = new System.Windows.Forms.PictureBox();
- this.grbMain.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.picQRCode)).BeginInit();
- this.SuspendLayout();
- //
- // grbMain
- //
- resources.ApplyResources(this.grbMain, "grbMain");
- this.grbMain.Controls.Add(this.label4);
- this.grbMain.Controls.Add(this.cmbGroup);
- this.grbMain.Controls.Add(this.txtUserAgent);
- this.grbMain.Controls.Add(this.label1);
- this.grbMain.Controls.Add(this.btnShare);
- this.grbMain.Controls.Add(this.chkEnabled);
- this.grbMain.Controls.Add(this.btnRemove);
- this.grbMain.Controls.Add(this.txtUrl);
- this.grbMain.Controls.Add(this.txtRemarks);
- this.grbMain.Controls.Add(this.label2);
- this.grbMain.Controls.Add(this.label3);
- this.grbMain.Name = "grbMain";
- this.grbMain.TabStop = false;
- //
- // label4
- //
- resources.ApplyResources(this.label4, "label4");
- this.label4.Name = "label4";
- //
- // cmbGroup
- //
- resources.ApplyResources(this.cmbGroup, "cmbGroup");
- this.cmbGroup.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cmbGroup.FormattingEnabled = true;
- this.cmbGroup.Name = "cmbGroup";
- this.cmbGroup.Leave += new System.EventHandler(this.txtRemarks_Leave);
- //
- // 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
- //
- resources.ApplyResources(this.btnShare, "btnShare");
- this.btnShare.Name = "btnShare";
- this.btnShare.UseVisualStyleBackColor = true;
- this.btnShare.Click += new System.EventHandler(this.btnShare_Click);
- //
- // chkEnabled
- //
- resources.ApplyResources(this.chkEnabled, "chkEnabled");
- this.chkEnabled.Name = "chkEnabled";
- this.chkEnabled.UseVisualStyleBackColor = true;
- this.chkEnabled.Leave += new System.EventHandler(this.txtRemarks_Leave);
- //
- // btnRemove
- //
- resources.ApplyResources(this.btnRemove, "btnRemove");
- this.btnRemove.Name = "btnRemove";
- this.btnRemove.UseVisualStyleBackColor = true;
- this.btnRemove.Click += new System.EventHandler(this.btnRemove_Click);
- //
- // txtUrl
- //
- resources.ApplyResources(this.txtUrl, "txtUrl");
- this.txtUrl.Name = "txtUrl";
- this.txtUrl.Leave += new System.EventHandler(this.txtRemarks_Leave);
- //
- // txtRemarks
- //
- resources.ApplyResources(this.txtRemarks, "txtRemarks");
- this.txtRemarks.Name = "txtRemarks";
- this.txtRemarks.Leave += new System.EventHandler(this.txtRemarks_Leave);
- //
- // label2
- //
- resources.ApplyResources(this.label2, "label2");
- this.label2.Name = "label2";
- //
- // label3
- //
- resources.ApplyResources(this.label3, "label3");
- this.label3.Name = "label3";
- //
- // picQRCode
- //
- resources.ApplyResources(this.picQRCode, "picQRCode");
- this.picQRCode.Name = "picQRCode";
- this.picQRCode.TabStop = false;
- //
- // SubSettingControl
- //
- resources.ApplyResources(this, "$this");
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.Controls.Add(this.picQRCode);
- this.Controls.Add(this.grbMain);
- this.Name = "SubSettingControl";
- this.Load += new System.EventHandler(this.SubSettingControl_Load);
- this.grbMain.ResumeLayout(false);
- this.grbMain.PerformLayout();
- ((System.ComponentModel.ISupportInitialize)(this.picQRCode)).EndInit();
- this.ResumeLayout(false);
-
- }
-
- #endregion
-
- private System.Windows.Forms.GroupBox grbMain;
- private System.Windows.Forms.TextBox txtUrl;
- private System.Windows.Forms.TextBox txtRemarks;
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.Label label3;
- private System.Windows.Forms.Button btnRemove;
- private System.Windows.Forms.CheckBox chkEnabled;
- private System.Windows.Forms.Button btnShare;
- private System.Windows.Forms.PictureBox picQRCode;
- private System.Windows.Forms.TextBox txtUserAgent;
- private System.Windows.Forms.Label label1;
- private System.Windows.Forms.Label label4;
- private System.Windows.Forms.ComboBox cmbGroup;
- }
-}
diff --git a/v2rayN/v2rayN/Forms/SubSettingControl.cs b/v2rayN/v2rayN/Forms/SubSettingControl.cs
deleted file mode 100644
index 12f8896c..00000000
--- a/v2rayN/v2rayN/Forms/SubSettingControl.cs
+++ /dev/null
@@ -1,109 +0,0 @@
-using System;
-using System.Windows.Forms;
-using v2rayN.Base;
-using v2rayN.Handler;
-using v2rayN.Mode;
-using System.Linq;
-using System.Collections.Generic;
-
-namespace v2rayN.Forms
-{
- public delegate void ChangeEventHandler(object sender, EventArgs e);
- public partial class SubSettingControl : UserControl
- {
- public event ChangeEventHandler OnButtonClicked;
- private List groupItem;
-
- public SubItem subItem
- {
- get; set;
- }
-
- public SubSettingControl()
- {
- InitializeComponent();
- }
-
- private void SubSettingControl_Load(object sender, EventArgs e)
- {
- Height = grbMain.Height;
-
- groupItem = LazyConfig.Instance.GetConfig().groupItem;
-
- cmbGroup.Items.AddRange(groupItem.Select(t => t.remarks).ToArray());
- cmbGroup.Items.Add(string.Empty);
-
- BindingSub();
- }
-
- private void BindingSub()
- {
- if (subItem != null)
- {
- txtRemarks.Text = subItem.remarks.ToString();
- txtUrl.Text = subItem.url.ToString();
- chkEnabled.Checked = subItem.enabled;
- txtUserAgent.Text = subItem.userAgent;
-
- var index = groupItem.FindIndex(t => t.id == subItem.groupId);
- if (index >= 0)
- {
- cmbGroup.SelectedIndex = index;
- }
- }
- }
- private void EndBindingSub()
- {
- if (subItem != null)
- {
- subItem.remarks = txtRemarks.Text.TrimEx();
- subItem.url = txtUrl.Text.TrimEx();
- subItem.enabled = chkEnabled.Checked;
- subItem.userAgent = txtUserAgent.Text.TrimEx();
-
- var index = groupItem.FindIndex(t => t.remarks == cmbGroup.Text);
- if (index >= 0)
- {
- subItem.groupId = groupItem[index].id;
- }
- else
- {
- subItem.groupId = string.Empty;
- }
- }
- }
- private void txtRemarks_Leave(object sender, EventArgs e)
- {
- EndBindingSub();
- }
-
- private void btnRemove_Click(object sender, EventArgs e)
- {
- if (subItem != null)
- {
- subItem.remarks = string.Empty;
- subItem.url = string.Empty;
- }
-
- OnButtonClicked?.Invoke(sender, e);
- }
-
- private void btnShare_Click(object sender, EventArgs e)
- {
- if (Height <= grbMain.Height)
- {
- if (Utils.IsNullOrEmpty(subItem.url))
- {
- picQRCode.Image = null;
- return;
- }
- picQRCode.Image = QRCodeHelper.GetQRCode(subItem.url);
- Height = grbMain.Height + 200;
- }
- else
- {
- Height = grbMain.Height;
- }
- }
- }
-}
diff --git a/v2rayN/v2rayN/Forms/SubSettingControl.resx b/v2rayN/v2rayN/Forms/SubSettingControl.resx
deleted file mode 100644
index d750067b..00000000
--- a/v2rayN/v2rayN/Forms/SubSettingControl.resx
+++ /dev/null
@@ -1,489 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- User Agent(optional)
-
-
-
- NoControl
-
-
- grbMain
-
-
-
- 619, 162
-
-
- 127, 147
-
-
- 60, 16
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- txtUrl
-
-
- grbMain
-
-
- picQRCode
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Remove
-
-
- 525, 21
-
-
-
- 24
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 127, 111
-
-
- SubSettingControl
-
-
- label1
-
-
- Subscription details
-
-
- 26
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- True
-
-
- grbMain
-
-
- 36
-
-
- 434, 21
-
-
- 83, 12
-
-
- cmbGroup
-
-
- 232, 21
-
-
- Top
-
-
- 6, 12
-
-
- label3
-
-
- 127, 21
-
-
- NoControl
-
-
- Share
-
-
- 10
-
-
- grbMain
-
-
- 5
-
-
- 12, 53
-
-
- 3
-
-
- Fill
-
-
- 27
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 473, 21
-
-
- 125, 12
-
-
- label4
-
-
- 127, 53
-
-
- 3
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 7
-
-
- grbMain
-
-
- 232, 20
-
-
- 2
-
-
- 1
-
-
- NoControl
-
-
- 47, 12
-
-
- Vertical
-
-
- btnRemove
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Enable
-
-
- chkEnabled
-
-
- Zoom
-
-
- 8
-
-
- 25
-
-
- Belong to Group
-
-
- 35
-
-
- txtRemarks
-
-
- NoControl
-
-
- 75, 23
-
-
- 6
-
-
- grbMain
-
-
- 25
-
-
- 0
-
-
- grbMain
-
-
- 1
-
-
- 2
-
-
- 10
-
-
- grbMain
-
-
- grbMain
-
-
- 368, 23
-
-
- True
-
-
- True
-
-
- 0, 0
-
-
- True
-
-
- True
-
-
- 0
-
-
- NoControl
-
-
- label2
-
-
- $this
-
-
- True
-
-
- 619, 188
-
-
- btnShare
-
-
- 619, 350
-
-
- 4
-
-
- 9
-
-
- NoControl
-
-
- 12, 115
-
-
- 0, 188
-
-
- txtUserAgent
-
-
- Remarks
-
-
- grbMain
-
-
- NoControl
-
-
- 473, 46
-
-
- 12, 25
-
-
- 75, 23
-
-
- 12, 151
-
-
- 95, 12
-
-
- grbMain
-
-
- 1
-
-
- Address (url)
-
-
- $this
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 0
-
-
- System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- grbMain
-
-
- NoControl
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 10
-
-
- True
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/SubSettingControl.zh-Hans.resx b/v2rayN/v2rayN/Forms/SubSettingControl.zh-Hans.resx
deleted file mode 100644
index 27cc0315..00000000
--- a/v2rayN/v2rayN/Forms/SubSettingControl.zh-Hans.resx
+++ /dev/null
@@ -1,160 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
- 53, 12
-
-
- 所属分组
-
-
- 101, 12
-
-
- User Agent(可选)
-
-
- 分享
-
-
- 48, 16
-
-
- 启用
-
-
- 移除
-
-
- 29, 12
-
-
- 备注
-
-
- 65, 12
-
-
- 地址 (url)
-
-
- 订阅详情
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/SubSettingForm.Designer.cs b/v2rayN/v2rayN/Forms/SubSettingForm.Designer.cs
deleted file mode 100644
index 489693c8..00000000
--- a/v2rayN/v2rayN/Forms/SubSettingForm.Designer.cs
+++ /dev/null
@@ -1,97 +0,0 @@
-namespace v2rayN.Forms
-{
- partial class SubSettingForm
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SubSettingForm));
- this.btnClose = new System.Windows.Forms.Button();
- this.panCon = new System.Windows.Forms.Panel();
- this.panel2 = new System.Windows.Forms.Panel();
- this.btnAdd = new System.Windows.Forms.Button();
- this.btnOK = new System.Windows.Forms.Button();
- this.panel2.SuspendLayout();
- this.SuspendLayout();
- //
- // btnClose
- //
- this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
- resources.ApplyResources(this.btnClose, "btnClose");
- this.btnClose.Name = "btnClose";
- this.btnClose.UseVisualStyleBackColor = true;
- this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
- //
- // panCon
- //
- resources.ApplyResources(this.panCon, "panCon");
- this.panCon.Name = "panCon";
- //
- // panel2
- //
- this.panel2.Controls.Add(this.btnAdd);
- this.panel2.Controls.Add(this.btnClose);
- this.panel2.Controls.Add(this.btnOK);
- resources.ApplyResources(this.panel2, "panel2");
- this.panel2.Name = "panel2";
- //
- // btnAdd
- //
- resources.ApplyResources(this.btnAdd, "btnAdd");
- this.btnAdd.Name = "btnAdd";
- this.btnAdd.UseVisualStyleBackColor = true;
- this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click);
- //
- // btnOK
- //
- resources.ApplyResources(this.btnOK, "btnOK");
- this.btnOK.Name = "btnOK";
- this.btnOK.UseVisualStyleBackColor = true;
- this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
- //
- // SubSettingForm
- //
- resources.ApplyResources(this, "$this");
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.CancelButton = this.btnClose;
- this.Controls.Add(this.panCon);
- this.Controls.Add(this.panel2);
- this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
- this.Name = "SubSettingForm";
- this.Load += new System.EventHandler(this.SubSettingForm_Load);
- this.panel2.ResumeLayout(false);
- this.ResumeLayout(false);
-
- }
-
- #endregion
- private System.Windows.Forms.Button btnClose;
- private System.Windows.Forms.Button btnOK;
- private System.Windows.Forms.Panel panel2;
- private System.Windows.Forms.Button btnAdd;
- private System.Windows.Forms.Panel panCon;
- }
-}
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/SubSettingForm.cs b/v2rayN/v2rayN/Forms/SubSettingForm.cs
deleted file mode 100644
index 1312c4a0..00000000
--- a/v2rayN/v2rayN/Forms/SubSettingForm.cs
+++ /dev/null
@@ -1,106 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Windows.Forms;
-using v2rayN.Handler;
-using v2rayN.Mode;
-using v2rayN.Resx;
-
-namespace v2rayN.Forms
-{
- public partial class SubSettingForm : BaseForm
- {
- List lstControls = new List();
-
- public SubSettingForm()
- {
- InitializeComponent();
- }
-
- private void SubSettingForm_Load(object sender, EventArgs e)
- {
- if (config.subItem == null)
- {
- config.subItem = new List();
- }
-
- RefreshSubsView();
- }
-
- ///
- /// 刷新列表
- ///
- private void RefreshSubsView()
- {
- panCon.Controls.Clear();
- lstControls.Clear();
-
- for (int k = config.subItem.Count - 1; k >= 0; k--)
- {
- SubItem item = config.subItem[k];
- if (Utils.IsNullOrEmpty(item.remarks)
- && Utils.IsNullOrEmpty(item.url))
- {
- if (!Utils.IsNullOrEmpty(item.id))
- {
- ConfigHandler.RemoveServerViaSubid(ref config, item.id);
- }
- config.subItem.RemoveAt(k);
- }
- }
-
- foreach (SubItem item in config.subItem)
- {
- SubSettingControl control = new SubSettingControl();
- control.OnButtonClicked += Control_OnButtonClicked;
- control.subItem = item;
- control.Dock = DockStyle.Top;
-
- panCon.Controls.Add(control);
- panCon.Controls.SetChildIndex(control, 0);
-
- lstControls.Add(control);
- }
- }
-
- private void Control_OnButtonClicked(object sender, EventArgs e)
- {
- RefreshSubsView();
- }
-
- private void btnOK_Click(object sender, EventArgs e)
- {
- if (ConfigHandler.SaveSubItem(ref config) == 0)
- {
- DialogResult = DialogResult.OK;
- }
- else
- {
- UI.ShowWarning(ResUI.OperationFailed);
- }
- }
-
- private void btnClose_Click(object sender, EventArgs e)
- {
- DialogResult = DialogResult.Cancel;
- }
-
- private void btnAdd_Click(object sender, EventArgs e)
- {
- AddSub();
-
- RefreshSubsView();
- }
-
-
- private void AddSub()
- {
- SubItem subItem = new SubItem
- {
- id = string.Empty,
- remarks = "remarks",
- url = "url"
- };
- config.subItem.Add(subItem);
- }
- }
-}
diff --git a/v2rayN/v2rayN/Forms/SubSettingForm.resx b/v2rayN/v2rayN/Forms/SubSettingForm.resx
deleted file mode 100644
index 316b8ff2..00000000
--- a/v2rayN/v2rayN/Forms/SubSettingForm.resx
+++ /dev/null
@@ -1,273 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
- NoControl
-
-
-
- 448, 17
-
-
- 75, 23
-
-
-
- 4
-
-
- &Cancel
-
-
- btnClose
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel2
-
-
- 1
-
-
- True
-
-
- Fill
-
-
- 0, 0
-
-
- 634, 401
-
-
- 10
-
-
- panCon
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 0
-
-
- NoControl
-
-
- 47, 17
-
-
- 75, 23
-
-
- 6
-
-
- &Add
-
-
- btnAdd
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel2
-
-
- 0
-
-
- NoControl
-
-
- 355, 17
-
-
- 75, 23
-
-
- 5
-
-
- &OK
-
-
- btnOK
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- panel2
-
-
- 2
-
-
- Bottom
-
-
- 0, 401
-
-
- 634, 60
-
-
- 7
-
-
- panel2
-
-
- System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 1
-
-
- True
-
-
- 6, 12
-
-
- 634, 461
-
-
- Subscription settings
-
-
- SubSettingForm
-
-
- v2rayN.Forms.BaseForm, v2rayN, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Forms/SubSettingForm.zh-Hans.resx b/v2rayN/v2rayN/Forms/SubSettingForm.zh-Hans.resx
deleted file mode 100644
index 35c3cbac..00000000
--- a/v2rayN/v2rayN/Forms/SubSettingForm.zh-Hans.resx
+++ /dev/null
@@ -1,149 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 订阅设置
-
-
- 添加(&A)
-
-
- 取消(&C)
-
-
- 确定(&O)
-
-
-
- AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
- LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkMAwAAAFFTeXN0
- ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2Vu
- PWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACFTeXN0ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0l0ZW0HAAAA
- BFRleHQKSW1hZ2VJbmRleAlCYWNrQ29sb3IHQ2hlY2tlZARGb250CUZvcmVDb2xvchdVc2VJdGVtU3R5
- bGVGb3JTdWJJdGVtcwEABAAEBAAIFFN5c3RlbS5EcmF3aW5nLkNvbG9yAwAAAAETU3lzdGVtLkRyYXdp
- bmcuRm9udAMAAAAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAAQIAAAAGBAAAAAD/////Bfv///8UU3lz
- dGVtLkRyYXdpbmcuQ29sb3IEAAAABG5hbWUFdmFsdWUKa25vd25Db2xvcgVzdGF0ZQEAAAAJBwcDAAAA
- CgAAAAAAAAAAGAABAAAJBgAAAAH5////+////woAAAAAAAAAABoAAQABBQYAAAATU3lzdGVtLkRyYXdp
- bmcuRm9udAQAAAAETmFtZQRTaXplBVN0eWxlBFVuaXQBAAQECxhTeXN0ZW0uRHJhd2luZy5Gb250U3R5
- bGUDAAAAG1N5c3RlbS5EcmF3aW5nLkdyYXBoaWNzVW5pdAMAAAADAAAABggAAAAG5a6L5L2TAAAQQQX3
- ////GFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQEAAAAHdmFsdWVfXwAIAwAAAAAAAAAF9v///xtTeXN0
- ZW0uRHJhd2luZy5HcmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
-
-
-
\ No newline at end of file
diff --git a/v2rayN/v2rayN/Global.cs b/v2rayN/v2rayN/Global.cs
index 47564336..76526e58 100644
--- a/v2rayN/v2rayN/Global.cs
+++ b/v2rayN/v2rayN/Global.cs
@@ -1,13 +1,8 @@
-
-using System.Collections.Generic;
-
-namespace v2rayN
+namespace v2rayN
{
class Global
{
- #region 常量
-
- //public const string DownloadFileName = "v2ray-windows.zip";
+ #region const
public const string v2rayWebsiteUrl = @"https://www.v2fly.org/";
public const string AboutUrl = @"https://github.com/2dust/v2rayN";
public const string UpdateUrl = AboutUrl + @"/releases";
@@ -22,100 +17,31 @@ namespace v2rayN
public const string tuicCoreUrl = "https://github.com/EAimTY/tuic/releases";
public const string singboxCoreUrl = "https://github.com/SagerNet/sing-box/releases";
public const string geoUrl = "https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/{0}.dat";
-
-
-
-
- ///
- /// SpeedTestUrl
- ///
public const string SpeedTestUrl = @"http://cachefly.cachefly.net/10mb.test";
public const string SpeedPingTestUrl = @"https://www.google.com/generate_204";
-
- ///
- /// CustomRoutingListUrl
- ///
public const string CustomRoutingListUrl = @"https://raw.githubusercontent.com/2dust/v2rayCustomRoutingList/master/";
-
- ///
- /// PromotionUrl
- ///
public const string PromotionUrl = @"aHR0cHM6Ly85LjIzNDQ1Ni54eXovYWJjLmh0bWw=";
-
- ///
- /// 本软件配置文件名
- ///
public const string ConfigFileName = "guiNConfig.json";
-
- ///
- /// v2ray配置文件名
- ///
- public const string v2rayConfigFileName = "config.json";
-
- ///
- /// v2ray客户端配置样例文件名
- ///
- public const string v2raySampleClient = "v2rayN.Sample.SampleClientConfig.txt";
- ///
- /// v2ray服务端配置样例文件名
- ///
- public const string v2raySampleServer = "v2rayN.Sample.SampleServerConfig.txt";
- ///
- /// v2ray配置Httprequest文件名
- ///
- public const string v2raySampleHttprequestFileName = "v2rayN.Sample.SampleHttprequest.txt";
- ///
- /// v2ray配置Httpresponse文件名
- ///
- public const string v2raySampleHttpresponseFileName = "v2rayN.Sample.SampleHttpresponse.txt";
-
+ public const string ConfigDB = "guiNDB.db";
+ public const string coreConfigFileName = "config.json";
+ public const string v2raySampleClient = "v2rayN.Sample.SampleClientConfig";
+ public const string v2raySampleServer = "v2rayN.Sample.SampleServerConfig";
+ public const string v2raySampleHttprequestFileName = "v2rayN.Sample.SampleHttprequest";
+ public const string v2raySampleHttpresponseFileName = "v2rayN.Sample.SampleHttpresponse";
public const string CustomRoutingFileName = "v2rayN.Sample.custom_routing_";
+ public const string v2raySampleInbound = "v2rayN.Sample.SampleInbound";
+ public const string TunSingboxFileName = "v2rayN.Sample.tun_singbox";
- public const string v2raySampleInbound = "v2rayN.Sample.SampleInbound.txt";
-
-
- ///
- /// 默认加密方式
- ///
public const string DefaultSecurity = "auto";
-
- ///
- /// 默认传输协议
- ///
public const string DefaultNetwork = "tcp";
-
- ///
- /// Tcp伪装http
- ///
public const string TcpHeaderHttp = "http";
-
- ///
- /// None值
- ///
public const string None = "none";
-
- ///
- /// 代理 tag值
- ///
public const string agentTag = "proxy";
-
- ///
- /// 直连 tag值
- ///
public const string directTag = "direct";
-
- ///
- /// 阻止 tag值
- ///
public const string blockTag = "block";
-
- ///
- ///
- ///
public const string StreamSecurity = "tls";
public const string StreamSecurityX = "xtls";
-
public const string InboundSocks = "socks";
public const string InboundHttp = "http";
public const string InboundSocks2 = "socks2";
@@ -124,79 +50,34 @@ namespace v2rayN
public const string InboundAPITagName = "api";
public const string InboundAPIProtocal = "dokodemo-door";
-
- ///
- /// vmess
- ///
public const string vmessProtocol = "vmess://";
- ///
- /// vmess
- ///
public const string vmessProtocolLite = "vmess";
- ///
- /// shadowsocks
- ///
public const string ssProtocol = "ss://";
- ///
- /// shadowsocks
- ///
public const string ssProtocolLite = "shadowsocks";
- ///
- /// socks
- ///
public const string socksProtocol = "socks://";
- ///
- /// socks
- ///
public const string socksProtocolLite = "socks";
- ///
- /// http
- ///
public const string httpProtocol = "http://";
- ///
- /// https
- ///
public const string httpsProtocol = "https://";
- ///
- /// vless
- ///
public const string vlessProtocol = "vless://";
- ///
- /// vless
- ///
public const string vlessProtocolLite = "vless";
- ///
- /// trojan
- ///
public const string trojanProtocol = "trojan://";
- ///
- /// trojan
- ///
public const string trojanProtocolLite = "trojan";
- ///
- /// email
- ///
public const string userEMail = "t@t.tt";
-
- ///
- /// MyRegPath
- ///
public const string MyRegPath = "Software\\v2rayNGUI";
-
- ///
- /// Language
- ///
+ public const string AutoRunRegPath = @"Software\Microsoft\Windows\CurrentVersion\Run";
+ public const string AutoRunName = "v2rayNAutoRun";
public const string MyRegKeyLanguage = "CurrentLanguage";
-
- ///
- /// Icon
- ///
public const string CustomIconName = "v2rayN.ico";
-
- public const string StatisticLogOverall = "StatisticLogOverall.json";
-
public const string IEProxyExceptions = "localhost;127.*;10.*;172.16.*;172.17.*;172.18.*;172.19.*;172.20.*;172.21.*;172.22.*;172.23.*;172.24.*;172.25.*;172.26.*;172.27.*;172.28.*;172.29.*;172.30.*;172.31.*;192.168.*";
+ public const string RoutingRuleComma = "";
+ public const string GrpcgunMode = "gun";
+ public const string GrpcmultiMode = "multi";
+ public const int MaxPort = 65536;
+ public const string CommandClearMsg = "CommandClearMsg";
+ public const string DelayUnit = "";
+ public const string SpeedUnit = "";
+
public static readonly List IEProxyProtocols = new List {
"{ip}:{http_port}",
"socks={ip}:{socks_port}",
@@ -204,9 +85,6 @@ namespace v2rayN
"http=http://{ip}:{http_port};https=http://{ip}:{http_port}",
""
};
-
- public const string RoutingRuleComma = "";
-
public static readonly List vmessSecuritys = new List { "aes-128-gcm", "chacha20-poly1305", "auto", "none", "zero" };
public static readonly List ssSecuritys = new List { "aes-256-gcm", "aes-128-gcm", "chacha20-poly1305", "chacha20-ietf-poly1305", "none", "plain" };
public static readonly List ssSecuritysInSagerNet = new List { "none", "2022-blake3-aes-128-gcm", "2022-blake3-aes-256-gcm", "2022-blake3-chacha20-poly1305", "aes-128-gcm", "aes-192-gcm", "aes-256-gcm", "chacha20-ietf-poly1305", "xchacha20-ietf-poly1305", "rc4", "rc4-md5", "aes-128-ctr", "aes-192-ctr", "aes-256-ctr", "aes-128-cfb", "aes-192-cfb", "aes-256-cfb", "aes-128-cfb8", "aes-192-cfb8", "aes-256-cfb8", "aes-128-ofb", "aes-192-ofb", "aes-256-ofb", "bf-cfb", "cast5-cfb", "des-cfb", "idea-cfb", "rc2-cfb", "seed-cfb", "camellia-128-cfb", "camellia-192-cfb", "camellia-256-cfb", "camellia-128-cfb8", "camellia-192-cfb8", "camellia-256-cfb8", "salsa20", "chacha20", "chacha20-ietf", "xchacha20" };
@@ -215,45 +93,30 @@ namespace v2rayN
public static readonly List networks = new List { "tcp", "kcp", "ws", "h2", "quic", "grpc" };
public static readonly List kcpHeaderTypes = new List { "srtp", "utp", "wechat-video", "dtls", "wireguard" };
public static readonly List coreTypes = new List { "v2fly", "SagerNet", "Xray", "v2fly_v5" };
+ public static readonly List domainStrategys = new List { "AsIs", "IPIfNonMatch", "IPOnDemand" };
public static readonly List domainMatchers = new List { "linear", "mph", "" };
public static readonly List fingerprints = new List { "chrome", "firefox", "safari", "randomized", "" };
+ public static readonly List allowInsecures = new List { "true", "false", "" };
public static readonly List domainStrategy4Freedoms = new List { "AsIs", "UseIP", "UseIPv4", "UseIPv6", "" };
- public const string GrpcgunMode = "gun";
- public const string GrpcmultiMode = "multi";
- public const string CheckMark = "√";
+ public static readonly List Languages = new List { "zh-Hans", "en" };
+ public static readonly List alpns = new List { "h2", "http/1.1", "h2,http/1.1", "" };
+ public static readonly List