This commit is contained in:
zmjack 2022-02-23 00:41:01 +08:00
parent 922d0f93ea
commit 9e3bc5d7eb
33 changed files with 1065 additions and 572 deletions

View File

@ -0,0 +1,85 @@
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFrameworks>netcoreapp3.1</TargetFrameworks>
<UseWindowsForms>true</UseWindowsForms>
<ApplicationManifest>app.manifest</ApplicationManifest>
<Authors>zmjack</Authors>
<Company>nstandard.net</Company>
<Description>A manager of the netsh interface portproxy which is to evaluate TCP/IP port redirect on windows.</Description>
<PackageProjectUrl>https://github.com/zmjack/PortProxyGUI</PackageProjectUrl>
<RepositoryUrl>https://github.com/zmjack/PortProxyGUI</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageTags>portproxy TCP/IP redirector</PackageTags>
<PackageLicenseFile>LICENSE.md</PackageLicenseFile>
<Copyright>Copyright © nstandard.net 2020</Copyright>
<Version>1.3.0</Version>
<ApplicationIcon>icon.ico</ApplicationIcon>
<AssemblyName>PortProxyGUI</AssemblyName>
<RootNamespace>PortProxyGUI</RootNamespace>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<DebugType>none</DebugType>
<DebugSymbols>false</DebugSymbols>
<PlatformTarget>AnyCPU</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<PlatformTarget>AnyCPU</PlatformTarget>
</PropertyGroup>
<ItemGroup>
<EmbeddedResource Remove="PortProxyGUI.resx" />
<EmbeddedResource Remove="SetProxy.resx" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\PortProxyGUI - NET35\About.cs" Link="About.cs" />
<Compile Include="..\PortProxyGUI - NET35\About.Designer.cs" Link="About.Designer.cs" />
<Compile Include="..\PortProxyGUI - NET35\PortProxyGUI.cs" Link="PortProxyGUI.cs" />
<Compile Include="..\PortProxyGUI - NET35\PortProxyGUI.Designer.cs" Link="PortProxyGUI.Designer.cs" />
<Compile Include="..\PortProxyGUI - NET35\SetProxy.cs" Link="SetProxy.cs" />
<Compile Include="..\PortProxyGUI - NET35\SetProxy.Designer.cs" Link="SetProxy.Designer.cs" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="..\PortProxyGUI - NET35\About.resx" Link="About.resx" />
<EmbeddedResource Include="..\PortProxyGUI - NET35\About.zh-CN.resx" Link="About.zh-CN.resx" />
<EmbeddedResource Include="..\PortProxyGUI - NET35\PortProxyGUI.resx" Link="PortProxyGUI.resx" />
<EmbeddedResource Include="..\PortProxyGUI - NET35\PortProxyGUI.zh-CN.resx" Link="PortProxyGUI.zh-CN.resx" />
<EmbeddedResource Include="..\PortProxyGUI - NET35\SetProxy.resx" Link="SetProxy.resx" />
<EmbeddedResource Include="..\PortProxyGUI - NET35\SetProxy.zh-CN.resx" Link="SetProxy.zh-CN.resx" />
</ItemGroup>
<ItemGroup>
<None Include="..\LICENSE.md">
<Pack>True</Pack>
<PackagePath></PackagePath>
</None>
</ItemGroup>
<ItemGroup>
<PackageReference Include="SQLib.Sqlite" Version="0.8.6" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\PortProxyGUI - NET35\PortProxyGUI - NET35 - UI.csproj" />
</ItemGroup>
<ItemGroup>
<Compile Update="PortProxyGUI.cs">
<SubType>Form</SubType>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Update="PortProxyGUI.zh-CN.resx">
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<Import Project="..\PortProxyGUI.Shared\PortProxyGUI.Shared.projitems" Label="Shared" />
</Project>

View File

@ -0,0 +1,24 @@
using PortProxyGUI.Data;
using System;
using System.Windows.Forms;
namespace PortProxyGUI
{
static class Program
{
public static readonly ApplicationDbScope SqliteDbScope = ApplicationDbScope.UseDefault();
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
SqliteDbScope.Migrate();
Application.SetHighDpiMode(HighDpiMode.SystemAware);
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new PortProxyGUI());
}
}
}

View File

@ -0,0 +1,76 @@
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!-- UAC Manifest Options
If you want to change the Windows User Account Control level replace the
requestedExecutionLevel node with one of the following.
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
Specifying requestedExecutionLevel element will disable file and registry virtualization.
Remove this element if your application requires this virtualization for backwards
compatibility.
-->
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- A list of the Windows versions that this application has been tested on
and is designed to work with. Uncomment the appropriate elements
and Windows will automatically select the most compatible environment. -->
<!-- Windows Vista -->
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
<!-- Windows 7 -->
<!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
<!-- Windows 8 -->
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
<!-- Windows 8.1 -->
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
<!-- Windows 10 -->
<!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />-->
</application>
</compatibility>
<!-- Indicates that the application is DPI-aware and will not be automatically scaled by Windows at higher
DPIs. Windows Presentation Foundation (WPF) applications are automatically DPI-aware and do not need
to opt in. Windows Forms applications targeting .NET Framework 4.6 that opt into this setting, should
also set the 'EnableWindowsFormsHighDpiAutoResizing' setting to 'true' in their app.config. -->
<!--
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
</windowsSettings>
</application>
-->
<!-- Enable themes for Windows common controls and dialogs (Windows XP and later) -->
<!--
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
-->
</assembly>

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

View File

@ -1,5 +1,6 @@
using System;
using System.Diagnostics;
using System.Drawing;
using System.Windows.Forms;
namespace PortProxyGUI
@ -11,7 +12,10 @@ namespace PortProxyGUI
public About(PortProxyGUI portProxyGUI)
{
PortProxyGUI = portProxyGUI;
InitializeComponent();
Font = Util.UiFont;
label_version.Text = label_version.Text + " v" + Application.ProductVersion;
}

View File

@ -112,19 +112,22 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="linkLabel1.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="linkLabel1.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 101</value>
</data>
<data name="linkLabel1.Size" type="System.Drawing.Size, System.Drawing">
<value>320, 25</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="linkLabel1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
@ -138,7 +141,7 @@
<value>linkLabel1</value>
</data>
<data name="&gt;&gt;linkLabel1.Type" xml:space="preserve">
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;linkLabel1.Parent" xml:space="preserve">
<value>$this</value>
@ -146,6 +149,9 @@
<data name="&gt;&gt;linkLabel1.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="label1.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 31</value>
</data>
@ -156,8 +162,8 @@
<value>1</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>This is a free software.
You can browse the source code on GitHub.</value>
<value>It's open source software,
and you don't have to pay anything.</value>
</data>
<data name="label1.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
@ -166,7 +172,7 @@ You can browse the source code on GitHub.</value>
<value>label1</value>
</data>
<data name="&gt;&gt;label1.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label1.Parent" xml:space="preserve">
<value>$this</value>
@ -174,6 +180,9 @@ You can browse the source code on GitHub.</value>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="label_version.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="label_version.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 6</value>
</data>
@ -193,7 +202,7 @@ You can browse the source code on GitHub.</value>
<value>label_version</value>
</data>
<data name="&gt;&gt;label_version.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label_version.Parent" xml:space="preserve">
<value>$this</value>
@ -201,6 +210,9 @@ You can browse the source code on GitHub.</value>
<data name="&gt;&gt;label_version.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="label_Star.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="label_Star.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 78</value>
</data>
@ -211,7 +223,7 @@ You can browse the source code on GitHub.</value>
<value>2</value>
</data>
<data name="label_Star.Text" xml:space="preserve">
<value>Star me at:</value>
<value>Get software updates from GitHub, or star me:</value>
</data>
<data name="label_Star.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
@ -220,7 +232,7 @@ You can browse the source code on GitHub.</value>
<value>label_Star</value>
</data>
<data name="&gt;&gt;label_Star.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label_Star.Parent" xml:space="preserve">
<value>$this</value>
@ -228,7 +240,7 @@ You can browse the source code on GitHub.</value>
<data name="&gt;&gt;label_Star.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
@ -2395,7 +2407,7 @@ You can browse the source code on GitHub.</value>
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 2, 3, 2</value>
</data>
@ -2409,6 +2421,6 @@ You can browse the source code on GitHub.</value>
<value>About</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
</root>

View File

@ -112,19 +112,22 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="linkLabel1.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="linkLabel1.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 101</value>
</data>
<data name="linkLabel1.Size" type="System.Drawing.Size, System.Drawing">
<value>320, 25</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="linkLabel1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
@ -138,7 +141,7 @@
<value>linkLabel1</value>
</data>
<data name="&gt;&gt;linkLabel1.Type" xml:space="preserve">
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;linkLabel1.Parent" xml:space="preserve">
<value>$this</value>
@ -146,6 +149,9 @@
<data name="&gt;&gt;linkLabel1.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="label1.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 31</value>
</data>
@ -156,8 +162,8 @@
<value>1</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>这是款免费软件,
您可以在 GitHub 上浏览项目源代码。</value>
<value>这是款开源软件,
并且您无需为此支付任何费用。</value>
</data>
<data name="label1.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
@ -166,7 +172,7 @@
<value>label1</value>
</data>
<data name="&gt;&gt;label1.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label1.Parent" xml:space="preserve">
<value>$this</value>
@ -174,6 +180,9 @@
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="label_version.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="label_version.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 6</value>
</data>
@ -193,7 +202,7 @@
<value>label_version</value>
</data>
<data name="&gt;&gt;label_version.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label_version.Parent" xml:space="preserve">
<value>$this</value>
@ -201,6 +210,9 @@
<data name="&gt;&gt;label_version.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="label_Star.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="label_Star.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 78</value>
</data>
@ -211,7 +223,7 @@
<value>2</value>
</data>
<data name="label_Star.Text" xml:space="preserve">
<value>星鼓励:</value>
<value>从 GitHub 获取软件更新,或给予星星鼓励:</value>
</data>
<data name="label_Star.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
@ -220,7 +232,7 @@
<value>label_Star</value>
</data>
<data name="&gt;&gt;label_Star.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label_Star.Parent" xml:space="preserve">
<value>$this</value>
@ -2395,7 +2407,7 @@
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 2, 3, 2</value>
</data>
@ -2403,12 +2415,12 @@
<value>CenterScreen</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>关于</value>
<value>About</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>About</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
</root>

View File

@ -65,7 +65,7 @@
<GenerateManifests>false</GenerateManifests>
</PropertyGroup>
<PropertyGroup>
<SignManifests>true</SignManifests>
<SignManifests>false</SignManifests>
</PropertyGroup>
<PropertyGroup>
<TargetZone>LocalIntranet</TargetZone>
@ -95,56 +95,38 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\PortProxyGUI\About.cs">
<Link>About.cs</Link>
<Compile Include="About.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="..\PortProxyGUI\About.designer.cs">
<Link>About.designer.cs</Link>
<Compile Include="About.Designer.cs">
<DependentUpon>About.cs</DependentUpon>
</Compile>
<Compile Include="..\PortProxyGUI\PortProxyGUI.cs">
<Link>PortProxyGUI.cs</Link>
<Compile Include="PortProxyGUI.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="..\PortProxyGUI\PortProxyGUI.designer.cs">
<Link>PortProxyGUI.designer.cs</Link>
<Compile Include="PortProxyGUI.Designer.cs">
<DependentUpon>PortProxyGUI.cs</DependentUpon>
</Compile>
<Compile Include="..\PortProxyGUI\SetProxyForm.cs">
<Link>SetProxyForm.cs</Link>
<SubType>Form</SubType>
</Compile>
<Compile Include="..\PortProxyGUI\SetProxyForm.designer.cs">
<Link>SetProxyForm.designer.cs</Link>
<DependentUpon>SetProxyForm.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="..\PortProxyGUI\About.resx">
<Link>About.resx</Link>
<Compile Include="SetProxy.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="SetProxy.Designer.cs">
<DependentUpon>SetProxy.cs</DependentUpon>
</Compile>
<EmbeddedResource Include="About.resx">
<DependentUpon>About.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="..\PortProxyGUI\About.zh-CN.resx">
<Link>About.zh-CN.resx</Link>
<EmbeddedResource Include="About.zh-CN.resx">
<DependentUpon>About.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="..\PortProxyGUI\PortProxyGUI.resx">
<Link>PortProxyGUI.resx</Link>
<EmbeddedResource Include="PortProxyGUI.resx">
<DependentUpon>PortProxyGUI.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="..\PortProxyGUI\PortProxyGUI.zh-CN.resx">
<Link>PortProxyGUI.zh-CN.resx</Link>
<EmbeddedResource Include="PortProxyGUI.zh-CN.resx">
<DependentUpon>PortProxyGUI.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="..\PortProxyGUI\SetProxyForm.resx">
<Link>SetProxyForm.resx</Link>
<DependentUpon>SetProxyForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="..\PortProxyGUI\SetProxyForm.zh-CN.resx">
<Link>SetProxyForm.zh-CN.resx</Link>
<DependentUpon>SetProxyForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
@ -155,6 +137,12 @@
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<EmbeddedResource Include="SetProxy.resx">
<DependentUpon>SetProxy.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="SetProxy.zh-CN.resx">
<DependentUpon>SetProxy.cs</DependentUpon>
</EmbeddedResource>
<None Include="app.config" />
<None Include="app.manifest" />
<None Include="packages.config" />

View File

@ -31,13 +31,13 @@
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PortProxyGUI));
this.listViewProxies = new System.Windows.Forms.ListView();
this.columnHeader1 = new System.Windows.Forms.ColumnHeader();
this.columnHeader2 = new System.Windows.Forms.ColumnHeader();
this.columnHeader3 = new System.Windows.Forms.ColumnHeader();
this.columnHeader4 = new System.Windows.Forms.ColumnHeader();
this.columnHeader5 = new System.Windows.Forms.ColumnHeader();
this.columnHeader6 = new System.Windows.Forms.ColumnHeader();
this.columnHeader7 = new System.Windows.Forms.ColumnHeader();
this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.columnHeader3 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.columnHeader4 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.columnHeader5 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.columnHeader6 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.columnHeader7 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
this.toolStripMenuItem_Enable = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem_Disable = new System.Windows.Forms.ToolStripMenuItem();
@ -74,6 +74,7 @@
this.listViewProxies.View = System.Windows.Forms.View.Details;
this.listViewProxies.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.listView1_ColumnClick);
this.listViewProxies.DoubleClick += new System.EventHandler(this.listView1_DoubleClick);
this.listViewProxies.KeyUp += new System.Windows.Forms.KeyEventHandler(this.listViewProxies_KeyUp);
this.listViewProxies.MouseUp += new System.Windows.Forms.MouseEventHandler(this.listView1_MouseUp);
//
// columnHeader1
@ -90,6 +91,7 @@
//
// columnHeader4
//
this.columnHeader4.Tag = "";
resources.ApplyResources(this.columnHeader4, "columnHeader4");
//
// columnHeader5
@ -98,6 +100,7 @@
//
// columnHeader6
//
this.columnHeader6.Tag = "";
resources.ApplyResources(this.columnHeader6, "columnHeader6");
//
// columnHeader7
@ -173,7 +176,6 @@
//
// imageListProxies
//
this.imageListProxies.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit;
this.imageListProxies.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageListProxies.ImageStream")));
this.imageListProxies.TransparentColor = System.Drawing.Color.Transparent;
this.imageListProxies.Images.SetKeyName(0, "disable.png");

View File

@ -1,6 +1,7 @@
using NStandard;
using System;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;
using static System.Windows.Forms.ListViewItem;
@ -9,13 +10,15 @@ namespace PortProxyGUI
{
public partial class PortProxyGUI : Form
{
public SetProxyForm SetProxyForm;
public SetProxy SetProxyForm;
public About AboutForm;
private ListViewColumnSorter lvwColumnSorter;
public PortProxyGUI()
{
InitializeComponent();
Font = Util.UiFont;
lvwColumnSorter = new ListViewColumnSorter();
listViewProxies.ListViewItemSorter = lvwColumnSorter;
}
@ -44,7 +47,7 @@ namespace PortProxyGUI
ListenPort = listenPort,
ConnectTo = subItems[4].Text.Trim(),
ConnectPort = connectPort,
Note = subItems[6].Text.Trim(),
Comment = subItems[6].Text.Trim(),
Group = item.Group?.Header.Trim(),
};
return rule;
@ -98,7 +101,7 @@ namespace PortProxyGUI
foreach (var item in items) listViewProxies.Items.Remove(item);
}
private void SetProxyForUpdate(SetProxyForm form)
private void SetProxyForUpdate(SetProxy form)
{
var item = listViewProxies.SelectedItems.OfType<ListViewItem>().FirstOrDefault();
try
@ -116,9 +119,14 @@ namespace PortProxyGUI
private void InitProxyGroups(Data.Rule[] rules)
{
listViewProxies.Groups.Clear();
var groups = rules.GroupBy(x => x.Group).Select(x => new ListViewGroup(x.Key)).ToArray();
var groups = (
from g in rules.GroupBy(x => x.Group)
let name = g.Key
where !name.IsNullOrWhiteSpace()
orderby name
select new ListViewGroup(name)
).ToArray();
listViewProxies.Groups.AddRange(groups);
listViewProxies.ShowGroups = groups.Any(x => !x.Name.IsNullOrEmpty());
}
private void InitProxyItems(Data.Rule[] rules, Data.Rule[] proxies)
@ -129,25 +137,40 @@ namespace PortProxyGUI
var imageIndex = proxies.Any(p => p.EqualsWithKeys(rule)) ? 1 : 0;
var group = listViewProxies.Groups.OfType<ListViewGroup>().FirstOrDefault(x => x.Header == rule.Group);
var item = new ListViewItem
{
ImageIndex = imageIndex,
Tag = rule.Id,
Group = group,
};
item.SubItems.AddRange(new[]
{
rule.Type,
rule.ListenOn,
rule.ListenPort.ToString(),
rule.ConnectTo,
rule.ConnectPort.ToString(),
rule.Note ?? "",
});
var item = new ListViewItem();
UpdateListViewItem(item, rule, imageIndex);
listViewProxies.Items.Add(item);
}
}
public void UpdateListViewItem(ListViewItem item, Data.Rule rule, int imageIndex)
{
item.ImageIndex = imageIndex;
item.Tag = rule.Id;
item.SubItems.Clear();
item.SubItems.AddRange(new[]
{
new ListViewSubItem(item, rule.Type),
new ListViewSubItem(item, rule.ListenOn),
new ListViewSubItem(item, rule.ListenPort.ToString()) { Tag = "Number" },
new ListViewSubItem(item, rule.ConnectTo),
new ListViewSubItem(item, rule.ConnectPort.ToString ()) { Tag = "Number" },
new ListViewSubItem(item, rule.Comment ?? ""),
});
if (rule.Group.IsNullOrWhiteSpace()) item.Group = null;
else
{
var group = listViewProxies.Groups.OfType<ListViewGroup>().FirstOrDefault(x => x.Header == rule.Group);
if (group == null)
{
group = new ListViewGroup(rule.Group);
listViewProxies.Groups.Add(group);
}
item.Group = group;
}
}
public void RefreshProxyList()
{
var proxies = CmdUtil.GetProxies();
@ -182,13 +205,13 @@ namespace PortProxyGUI
case ToolStripMenuItem item when item == toolStripMenuItem_Disable: DisableSelectedProxies(); break;
case ToolStripMenuItem item when item == toolStripMenuItem_New:
if (SetProxyForm == null) SetProxyForm = new SetProxyForm(this);
if (SetProxyForm == null) SetProxyForm = new SetProxy(this);
SetProxyForm.UseNormalMode();
SetProxyForm.ShowDialog();
break;
case ToolStripMenuItem item when item == toolStripMenuItem_Modify:
if (SetProxyForm == null) SetProxyForm = new SetProxyForm(this);
if (SetProxyForm == null) SetProxyForm = new SetProxy(this);
SetProxyForUpdate(SetProxyForm);
SetProxyForm.ShowDialog();
break;
@ -230,7 +253,7 @@ namespace PortProxyGUI
var selectAny = _sender.SelectedItems.OfType<ListViewItem>().Any();
if (selectAny)
{
if (SetProxyForm == null) SetProxyForm = new SetProxyForm(this);
if (SetProxyForm == null) SetProxyForm = new SetProxy(this);
SetProxyForUpdate(SetProxyForm);
SetProxyForm.ShowDialog();
}
@ -263,5 +286,12 @@ namespace PortProxyGUI
listViewProxies.Sort();
}
private void listViewProxies_KeyUp(object sender, KeyEventArgs e)
{
if (sender is ListView)
{
if (e.KeyCode == Keys.Delete) DeleteSelectedProxies();
}
}
}
}

View File

@ -1,4 +1,64 @@
<root>
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
@ -52,15 +112,15 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="columnHeader1.Text" xml:space="preserve">
<value />
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="columnHeader1.Width" type="System.Int32, mscorlib">
<value>24</value>
</data>
@ -95,15 +155,103 @@
<value>100</value>
</data>
<data name="columnHeader7.Text" xml:space="preserve">
<value>Note</value>
<value>Comment</value>
</data>
<data name="columnHeader7.Width" type="System.Int32, mscorlib">
<value>104</value>
</data>
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="contextMenuStrip1.Size" type="System.Drawing.Size, System.Drawing">
<value>155, 176</value>
</data>
<data name="&gt;&gt;contextMenuStrip1.Name" xml:space="preserve">
<value>contextMenuStrip1</value>
</data>
<data name="&gt;&gt;contextMenuStrip1.Type" xml:space="preserve">
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="listViewProxies.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="listViewProxies.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="listViewProxies.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="listViewProxies.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 3, 4, 3</value>
</data>
<data name="listViewProxies.Size" type="System.Drawing.Size, System.Drawing">
<value>704, 421</value>
</data>
<metadata name="imageListProxies.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>182, 17</value>
</metadata>
<data name="imageListProxies.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADc
CAAAAk1TRnQBSQFMAgEBAgEAASABAQEgAQEBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm
AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM
AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA
ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz
AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ
AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM
AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA
AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA
AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ
AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/
AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA
AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm
ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ
Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz
AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA
AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM
AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM
ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM
Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA
AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM
AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ
AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz
AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm
AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw
AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/wQACvQ0AAH/AZQKFwGU
Af8CAAH/AboKlQG6Af8iAAGUDBcBlAIAAboMlQG6IgAOFwIADpUiAAQXARYB9AL/AfQBFgQXAgAOlSIA
AxcBFgH/Ab0BFgGUAfQB/wEWAxcCAAWVArsHlSIAAxcB9AG9AhcBlAH/AvQDFwIABJUBugL/AcEGlSIA
AxcB/wEWARcBlAH/ApQB/wMXAgADlQG6Af8BwQG6Af8BwQWVIgADFwH/ApQB/wGUARcBFgH/AxcCAAOV
Af8BwQKVAboB/wHBBJUiAAMXAvQB/wGUAhcBvQH0AxcCAAiVAboB/wHBA5UiAAMXARYB/wH0AZQBFgG9
Af8BFgMXAgAJlQG6Af8DlSIABBcBFgH0Av8B9AEWBBcB/wEADpUB/yEADhcB/wEADpUB/yEAAZQMFwGU
AgABugyVAboiAAH/AZQKFwGUAf8CAAH/AboKlQG6Af80AAH/CPQkAAFCAU0BPgcAAT4DAAEoAwABQAMA
ARADAAEBAQABAQUAAYAXAAP/AQAB4AEHAv8EAAGAAQEBgAEBBAABgAEBAYABAQQAAYABAQGAAQEEAAGA
AQEBgAEBBAABgAEBAYABAQQAAYABAQGAAQEEAAGAAQEBgAEBBAABgAEBAYABAQQAAYABAQGAAQEEAAGA
AQEBgAEBBAABgAEAAYAFAAGAAQABgAUAAYABAQGAAQEEAAGAAQEBgAEBBAAC/wHgAQ8EAAs=
</value>
</data>
<data name="listViewProxies.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;listViewProxies.Name" xml:space="preserve">
<value>listViewProxies</value>
</data>
<data name="&gt;&gt;listViewProxies.Type" xml:space="preserve">
<value>System.Windows.Forms.ListView, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;listViewProxies.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;listViewProxies.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="toolStripMenuItem_Enable.Size" type="System.Drawing.Size, System.Drawing">
<value>154, 22</value>
</data>
@ -155,99 +303,14 @@
<data name="toolStripMenuItem_About.Text" xml:space="preserve">
<value>About</value>
</data>
<data name="contextMenuStrip1.Size" type="System.Drawing.Size, System.Drawing">
<value>155, 176</value>
</data>
<data name="&gt;&gt;contextMenuStrip1.Name" xml:space="preserve">
<value>contextMenuStrip1</value>
</data>
<data name="&gt;&gt;contextMenuStrip1.Type" xml:space="preserve">
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="listViewProxies.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="listViewProxies.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="listViewProxies.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 3, 4, 3</value>
</data>
<data name="listViewProxies.Size" type="System.Drawing.Size, System.Drawing">
<value>284, 261</value>
</data>
<metadata name="imageListProxies.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>182, 17</value>
</metadata>
<data name="imageListProxies.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs
LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAA3AgAAAJNU0Z0AUkBTAIBAQIB
AAGUAQABlAEAARABAAEQAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMAAUADAAEQAwABAQEAAQgG
AAEEGAABgAIAAYADAAKAAQABgAMAAYABAAGAAQACgAIAA8ABAAHAAdwBwAEAAfABygGmAQABMwUAATMB
AAEzAQABMwEAAjMCAAMWAQADHAEAAyIBAAMpAQADVQEAA00BAANCAQADOQEAAYABfAH/AQACUAH/AQAB
kwEAAdYBAAH/AewBzAEAAcYB1gHvAQAB1gLnAQABkAGpAa0CAAH/ATMDAAFmAwABmQMAAcwCAAEzAwAC
MwIAATMBZgIAATMBmQIAATMBzAIAATMB/wIAAWYDAAFmATMCAAJmAgABZgGZAgABZgHMAgABZgH/AgAB
mQMAAZkBMwIAAZkBZgIAApkCAAGZAcwCAAGZAf8CAAHMAwABzAEzAgABzAFmAgABzAGZAgACzAIAAcwB
/wIAAf8BZgIAAf8BmQIAAf8BzAEAATMB/wIAAf8BAAEzAQABMwEAAWYBAAEzAQABmQEAATMBAAHMAQAB
MwEAAf8BAAH/ATMCAAMzAQACMwFmAQACMwGZAQACMwHMAQACMwH/AQABMwFmAgABMwFmATMBAAEzAmYB
AAEzAWYBmQEAATMBZgHMAQABMwFmAf8BAAEzAZkCAAEzAZkBMwEAATMBmQFmAQABMwKZAQABMwGZAcwB
AAEzAZkB/wEAATMBzAIAATMBzAEzAQABMwHMAWYBAAEzAcwBmQEAATMCzAEAATMBzAH/AQABMwH/ATMB
AAEzAf8BZgEAATMB/wGZAQABMwH/AcwBAAEzAv8BAAFmAwABZgEAATMBAAFmAQABZgEAAWYBAAGZAQAB
ZgEAAcwBAAFmAQAB/wEAAWYBMwIAAWYCMwEAAWYBMwFmAQABZgEzAZkBAAFmATMBzAEAAWYBMwH/AQAC
ZgIAAmYBMwEAA2YBAAJmAZkBAAJmAcwBAAFmAZkCAAFmAZkBMwEAAWYBmQFmAQABZgKZAQABZgGZAcwB
AAFmAZkB/wEAAWYBzAIAAWYBzAEzAQABZgHMAZkBAAFmAswBAAFmAcwB/wEAAWYB/wIAAWYB/wEzAQAB
ZgH/AZkBAAFmAf8BzAEAAcwBAAH/AQAB/wEAAcwBAAKZAgABmQEzAZkBAAGZAQABmQEAAZkBAAHMAQAB
mQMAAZkCMwEAAZkBAAFmAQABmQEzAcwBAAGZAQAB/wEAAZkBZgIAAZkBZgEzAQABmQEzAWYBAAGZAWYB
mQEAAZkBZgHMAQABmQEzAf8BAAKZATMBAAKZAWYBAAOZAQACmQHMAQACmQH/AQABmQHMAgABmQHMATMB
AAFmAcwBZgEAAZkBzAGZAQABmQLMAQABmQHMAf8BAAGZAf8CAAGZAf8BMwEAAZkBzAFmAQABmQH/AZkB
AAGZAf8BzAEAAZkC/wEAAcwDAAGZAQABMwEAAcwBAAFmAQABzAEAAZkBAAHMAQABzAEAAZkBMwIAAcwC
MwEAAcwBMwFmAQABzAEzAZkBAAHMATMBzAEAAcwBMwH/AQABzAFmAgABzAFmATMBAAGZAmYBAAHMAWYB
mQEAAcwBZgHMAQABmQFmAf8BAAHMAZkCAAHMAZkBMwEAAcwBmQFmAQABzAKZAQABzAGZAcwBAAHMAZkB
/wEAAswCAALMATMBAALMAWYBAALMAZkBAAPMAQACzAH/AQABzAH/AgABzAH/ATMBAAGZAf8BZgEAAcwB
/wGZAQABzAH/AcwBAAHMAv8BAAHMAQABMwEAAf8BAAFmAQAB/wEAAZkBAAHMATMCAAH/AjMBAAH/ATMB
ZgEAAf8BMwGZAQAB/wEzAcwBAAH/ATMB/wEAAf8BZgIAAf8BZgEzAQABzAJmAQAB/wFmAZkBAAH/AWYB
zAEAAcwBZgH/AQAB/wGZAgAB/wGZATMBAAH/AZkBZgEAAf8CmQEAAf8BmQHMAQAB/wGZAf8BAAH/AcwC
AAH/AcwBMwEAAf8BzAFmAQAB/wHMAZkBAAH/AswBAAH/AcwB/wEAAv8BMwEAAcwB/wFmAQAC/wGZAQAC
/wHMAQACZgH/AQABZgH/AWYBAAFmAv8BAAH/AmYBAAH/AWYB/wEAAv8BZgEAASEBAAGlAQADXwEAA3cB
AAOGAQADlgEAA8sBAAOyAQAD1wEAA90BAAPjAQAD6gEAA/EBAAP4AQAB8AH7Af8BAAGkAqABAAOAAwAB
/wIAAf8DAAL/AQAB/wMAAf8BAAH/AQAC/wIAA/8EAAr0NAAB/wGUChcBlAH/AgAB/wG6CpUBugH/IgAB
lAwXAZQCAAG6DJUBuiIADhcCAA6VIgAEFwEWAfQC/wH0ARYEFwIADpUiAAMXARYB/wG9ARYBlAH0Af8B
FgMXAgAFlQK7B5UiAAMXAfQBvQIXAZQB/wL0AxcCAASVAboC/wHBBpUiAAMXAf8BFgEXAZQB/wKUAf8D
FwIAA5UBugH/AcEBugH/AcEFlSIAAxcB/wKUAf8BlAEXARYB/wMXAgADlQH/AcEClQG6Af8BwQSVIgAD
FwL0Af8BlAIXAb0B9AMXAgAIlQG6Af8BwQOVIgADFwEWAf8B9AGUARYBvQH/ARYDFwIACZUBugH/A5Ui
AAQXARYB9AL/AfQBFgQXAf8BAA6VAf8hAA4XAf8BAA6VAf8hAAGUDBcBlAIAAboMlQG6IgAB/wGUChcB
lAH/AgAB/wG6CpUBugH/NAAB/wj0JAABQgFNAT4HAAE+AwABKAMAAUADAAEQAwABAQEAAQEFAAGAFwAD
/wEAAeABBwL/BAABgAEBAYABAQQAAYABAQGAAQEEAAGAAQEBgAEBBAABgAEBAYABAQQAAYABAQGAAQEE
AAGAAQEBgAEBBAABgAEBAYABAQQAAYABAQGAAQEEAAGAAQEBgAEBBAABgAEBAYABAQQAAYABAAGABQAB
gAEAAYAFAAGAAQEBgAEBBAABgAEBAYABAQQAAv8B4AEPBAAL
</value>
</data>
<data name="listViewProxies.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;listViewProxies.Name" xml:space="preserve">
<value>listViewProxies</value>
</data>
<data name="&gt;&gt;listViewProxies.Type" xml:space="preserve">
<value>System.Windows.Forms.ListView, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;listViewProxies.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;listViewProxies.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>7, 17</value>
<value>6, 12</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>284, 261</value>
<value>704, 421</value>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
@ -2420,114 +2483,114 @@
<value>columnHeader1</value>
</data>
<data name="&gt;&gt;columnHeader1.Type" xml:space="preserve">
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;columnHeader2.Name" xml:space="preserve">
<value>columnHeader2</value>
</data>
<data name="&gt;&gt;columnHeader2.Type" xml:space="preserve">
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;columnHeader3.Name" xml:space="preserve">
<value>columnHeader3</value>
</data>
<data name="&gt;&gt;columnHeader3.Type" xml:space="preserve">
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;columnHeader4.Name" xml:space="preserve">
<value>columnHeader4</value>
</data>
<data name="&gt;&gt;columnHeader4.Type" xml:space="preserve">
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;columnHeader5.Name" xml:space="preserve">
<value>columnHeader5</value>
</data>
<data name="&gt;&gt;columnHeader5.Type" xml:space="preserve">
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;columnHeader6.Name" xml:space="preserve">
<value>columnHeader6</value>
</data>
<data name="&gt;&gt;columnHeader6.Type" xml:space="preserve">
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;columnHeader7.Name" xml:space="preserve">
<value>columnHeader7</value>
</data>
<data name="&gt;&gt;columnHeader7.Type" xml:space="preserve">
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_Enable.Name" xml:space="preserve">
<value>toolStripMenuItem_Enable</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_Enable.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_Disable.Name" xml:space="preserve">
<value>toolStripMenuItem_Disable</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_Disable.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripSeparator3.Name" xml:space="preserve">
<value>toolStripSeparator3</value>
</data>
<data name="&gt;&gt;toolStripSeparator3.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_Refresh.Name" xml:space="preserve">
<value>toolStripMenuItem_Refresh</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_Refresh.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripSeparator2.Name" xml:space="preserve">
<value>toolStripSeparator2</value>
</data>
<data name="&gt;&gt;toolStripSeparator2.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_New.Name" xml:space="preserve">
<value>toolStripMenuItem_New</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_New.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_Modify.Name" xml:space="preserve">
<value>toolStripMenuItem_Modify</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_Modify.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_Delete.Name" xml:space="preserve">
<value>toolStripMenuItem_Delete</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_Delete.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripSeparator1.Name" xml:space="preserve">
<value>toolStripSeparator1</value>
</data>
<data name="&gt;&gt;toolStripSeparator1.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_About.Name" xml:space="preserve">
<value>toolStripMenuItem_About</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_About.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;imageListProxies.Name" xml:space="preserve">
<value>imageListProxies</value>
</data>
<data name="&gt;&gt;imageListProxies.Type" xml:space="preserve">
<value>System.Windows.Forms.ImageList, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.ImageList, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>PortProxyGUI</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
</root>

View File

@ -112,15 +112,15 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="columnHeader1.Text" xml:space="preserve">
<value />
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="columnHeader1.Width" type="System.Int32, mscorlib">
<value>24</value>
</data>
@ -143,18 +143,24 @@
<value>100</value>
</data>
<data name="columnHeader5.Text" xml:space="preserve">
<value>连接地址</value>
<value>转发地址</value>
</data>
<data name="columnHeader5.Width" type="System.Int32, mscorlib">
<value>140</value>
</data>
<data name="columnHeader6.Text" xml:space="preserve">
<value>连接端口</value>
<value>转发端口</value>
</data>
<data name="columnHeader6.Width" type="System.Int32, mscorlib">
<value>100</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="columnHeader7.Text" xml:space="preserve">
<value>备注</value>
</data>
<data name="columnHeader7.Width" type="System.Int32, mscorlib">
<value>104</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing">
<value>17, 17</value>
</data>
@ -165,30 +171,33 @@
<value>contextMenuStrip1</value>
</data>
<data name="&gt;&gt;contextMenuStrip1.Type" xml:space="preserve">
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="listViewProxies.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="listViewProxies.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="listViewProxies.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="listViewProxies.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 2, 3, 2</value>
<value>4, 3, 4, 3</value>
</data>
<data name="listViewProxies.Size" type="System.Drawing.Size, System.Drawing">
<value>624, 361</value>
<value>704, 421</value>
</data>
<data name="imageListProxies.TrayLocation" type="System.Drawing.Point, System.Drawing">
<value>182, 17</value>
</data>
<data name="imageListProxies.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADc
CAAAAk1TRnQBSQFMAgEBAgEAAUABAAFYAQABEAEAARABAAT/AQkBEAj/AUIBTQE2AQQGAAE2AQQCAAEo
CAAAAk1TRnQBSQFMAgEBAgEAASABAQEkAQEBEAEAARABAAT/AQkBEAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
@ -235,7 +244,7 @@
<value>listViewProxies</value>
</data>
<data name="&gt;&gt;listViewProxies.Type" xml:space="preserve">
<value>System.Windows.Forms.ListView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.ListView, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;listViewProxies.Parent" xml:space="preserve">
<value>$this</value>
@ -258,6 +267,15 @@
<data name="toolStripSeparator3.Size" type="System.Drawing.Size, System.Drawing">
<value>151, 6</value>
</data>
<data name="toolStripMenuItem_Refresh.Size" type="System.Drawing.Size, System.Drawing">
<value>154, 22</value>
</data>
<data name="toolStripMenuItem_Refresh.Text" xml:space="preserve">
<value>刷新 (&amp;F)</value>
</data>
<data name="toolStripSeparator2.Size" type="System.Drawing.Size, System.Drawing">
<value>151, 6</value>
</data>
<data name="toolStripMenuItem_New.Size" type="System.Drawing.Size, System.Drawing">
<value>154, 22</value>
</data>
@ -279,15 +297,6 @@
<data name="toolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing">
<value>151, 6</value>
</data>
<data name="toolStripMenuItem_Refresh.Size" type="System.Drawing.Size, System.Drawing">
<value>154, 22</value>
</data>
<data name="toolStripMenuItem_Refresh.Text" xml:space="preserve">
<value>刷新 (&amp;F)</value>
</data>
<data name="toolStripSeparator2.Size" type="System.Drawing.Size, System.Drawing">
<value>151, 6</value>
</data>
<data name="toolStripMenuItem_About.Size" type="System.Drawing.Size, System.Drawing">
<value>154, 22</value>
</data>
@ -301,7 +310,7 @@
<value>6, 12</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>624, 361</value>
<value>704, 421</value>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
@ -2462,7 +2471,7 @@
</value>
</data>
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 2, 3, 2</value>
<value>4, 3, 4, 3</value>
</data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterScreen</value>
@ -2474,112 +2483,37 @@
<value>columnHeader1</value>
</data>
<data name="&gt;&gt;columnHeader1.Type" xml:space="preserve">
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;columnHeader2.Name" xml:space="preserve">
<value>columnHeader2</value>
</data>
<data name="&gt;&gt;columnHeader2.Type" xml:space="preserve">
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;columnHeader3.Name" xml:space="preserve">
<value>columnHeader3</value>
</data>
<data name="&gt;&gt;columnHeader3.Type" xml:space="preserve">
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;columnHeader4.Name" xml:space="preserve">
<value>columnHeader4</value>
</data>
<data name="&gt;&gt;columnHeader4.Type" xml:space="preserve">
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;columnHeader5.Name" xml:space="preserve">
<value>columnHeader5</value>
</data>
<data name="&gt;&gt;columnHeader5.Type" xml:space="preserve">
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;columnHeader6.Name" xml:space="preserve">
<value>columnHeader6</value>
</data>
<data name="&gt;&gt;columnHeader6.Type" xml:space="preserve">
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_Enable.Name" xml:space="preserve">
<value>toolStripMenuItem_Enable</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_Enable.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_Disable.Name" xml:space="preserve">
<value>toolStripMenuItem_Disable</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_Disable.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripSeparator3.Name" xml:space="preserve">
<value>toolStripSeparator3</value>
</data>
<data name="&gt;&gt;toolStripSeparator3.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_New.Name" xml:space="preserve">
<value>toolStripMenuItem_New</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_New.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_Modify.Name" xml:space="preserve">
<value>toolStripMenuItem_Modify</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_Modify.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_Delete.Name" xml:space="preserve">
<value>toolStripMenuItem_Delete</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_Delete.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripSeparator1.Name" xml:space="preserve">
<value>toolStripSeparator1</value>
</data>
<data name="&gt;&gt;toolStripSeparator1.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_Refresh.Name" xml:space="preserve">
<value>toolStripMenuItem_Refresh</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_Refresh.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripSeparator2.Name" xml:space="preserve">
<value>toolStripSeparator2</value>
</data>
<data name="&gt;&gt;toolStripSeparator2.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_About.Name" xml:space="preserve">
<value>toolStripMenuItem_About</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_About.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;imageListProxies.Name" xml:space="preserve">
<value>imageListProxies</value>
</data>
<data name="&gt;&gt;imageListProxies.Type" xml:space="preserve">
<value>System.Windows.Forms.ImageList, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>PortProxyGUI</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="columnHeader7.Text" xml:space="preserve">
<value>备注</value>
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;columnHeader7.Name" xml:space="preserve">
<value>columnHeader7</value>
@ -2587,4 +2521,76 @@
<data name="&gt;&gt;columnHeader7.Type" xml:space="preserve">
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_Enable.Name" xml:space="preserve">
<value>toolStripMenuItem_Enable</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_Enable.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_Disable.Name" xml:space="preserve">
<value>toolStripMenuItem_Disable</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_Disable.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripSeparator3.Name" xml:space="preserve">
<value>toolStripSeparator3</value>
</data>
<data name="&gt;&gt;toolStripSeparator3.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_Refresh.Name" xml:space="preserve">
<value>toolStripMenuItem_Refresh</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_Refresh.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripSeparator2.Name" xml:space="preserve">
<value>toolStripSeparator2</value>
</data>
<data name="&gt;&gt;toolStripSeparator2.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_New.Name" xml:space="preserve">
<value>toolStripMenuItem_New</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_New.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_Modify.Name" xml:space="preserve">
<value>toolStripMenuItem_Modify</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_Modify.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_Delete.Name" xml:space="preserve">
<value>toolStripMenuItem_Delete</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_Delete.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripSeparator1.Name" xml:space="preserve">
<value>toolStripSeparator1</value>
</data>
<data name="&gt;&gt;toolStripSeparator1.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_About.Name" xml:space="preserve">
<value>toolStripMenuItem_About</value>
</data>
<data name="&gt;&gt;toolStripMenuItem_About.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;imageListProxies.Name" xml:space="preserve">
<value>imageListProxies</value>
</data>
<data name="&gt;&gt;imageListProxies.Type" xml:space="preserve">
<value>System.Windows.Forms.ImageList, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>PortProxyGUI</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
</root>

View File

@ -1,5 +1,6 @@
using PortProxyGUI.Data;
using System;
using System.Drawing;
using System.Windows.Forms;
namespace PortProxyGUI

View File

@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.2.0.0")]
[assembly: AssemblyFileVersion("1.2.0.0")]
[assembly: AssemblyVersion("1.3.0.0")]
[assembly: AssemblyFileVersion("1.3.0.0")]

View File

@ -1,6 +1,6 @@
namespace PortProxyGUI
{
partial class SetProxyForm
partial class SetProxy
{
/// <summary>
/// Required designer variable.
@ -28,7 +28,7 @@
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SetProxyForm));
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SetProxy));
this.label_ListenOn = new System.Windows.Forms.Label();
this.textBox_ListenOn = new System.Windows.Forms.TextBox();
this.label_ConnectTo = new System.Windows.Forms.Label();
@ -40,9 +40,9 @@
this.label_ListenPort = new System.Windows.Forms.Label();
this.textBox_ListenPort = new System.Windows.Forms.TextBox();
this.comboBox_Type = new System.Windows.Forms.ComboBox();
this.label_Note = new System.Windows.Forms.Label();
this.textBox_Note = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.label_Comment = new System.Windows.Forms.Label();
this.textBox_Comment = new System.Windows.Forms.TextBox();
this.label_Group = new System.Windows.Forms.Label();
this.comboBox_Group = new System.Windows.Forms.ComboBox();
this.SuspendLayout();
//
@ -110,20 +110,20 @@
resources.GetString("comboBox_Type.Items4")});
this.comboBox_Type.Name = "comboBox_Type";
//
// label_Note
// label_Comment
//
resources.ApplyResources(this.label_Note, "label_Note");
this.label_Note.Name = "label_Note";
resources.ApplyResources(this.label_Comment, "label_Comment");
this.label_Comment.Name = "label_Comment";
//
// textBox_Note
//
resources.ApplyResources(this.textBox_Note, "textBox_Note");
this.textBox_Note.Name = "textBox_Note";
resources.ApplyResources(this.textBox_Comment, "textBox_Note");
this.textBox_Comment.Name = "textBox_Note";
//
// label1
// label_Group
//
resources.ApplyResources(this.label1, "label1");
this.label1.Name = "label1";
resources.ApplyResources(this.label_Group, "label_Group");
this.label_Group.Name = "label_Group";
//
// comboBox_Group
//
@ -131,15 +131,15 @@
this.comboBox_Group.FormattingEnabled = true;
this.comboBox_Group.Name = "comboBox_Group";
//
// SetProxyForm
// SetProxy
//
this.AcceptButton = this.button_Set;
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.comboBox_Group);
this.Controls.Add(this.label1);
this.Controls.Add(this.textBox_Note);
this.Controls.Add(this.label_Note);
this.Controls.Add(this.label_Group);
this.Controls.Add(this.textBox_Comment);
this.Controls.Add(this.label_Comment);
this.Controls.Add(this.comboBox_Type);
this.Controls.Add(this.textBox_ListenPort);
this.Controls.Add(this.label_ListenPort);
@ -154,7 +154,7 @@
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "SetProxyForm";
this.Name = "SetProxy";
this.TopMost = true;
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.SetProxyForm_FormClosing);
this.Load += new System.EventHandler(this.SetProxyForm_Load);
@ -176,9 +176,9 @@
private System.Windows.Forms.Label label_ListenPort;
private System.Windows.Forms.TextBox textBox_ListenPort;
private System.Windows.Forms.ComboBox comboBox_Type;
private System.Windows.Forms.Label label_Note;
private System.Windows.Forms.TextBox textBox_Note;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label_Comment;
private System.Windows.Forms.TextBox textBox_Comment;
private System.Windows.Forms.Label label_Group;
private System.Windows.Forms.ComboBox comboBox_Group;
}
}

View File

@ -1,13 +1,14 @@
using NStandard;
using PortProxyGUI.Data;
using System;
using System.Drawing;
using System.Linq;
using System.Text.RegularExpressions;
using System.Windows.Forms;
namespace PortProxyGUI
{
public partial class SetProxyForm : Form
public partial class SetProxy : Form
{
public readonly PortProxyGUI ParentWindow;
private string AutoTypeString { get; }
@ -16,11 +17,21 @@ namespace PortProxyGUI
private ListViewItem _listViewItem;
private Rule _itemRule;
public SetProxyForm(PortProxyGUI parent)
public SetProxy(PortProxyGUI parent)
{
ParentWindow = parent;
InitializeComponent();
Font = Util.UiFont;
AutoTypeString = comboBox_Type.Text = comboBox_Type.Items.OfType<string>().First();
var groupNames = (
from g in parent.listViewProxies.Groups.OfType<ListViewGroup>()
let header = g.Header
where !header.IsNullOrWhiteSpace()
select header
).ToArray();
comboBox_Group.Items.AddRange(groupNames);
}
public void UseNormalMode()
@ -36,7 +47,7 @@ namespace PortProxyGUI
textBox_ListenPort.Text = "";
textBox_ConnectTo.Text = "";
textBox_ConnectPort.Text = "";
textBox_Note.Text = "";
textBox_Comment.Text = "";
}
public void UseUpdateMode(ListViewItem item, Rule rule)
@ -53,7 +64,7 @@ namespace PortProxyGUI
textBox_ListenPort.Text = rule.ListenPort.ToString();
textBox_ConnectTo.Text = rule.ConnectTo;
textBox_ConnectPort.Text = rule.ConnectPort.ToString();
textBox_Note.Text = rule.Note;
textBox_Comment.Text = rule.Comment;
}
private bool IsIPv6(string ip)
@ -90,7 +101,7 @@ namespace PortProxyGUI
ListenPort = listenPort,
ConnectTo = textBox_ConnectTo.Text.Trim(),
ConnectPort = connectPort,
Note = textBox_Note.Text.Trim(),
Comment = textBox_Comment.Text.Trim(),
Group = comboBox_Group.Text.Trim(),
};
@ -111,32 +122,13 @@ namespace PortProxyGUI
CmdUtil.AddOrUpdateProxy(rule);
Program.SqliteDbScope.Add(rule);
_listViewItem.ImageIndex = 1;
var subItems = _listViewItem.SubItems;
subItems[1].Text = rule.Type;
subItems[2].Text = rule.ListenOn;
subItems[3].Text = rule.ListenPort.ToString();
subItems[4].Text = rule.ConnectTo;
subItems[5].Text = rule.ConnectPort.ToString();
subItems[6].Text = rule.Note;
if (rule.Group == null) _listViewItem.Group = null;
else
{
var listView = ParentWindow.listViewProxies;
var group = listView.Groups.OfType<ListViewGroup>().FirstOrDefault(x => x.Name == rule.Group);
if (group == null)
{
group = new ListViewGroup(rule.Group);
listView.Groups.Add(group);
}
_listViewItem.Group = group;
}
ParentWindow.UpdateListViewItem(_listViewItem, rule, 1);
}
else
{
CmdUtil.AddOrUpdateProxy(rule);
Program.SqliteDbScope.Add(rule);
ParentWindow.RefreshProxyList();
}

View File

@ -122,11 +122,18 @@
<value>True</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="label_ListenOn.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="label_ListenOn.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 41</value>
<value>14, 57</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="label_ListenOn.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data>
<data name="label_ListenOn.Size" type="System.Drawing.Size, System.Drawing">
<value>59, 12</value>
<value>60, 17</value>
</data>
<data name="label_ListenOn.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -146,15 +153,17 @@
<data name="&gt;&gt;label_ListenOn.ZOrder" xml:space="preserve">
<value>14</value>
</data>
<data name="textBox_ListenOn.Location" type="System.Drawing.Point, System.Drawing">
<value>83, 38</value>
<data name="textBox_ListenOn.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="textBox_ListenOn.Location" type="System.Drawing.Point, System.Drawing">
<value>97, 54</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="textBox_ListenOn.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 2, 3, 2</value>
<value>4, 3, 4, 3</value>
</data>
<data name="textBox_ListenOn.Size" type="System.Drawing.Size, System.Drawing">
<value>126, 21</value>
<value>146, 23</value>
</data>
<data name="textBox_ListenOn.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -180,11 +189,17 @@
<data name="label_ConnectTo.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label_ConnectTo.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="label_ConnectTo.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 66</value>
<value>14, 86</value>
</data>
<data name="label_ConnectTo.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data>
<data name="label_ConnectTo.Size" type="System.Drawing.Size, System.Drawing">
<value>65, 12</value>
<value>71, 17</value>
</data>
<data name="label_ConnectTo.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -204,14 +219,17 @@
<data name="&gt;&gt;label_ConnectTo.ZOrder" xml:space="preserve">
<value>12</value>
</data>
<data name="textBox_ConnectTo.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="textBox_ConnectTo.Location" type="System.Drawing.Point, System.Drawing">
<value>83, 63</value>
<value>97, 83</value>
</data>
<data name="textBox_ConnectTo.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 2, 3, 2</value>
<value>4, 3, 4, 3</value>
</data>
<data name="textBox_ConnectTo.Size" type="System.Drawing.Size, System.Drawing">
<value>126, 21</value>
<value>146, 23</value>
</data>
<data name="textBox_ConnectTo.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
@ -231,14 +249,17 @@
<data name="&gt;&gt;textBox_ConnectTo.ZOrder" xml:space="preserve">
<value>11</value>
</data>
<data name="textBox_ConnectPort.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="textBox_ConnectPort.Location" type="System.Drawing.Point, System.Drawing">
<value>256, 63</value>
<value>299, 83</value>
</data>
<data name="textBox_ConnectPort.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 2, 3, 2</value>
<value>4, 3, 4, 3</value>
</data>
<data name="textBox_ConnectPort.Size" type="System.Drawing.Size, System.Drawing">
<value>73, 21</value>
<value>84, 23</value>
</data>
<data name="textBox_ConnectPort.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
@ -261,11 +282,17 @@
<data name="label_ConnectPort.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label_ConnectPort.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="label_ConnectPort.Location" type="System.Drawing.Point, System.Drawing">
<value>215, 66</value>
<value>251, 86</value>
</data>
<data name="label_ConnectPort.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data>
<data name="label_ConnectPort.Size" type="System.Drawing.Size, System.Drawing">
<value>29, 12</value>
<value>32, 17</value>
</data>
<data name="label_ConnectPort.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -285,11 +312,17 @@
<data name="&gt;&gt;label_ConnectPort.ZOrder" xml:space="preserve">
<value>9</value>
</data>
<data name="button_Set.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="button_Set.Location" type="System.Drawing.Point, System.Drawing">
<value>217, 98</value>
<value>258, 122</value>
</data>
<data name="button_Set.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="button_Set.Size" type="System.Drawing.Size, System.Drawing">
<value>112, 21</value>
<value>125, 32</value>
</data>
<data name="button_Set.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
@ -312,11 +345,17 @@
<data name="label_Type.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label_Type.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="label_Type.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 9</value>
<value>14, 15</value>
</data>
<data name="label_Type.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data>
<data name="label_Type.Size" type="System.Drawing.Size, System.Drawing">
<value>29, 12</value>
<value>36, 17</value>
</data>
<data name="label_Type.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -339,11 +378,17 @@
<data name="label_ListenPort.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label_ListenPort.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="label_ListenPort.Location" type="System.Drawing.Point, System.Drawing">
<value>215, 41</value>
<value>251, 57</value>
</data>
<data name="label_ListenPort.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data>
<data name="label_ListenPort.Size" type="System.Drawing.Size, System.Drawing">
<value>29, 12</value>
<value>32, 17</value>
</data>
<data name="label_ListenPort.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -363,14 +408,17 @@
<data name="&gt;&gt;label_ListenPort.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="textBox_ListenPort.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="textBox_ListenPort.Location" type="System.Drawing.Point, System.Drawing">
<value>256, 38</value>
<value>299, 54</value>
</data>
<data name="textBox_ListenPort.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 2, 3, 2</value>
<value>4, 3, 4, 3</value>
</data>
<data name="textBox_ListenPort.Size" type="System.Drawing.Size, System.Drawing">
<value>73, 21</value>
<value>84, 23</value>
</data>
<data name="textBox_ListenPort.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
@ -390,8 +438,8 @@
<data name="&gt;&gt;textBox_ListenPort.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="comboBox_Type.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
<value>Popup</value>
<data name="comboBox_Type.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="comboBox_Type.Items" xml:space="preserve">
<value>(Auto)</value>
@ -409,13 +457,13 @@
<value>v6tov6</value>
</data>
<data name="comboBox_Type.Location" type="System.Drawing.Point, System.Drawing">
<value>83, 6</value>
<value>97, 12</value>
</data>
<data name="comboBox_Type.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 2, 3, 2</value>
<value>4, 3, 4, 3</value>
</data>
<data name="comboBox_Type.Size" type="System.Drawing.Size, System.Drawing">
<value>126, 20</value>
<value>146, 25</value>
</data>
<data name="comboBox_Type.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
@ -432,44 +480,53 @@
<data name="&gt;&gt;comboBox_Type.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="label_Note.AutoSize" type="System.Boolean, mscorlib">
<data name="label_Comment.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label_Note.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<data name="label_Comment.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="label_Comment.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="label_Note.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 102</value>
<data name="label_Comment.Location" type="System.Drawing.Point, System.Drawing">
<value>14, 130</value>
</data>
<data name="label_Note.Size" type="System.Drawing.Size, System.Drawing">
<value>29, 12</value>
<data name="label_Comment.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data>
<data name="label_Note.TabIndex" type="System.Int32, mscorlib">
<data name="label_Comment.Size" type="System.Drawing.Size, System.Drawing">
<value>64, 17</value>
</data>
<data name="label_Comment.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="label_Note.Text" xml:space="preserve">
<value>Note</value>
<data name="label_Comment.Text" xml:space="preserve">
<value>Comment</value>
</data>
<data name="&gt;&gt;label_Note.Name" xml:space="preserve">
<value>label_Note</value>
<data name="&gt;&gt;label_Comment.Name" xml:space="preserve">
<value>label_Comment</value>
</data>
<data name="&gt;&gt;label_Note.Type" xml:space="preserve">
<data name="&gt;&gt;label_Comment.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label_Note.Parent" xml:space="preserve">
<data name="&gt;&gt;label_Comment.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;label_Note.ZOrder" xml:space="preserve">
<data name="&gt;&gt;label_Comment.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="textBox_Note.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="textBox_Note.Location" type="System.Drawing.Point, System.Drawing">
<value>83, 98</value>
<value>97, 127</value>
</data>
<data name="textBox_Note.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 2, 3, 2</value>
<value>4, 3, 4, 3</value>
</data>
<data name="textBox_Note.Size" type="System.Drawing.Size, System.Drawing">
<value>126, 21</value>
<value>146, 23</value>
</data>
<data name="textBox_Note.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
@ -489,47 +546,53 @@
<data name="&gt;&gt;textBox_Note.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
<data name="label_Group.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<data name="label_Group.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="label_Group.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>215, 9</value>
<data name="label_Group.Location" type="System.Drawing.Point, System.Drawing">
<value>251, 15</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>35, 12</value>
<data name="label_Group.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data>
<data name="label1.TabIndex" type="System.Int32, mscorlib">
<data name="label_Group.Size" type="System.Drawing.Size, System.Drawing">
<value>45, 17</value>
</data>
<data name="label_Group.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
</data>
<data name="label1.Text" xml:space="preserve">
<data name="label_Group.Text" xml:space="preserve">
<value>Group</value>
</data>
<data name="&gt;&gt;label1.Name" xml:space="preserve">
<value>label1</value>
<data name="&gt;&gt;label_Group.Name" xml:space="preserve">
<value>label_Group</value>
</data>
<data name="&gt;&gt;label1.Type" xml:space="preserve">
<data name="&gt;&gt;label_Group.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label1.Parent" xml:space="preserve">
<data name="&gt;&gt;label_Group.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<data name="&gt;&gt;label_Group.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="comboBox_Group.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
<value>Popup</value>
<data name="comboBox_Group.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="comboBox_Group.Location" type="System.Drawing.Point, System.Drawing">
<value>256, 6</value>
<value>299, 12</value>
</data>
<data name="comboBox_Group.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 2, 3, 2</value>
<value>4, 3, 4, 3</value>
</data>
<data name="comboBox_Group.Size" type="System.Drawing.Size, System.Drawing">
<value>73, 20</value>
<value>84, 25</value>
</data>
<data name="comboBox_Group.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
@ -553,7 +616,7 @@
<value>6, 12</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>344, 131</value>
<value>398, 169</value>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
@ -2714,7 +2777,7 @@
</value>
</data>
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 2, 3, 2</value>
<value>4, 3, 4, 3</value>
</data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>Manual</value>
@ -2723,7 +2786,7 @@
<value>Set Proxy</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>SetProxyForm</value>
<value>SetProxy</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>

View File

@ -122,17 +122,24 @@
<value>True</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="label_ListenOn.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="label_ListenOn.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 41</value>
<value>14, 57</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="label_ListenOn.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data>
<data name="label_ListenOn.Size" type="System.Drawing.Size, System.Drawing">
<value>59, 12</value>
<value>60, 17</value>
</data>
<data name="label_ListenOn.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="label_ListenOn.Text" xml:space="preserve">
<value>Listen on</value>
<value>监听地址</value>
</data>
<data name="&gt;&gt;label_ListenOn.Name" xml:space="preserve">
<value>label_ListenOn</value>
@ -146,15 +153,17 @@
<data name="&gt;&gt;label_ListenOn.ZOrder" xml:space="preserve">
<value>14</value>
</data>
<data name="textBox_ListenOn.Location" type="System.Drawing.Point, System.Drawing">
<value>83, 38</value>
<data name="textBox_ListenOn.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="textBox_ListenOn.Location" type="System.Drawing.Point, System.Drawing">
<value>97, 54</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="textBox_ListenOn.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 2, 3, 2</value>
<value>4, 3, 4, 3</value>
</data>
<data name="textBox_ListenOn.Size" type="System.Drawing.Size, System.Drawing">
<value>126, 21</value>
<value>146, 23</value>
</data>
<data name="textBox_ListenOn.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -180,17 +189,23 @@
<data name="label_ConnectTo.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label_ConnectTo.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="label_ConnectTo.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 66</value>
<value>14, 86</value>
</data>
<data name="label_ConnectTo.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data>
<data name="label_ConnectTo.Size" type="System.Drawing.Size, System.Drawing">
<value>65, 12</value>
<value>71, 17</value>
</data>
<data name="label_ConnectTo.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="label_ConnectTo.Text" xml:space="preserve">
<value>Connect to</value>
<value>转发地址</value>
</data>
<data name="&gt;&gt;label_ConnectTo.Name" xml:space="preserve">
<value>label_ConnectTo</value>
@ -204,14 +219,17 @@
<data name="&gt;&gt;label_ConnectTo.ZOrder" xml:space="preserve">
<value>12</value>
</data>
<data name="textBox_ConnectTo.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="textBox_ConnectTo.Location" type="System.Drawing.Point, System.Drawing">
<value>83, 63</value>
<value>97, 83</value>
</data>
<data name="textBox_ConnectTo.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 2, 3, 2</value>
<value>4, 3, 4, 3</value>
</data>
<data name="textBox_ConnectTo.Size" type="System.Drawing.Size, System.Drawing">
<value>126, 21</value>
<value>146, 23</value>
</data>
<data name="textBox_ConnectTo.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
@ -231,14 +249,17 @@
<data name="&gt;&gt;textBox_ConnectTo.ZOrder" xml:space="preserve">
<value>11</value>
</data>
<data name="textBox_ConnectPort.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="textBox_ConnectPort.Location" type="System.Drawing.Point, System.Drawing">
<value>256, 63</value>
<value>299, 83</value>
</data>
<data name="textBox_ConnectPort.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 2, 3, 2</value>
<value>4, 3, 4, 3</value>
</data>
<data name="textBox_ConnectPort.Size" type="System.Drawing.Size, System.Drawing">
<value>73, 21</value>
<value>84, 23</value>
</data>
<data name="textBox_ConnectPort.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
@ -261,17 +282,23 @@
<data name="label_ConnectPort.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label_ConnectPort.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="label_ConnectPort.Location" type="System.Drawing.Point, System.Drawing">
<value>215, 66</value>
<value>251, 86</value>
</data>
<data name="label_ConnectPort.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data>
<data name="label_ConnectPort.Size" type="System.Drawing.Size, System.Drawing">
<value>29, 12</value>
<value>32, 17</value>
</data>
<data name="label_ConnectPort.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="label_ConnectPort.Text" xml:space="preserve">
<value>Port</value>
<value>端口</value>
</data>
<data name="&gt;&gt;label_ConnectPort.Name" xml:space="preserve">
<value>label_ConnectPort</value>
@ -285,17 +312,23 @@
<data name="&gt;&gt;label_ConnectPort.ZOrder" xml:space="preserve">
<value>9</value>
</data>
<data name="button_Set.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="button_Set.Location" type="System.Drawing.Point, System.Drawing">
<value>217, 98</value>
<value>258, 122</value>
</data>
<data name="button_Set.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="button_Set.Size" type="System.Drawing.Size, System.Drawing">
<value>112, 21</value>
<value>125, 32</value>
</data>
<data name="button_Set.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="button_Set.Text" xml:space="preserve">
<value>Set</value>
<value>设置</value>
</data>
<data name="&gt;&gt;button_Set.Name" xml:space="preserve">
<value>button_Set</value>
@ -312,17 +345,23 @@
<data name="label_Type.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label_Type.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="label_Type.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 9</value>
<value>14, 15</value>
</data>
<data name="label_Type.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data>
<data name="label_Type.Size" type="System.Drawing.Size, System.Drawing">
<value>29, 12</value>
<value>36, 17</value>
</data>
<data name="label_Type.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="label_Type.Text" xml:space="preserve">
<value>Type</value>
<value>类型</value>
</data>
<data name="&gt;&gt;label_Type.Name" xml:space="preserve">
<value>label_Type</value>
@ -339,17 +378,23 @@
<data name="label_ListenPort.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label_ListenPort.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="label_ListenPort.Location" type="System.Drawing.Point, System.Drawing">
<value>215, 41</value>
<value>251, 57</value>
</data>
<data name="label_ListenPort.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data>
<data name="label_ListenPort.Size" type="System.Drawing.Size, System.Drawing">
<value>29, 12</value>
<value>32, 17</value>
</data>
<data name="label_ListenPort.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="label_ListenPort.Text" xml:space="preserve">
<value>Port</value>
<value>端口</value>
</data>
<data name="&gt;&gt;label_ListenPort.Name" xml:space="preserve">
<value>label_ListenPort</value>
@ -363,14 +408,17 @@
<data name="&gt;&gt;label_ListenPort.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="textBox_ListenPort.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="textBox_ListenPort.Location" type="System.Drawing.Point, System.Drawing">
<value>256, 38</value>
<value>299, 54</value>
</data>
<data name="textBox_ListenPort.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 2, 3, 2</value>
<value>4, 3, 4, 3</value>
</data>
<data name="textBox_ListenPort.Size" type="System.Drawing.Size, System.Drawing">
<value>73, 21</value>
<value>84, 23</value>
</data>
<data name="textBox_ListenPort.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
@ -390,11 +438,11 @@
<data name="&gt;&gt;textBox_ListenPort.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="comboBox_Type.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
<value>Popup</value>
<data name="comboBox_Type.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="comboBox_Type.Items" xml:space="preserve">
<value>(Auto)</value>
<value>(自动)</value>
</data>
<data name="comboBox_Type.Items1" xml:space="preserve">
<value>v4tov4</value>
@ -409,13 +457,13 @@
<value>v6tov6</value>
</data>
<data name="comboBox_Type.Location" type="System.Drawing.Point, System.Drawing">
<value>83, 6</value>
<value>97, 12</value>
</data>
<data name="comboBox_Type.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 2, 3, 2</value>
<value>4, 3, 4, 3</value>
</data>
<data name="comboBox_Type.Size" type="System.Drawing.Size, System.Drawing">
<value>126, 20</value>
<value>146, 25</value>
</data>
<data name="comboBox_Type.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
@ -432,44 +480,53 @@
<data name="&gt;&gt;comboBox_Type.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="label_Note.AutoSize" type="System.Boolean, mscorlib">
<data name="label_Comment.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label_Note.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<data name="label_Comment.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="label_Comment.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="label_Note.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 102</value>
<data name="label_Comment.Location" type="System.Drawing.Point, System.Drawing">
<value>14, 130</value>
</data>
<data name="label_Note.Size" type="System.Drawing.Size, System.Drawing">
<value>29, 12</value>
<data name="label_Comment.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data>
<data name="label_Note.TabIndex" type="System.Int32, mscorlib">
<data name="label_Comment.Size" type="System.Drawing.Size, System.Drawing">
<value>64, 17</value>
</data>
<data name="label_Comment.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="label_Note.Text" xml:space="preserve">
<value>Note</value>
<data name="label_Comment.Text" xml:space="preserve">
<value>备注</value>
</data>
<data name="&gt;&gt;label_Note.Name" xml:space="preserve">
<value>label_Note</value>
<data name="&gt;&gt;label_Comment.Name" xml:space="preserve">
<value>label_Comment</value>
</data>
<data name="&gt;&gt;label_Note.Type" xml:space="preserve">
<data name="&gt;&gt;label_Comment.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label_Note.Parent" xml:space="preserve">
<data name="&gt;&gt;label_Comment.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;label_Note.ZOrder" xml:space="preserve">
<data name="&gt;&gt;label_Comment.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="textBox_Note.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="textBox_Note.Location" type="System.Drawing.Point, System.Drawing">
<value>83, 98</value>
<value>97, 127</value>
</data>
<data name="textBox_Note.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 2, 3, 2</value>
<value>4, 3, 4, 3</value>
</data>
<data name="textBox_Note.Size" type="System.Drawing.Size, System.Drawing">
<value>126, 21</value>
<value>146, 23</value>
</data>
<data name="textBox_Note.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
@ -489,47 +546,53 @@
<data name="&gt;&gt;textBox_Note.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
<data name="label_Group.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<data name="label_Group.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="label_Group.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>215, 9</value>
<data name="label_Group.Location" type="System.Drawing.Point, System.Drawing">
<value>251, 15</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>35, 12</value>
<data name="label_Group.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data>
<data name="label1.TabIndex" type="System.Int32, mscorlib">
<data name="label_Group.Size" type="System.Drawing.Size, System.Drawing">
<value>45, 17</value>
</data>
<data name="label_Group.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>Group</value>
<data name="label_Group.Text" xml:space="preserve">
<value>分组</value>
</data>
<data name="&gt;&gt;label1.Name" xml:space="preserve">
<value>label1</value>
<data name="&gt;&gt;label_Group.Name" xml:space="preserve">
<value>label_Group</value>
</data>
<data name="&gt;&gt;label1.Type" xml:space="preserve">
<data name="&gt;&gt;label_Group.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label1.Parent" xml:space="preserve">
<data name="&gt;&gt;label_Group.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<data name="&gt;&gt;label_Group.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="comboBox_Group.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
<value>Popup</value>
<data name="comboBox_Group.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft YaHei UI, 9pt</value>
</data>
<data name="comboBox_Group.Location" type="System.Drawing.Point, System.Drawing">
<value>256, 6</value>
<value>299, 12</value>
</data>
<data name="comboBox_Group.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 2, 3, 2</value>
<value>4, 3, 4, 3</value>
</data>
<data name="comboBox_Group.Size" type="System.Drawing.Size, System.Drawing">
<value>73, 20</value>
<value>84, 25</value>
</data>
<data name="comboBox_Group.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
@ -546,14 +609,14 @@
<data name="&gt;&gt;comboBox_Group.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<data name="$this.Localizable" type="System.Boolean, mscorlib">
<value>True</value>
</metadata>
</data>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 12</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>344, 131</value>
<value>398, 169</value>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
@ -2714,7 +2777,7 @@
</value>
</data>
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 2, 3, 2</value>
<value>4, 3, 4, 3</value>
</data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>Manual</value>
@ -2723,7 +2786,7 @@
<value>Set Proxy</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>SetProxyForm</value>
<value>SetProxy</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>

View File

@ -19,8 +19,8 @@
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
<applicationRequestMinimum>
<PermissionSet Unrestricted="true" ID="Custom" SameSite="site" />
<defaultAssemblyRequest permissionSetReference="Custom" />
<PermissionSet ID="Custom" SameSite="site" Unrestricted="true" />
</applicationRequestMinimum>
</security>
</trustInfo>

View File

@ -68,7 +68,7 @@
<GenerateManifests>false</GenerateManifests>
</PropertyGroup>
<PropertyGroup>
<SignManifests>true</SignManifests>
<SignManifests>false</SignManifests>
</PropertyGroup>
<PropertyGroup>
<TargetZone>LocalIntranet</TargetZone>
@ -100,55 +100,46 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\PortProxyGUI\About.cs">
<Compile Include="..\PortProxyGUI - NET35\About.cs">
<Link>About.cs</Link>
<SubType>Form</SubType>
</Compile>
<Compile Include="..\PortProxyGUI\About.designer.cs">
<Link>About.designer.cs</Link>
<DependentUpon>About.cs</DependentUpon>
<Compile Include="..\PortProxyGUI - NET35\About.Designer.cs">
<Link>About.Designer.cs</Link>
</Compile>
<Compile Include="..\PortProxyGUI\PortProxyGUI.cs">
<Compile Include="..\PortProxyGUI - NET35\PortProxyGUI.cs">
<Link>PortProxyGUI.cs</Link>
<SubType>Form</SubType>
</Compile>
<Compile Include="..\PortProxyGUI\PortProxyGUI.designer.cs">
<Link>PortProxyGUI.designer.cs</Link>
<DependentUpon>PortProxyGUI.cs</DependentUpon>
<Compile Include="..\PortProxyGUI - NET35\PortProxyGUI.Designer.cs">
<Link>PortProxyGUI.Designer.cs</Link>
</Compile>
<Compile Include="..\PortProxyGUI\SetProxyForm.cs">
<Link>SetProxyForm.cs</Link>
<Compile Include="..\PortProxyGUI - NET35\SetProxy.cs">
<Link>SetProxy.cs</Link>
<SubType>Form</SubType>
</Compile>
<Compile Include="..\PortProxyGUI\SetProxyForm.designer.cs">
<Link>SetProxyForm.designer.cs</Link>
<DependentUpon>SetProxyForm.cs</DependentUpon>
<Compile Include="..\PortProxyGUI - NET35\SetProxy.Designer.cs">
<Link>SetProxy.Designer.cs</Link>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="..\PortProxyGUI\About.resx">
<EmbeddedResource Include="..\PortProxyGUI - NET35\About.resx">
<Link>About.resx</Link>
<DependentUpon>About.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="..\PortProxyGUI\About.zh-CN.resx">
<EmbeddedResource Include="..\PortProxyGUI - NET35\About.zh-CN.resx">
<Link>About.zh-CN.resx</Link>
<DependentUpon>About.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="..\PortProxyGUI\PortProxyGUI.resx">
<EmbeddedResource Include="..\PortProxyGUI - NET35\PortProxyGUI.resx">
<Link>PortProxyGUI.resx</Link>
<DependentUpon>PortProxyGUI.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="..\PortProxyGUI\PortProxyGUI.zh-CN.resx">
<EmbeddedResource Include="..\PortProxyGUI - NET35\PortProxyGUI.zh-CN.resx">
<Link>PortProxyGUI.zh-CN.resx</Link>
<DependentUpon>PortProxyGUI.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="..\PortProxyGUI\SetProxyForm.resx">
<Link>SetProxyForm.resx</Link>
<DependentUpon>SetProxyForm.cs</DependentUpon>
<EmbeddedResource Include="..\PortProxyGUI - NET35\SetProxy.resx">
<Link>SetProxy.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\PortProxyGUI\SetProxyForm.zh-CN.resx">
<Link>SetProxyForm.zh-CN.resx</Link>
<DependentUpon>SetProxyForm.cs</DependentUpon>
<EmbeddedResource Include="..\PortProxyGUI - NET35\SetProxy.zh-CN.resx">
<Link>SetProxy.zh-CN.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>

View File

@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.2.0.0")]
[assembly: AssemblyFileVersion("1.2.0.0")]
[assembly: AssemblyVersion("1.3.0.0")]
[assembly: AssemblyFileVersion("1.3.0.0")]

View File

@ -19,8 +19,8 @@
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
<applicationRequestMinimum>
<PermissionSet Unrestricted="true" ID="Custom" SameSite="site" />
<defaultAssemblyRequest permissionSetReference="Custom" />
<PermissionSet ID="Custom" SameSite="site" Unrestricted="true" />
</applicationRequestMinimum>
</security>
</trustInfo>

View File

@ -1,7 +1,9 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
using System.Windows.Forms;
namespace PortProxyGUI.Data
{
@ -29,8 +31,20 @@ namespace PortProxyGUI.Data
{
var migration = GetLastMigration();
var assemblyVersion = Assembly.GetExecutingAssembly().GetName().Version;
if (new Version(migration.ProductVersion) > assemblyVersion)
throw new InvalidOperationException("The current software version cannot use the configuration. Please download the latest version (https://github.com/zmjack/PortProxyGUI).");
{
if (MessageBox.Show(@"The current software version cannot use the configuration.
You need to use a newer version of PortProxyGUI.
Would you like to download it now?", "Upgrade", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
{
Process.Start("explorer.exe", "https://github.com/zmjack/PortProxyGUI/releases");
}
Environment.Exit(0);
}
}
public Migration GetLastMigration()
@ -77,6 +91,27 @@ namespace PortProxyGUI.Data
"ALTER TABLE rules ADD Note text;",
"ALTER TABLE rules ADD `Group` text;",
},
[new MigrationKey { MigrationId = "202202221635", ProductVersion = "1.3.0" }] = new[]
{
"ALTER TABLE rules RENAME TO rulesOld;",
"DROP INDEX IX_Rules_Type_ListenOn_ListenPort;",
@"CREATE TABLE rules (
Id text PRIMARY KEY,
Type text,
ListenOn text,
ListenPort integer,
ConnectTo text,
ConnectPort integer,
Comment text,
`Group` text
);",
"CREATE UNIQUE INDEX IX_Rules_Type_ListenOn_ListenPort ON Rules ( Type, ListenOn, ListenPort );",
"INSERT INTO rules SELECT Id, Type, ListenOn, ListenPort, ConnectTo, ConnectPort, Note, `Group` FROM rulesOld;",
"DROP TABLE rulesOld;",
},
};
}
}

View File

@ -43,7 +43,7 @@ namespace PortProxyGUI.Data
var newid = Guid.NewGuid().ToString();
if (obj is Rule rule)
Sql($"INSERT INTO Rules (Id, Type, ListenOn, ListenPort, ConnectTo, ConnectPort, Note, `Group`) VALUES ({newid}, {rule.Type}, {rule.ListenOn}, {rule.ListenPort}, {rule.ConnectTo}, {rule.ConnectPort}, {rule.Note ?? ""}, {rule.Group ?? ""});");
Sql($"INSERT INTO Rules (Id, Type, ListenOn, ListenPort, ConnectTo, ConnectPort, Comment, `Group`) VALUES ({newid}, {rule.Type}, {rule.ListenOn}, {rule.ListenPort}, {rule.ConnectTo}, {rule.ConnectPort}, {rule.Comment ?? ""}, {rule.Group ?? ""});");
else throw new NotSupportedException($"Adding {obj.GetType().FullName} is not supported.");
}
public void AddRange<T>(IEnumerable<T> objs) where T : class
@ -53,7 +53,7 @@ namespace PortProxyGUI.Data
public void Update<T>(T obj) where T : class
{
if (obj is Rule rule) Sql($"UPDATE Rules SET Type={rule.Type}, ListenOn={rule.ListenOn}, ListenPort={rule.ListenPort}, ConnectTo={rule.ConnectTo}, ConnectPort={rule.ConnectPort}, Note={rule.Note ?? ""}, `Group`={rule.Group ?? ""} WHERE Id={rule.Id};");
if (obj is Rule rule) Sql($"UPDATE Rules SET Type={rule.Type}, ListenOn={rule.ListenOn}, ListenPort={rule.ListenPort}, ConnectTo={rule.ConnectTo}, ConnectPort={rule.ConnectPort} WHERE Id={rule.Id};");
else throw new NotSupportedException($"Updating {obj.GetType().FullName} is not supported.");
}
public void UpdateRange<T>(IEnumerable<T> objs) where T : class

View File

@ -11,7 +11,7 @@ namespace PortProxyGUI.Data
public int ListenPort { get; set; }
public string ConnectTo { get; set; }
public int ConnectPort { get; set; }
public string Note { get; set; }
public string Comment { get; set; }
public string Group { get; set; }
public bool Equals(Rule other)
@ -22,7 +22,7 @@ namespace PortProxyGUI.Data
&& ListenPort == other.ListenPort
&& ConnectTo == other.ConnectTo
&& ConnectPort == other.ConnectPort
&& Note == other.Note
&& Comment == other.Comment
&& Group == other.Group;
}

View File

@ -51,7 +51,13 @@ namespace PortProxyGUI
listviewY = (ListViewItem)y;
// Compare the two items
compareResult = ObjectCompare.Compare(listviewX.SubItems[ColumnToSort].Text, listviewY.SubItems[ColumnToSort].Text);
if (listviewX.SubItems[ColumnToSort].Tag?.ToString() == "Number" && listviewY.SubItems[ColumnToSort].Tag?.ToString() == "Number")
{
int.TryParse(listviewX.SubItems[ColumnToSort].Text, out var xint);
int.TryParse(listviewY.SubItems[ColumnToSort].Text, out var yint);
compareResult = ObjectCompare.Compare(xint, yint);
}
else compareResult = ObjectCompare.Compare(listviewX.SubItems[ColumnToSort].Text, listviewY.SubItems[ColumnToSort].Text);
// Calculate correct return value based on object comparison
if (OrderOfSort == SortOrder.Ascending)

View File

@ -18,5 +18,6 @@
<Compile Include="$(MSBuildThisFileDirectory)Data\Rule.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ListViewColumnSorter.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ProxyType.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Util.cs" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Text;
namespace PortProxyGUI
{
public class Util
{
/// <summary>
/// Compatibility between .NET Framework and .NET Core.
/// <see href="https://docs.microsoft.com/en-us/dotnet/core/compatibility/winforms" />
/// </summary>
public static readonly Font UiFont = new Font(new FontFamily("Microsoft Sans Serif"), 8f);
}
}

View File

@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.30114.105
# Visual Studio Version 17
VisualStudioVersion = 17.1.32210.238
MinimumVisualStudioVersion = 15.0.26124.0
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PortProxyGUI", "PortProxyGUI\PortProxyGUI.csproj", "{7459E9F4-8B98-42D6-92CF-E90961E05C90}"
EndProject
@ -9,17 +9,24 @@ Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "PortProxyGUI.Shared", "Port
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{E48EF63C-74A5-42B5-BFC5-20652E856B1F}"
ProjectSection(SolutionItems) = preProject
README.md = README.md
docs\ui.png = docs\ui.png
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PortProxyGUI - NET45", "PortProxyGUI - NET45\PortProxyGUI - NET45.csproj", "{1B166039-E98C-404A-89A5-C981364B5546}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PortProxyGUI - NET35", "PortProxyGUI - NET35\PortProxyGUI - NET35.csproj", "{56FB1CBC-BD89-47D7-A9D5-86F02EEF480F}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PortProxyGUI - NET35 - UI", "PortProxyGUI - NET35\PortProxyGUI - NET35 - UI.csproj", "{56FB1CBC-BD89-47D7-A9D5-86F02EEF480F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PortProxyGUI - Core31", "PortProxyGUI - Core31\PortProxyGUI - Core31.csproj", "{2A54C624-1C2F-4ED7-B201-0E2981FB9CD9}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{444021F3-829E-4682-ACD5-B57FA46CC534}"
ProjectSection(SolutionItems) = preProject
README.md = README.md
EndProjectSection
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
PortProxyGUI.Shared\PortProxyGUI.Shared.projitems*{1b166039-e98c-404a-89a5-c981364b5546}*SharedItemsImports = 4
PortProxyGUI.Shared\PortProxyGUI.Shared.projitems*{2a54c624-1c2f-4ed7-b201-0e2981fb9cd9}*SharedItemsImports = 5
PortProxyGUI.Shared\PortProxyGUI.Shared.projitems*{56fb1cbc-bd89-47d7-a9d5-86f02eef480f}*SharedItemsImports = 4
PortProxyGUI.Shared\PortProxyGUI.Shared.projitems*{7459e9f4-8b98-42d6-92cf-e90961e05c90}*SharedItemsImports = 5
PortProxyGUI.Shared\PortProxyGUI.Shared.projitems*{b38ef2b9-e38d-4d6d-bf0d-7c1934d6cfdc}*SharedItemsImports = 13
@ -69,6 +76,18 @@ Global
{56FB1CBC-BD89-47D7-A9D5-86F02EEF480F}.Release|x64.Build.0 = Release|Any CPU
{56FB1CBC-BD89-47D7-A9D5-86F02EEF480F}.Release|x86.ActiveCfg = Release|Any CPU
{56FB1CBC-BD89-47D7-A9D5-86F02EEF480F}.Release|x86.Build.0 = Release|Any CPU
{2A54C624-1C2F-4ED7-B201-0E2981FB9CD9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2A54C624-1C2F-4ED7-B201-0E2981FB9CD9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2A54C624-1C2F-4ED7-B201-0E2981FB9CD9}.Debug|x64.ActiveCfg = Debug|Any CPU
{2A54C624-1C2F-4ED7-B201-0E2981FB9CD9}.Debug|x64.Build.0 = Debug|Any CPU
{2A54C624-1C2F-4ED7-B201-0E2981FB9CD9}.Debug|x86.ActiveCfg = Debug|Any CPU
{2A54C624-1C2F-4ED7-B201-0E2981FB9CD9}.Debug|x86.Build.0 = Debug|Any CPU
{2A54C624-1C2F-4ED7-B201-0E2981FB9CD9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2A54C624-1C2F-4ED7-B201-0E2981FB9CD9}.Release|Any CPU.Build.0 = Release|Any CPU
{2A54C624-1C2F-4ED7-B201-0E2981FB9CD9}.Release|x64.ActiveCfg = Release|Any CPU
{2A54C624-1C2F-4ED7-B201-0E2981FB9CD9}.Release|x64.Build.0 = Release|Any CPU
{2A54C624-1C2F-4ED7-B201-0E2981FB9CD9}.Release|x86.ActiveCfg = Release|Any CPU
{2A54C624-1C2F-4ED7-B201-0E2981FB9CD9}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@ -2,7 +2,7 @@
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFrameworks>netcoreapp3.1</TargetFrameworks>
<TargetFrameworks>net6.0-windows</TargetFrameworks>
<UseWindowsForms>true</UseWindowsForms>
<ApplicationManifest>app.manifest</ApplicationManifest>
<Authors>zmjack</Authors>
@ -14,7 +14,7 @@
<PackageTags>portproxy TCP/IP redirector</PackageTags>
<PackageLicenseFile>LICENSE.md</PackageLicenseFile>
<Copyright>Copyright © nstandard.net 2020</Copyright>
<Version>1.2.0</Version>
<Version>1.3.0</Version>
<ApplicationIcon>icon.ico</ApplicationIcon>
</PropertyGroup>
@ -28,6 +28,24 @@
<PlatformTarget>AnyCPU</PlatformTarget>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\PortProxyGUI - NET35\About.cs" Link="About.cs" />
<Compile Include="..\PortProxyGUI - NET35\About.Designer.cs" Link="About.Designer.cs" />
<Compile Include="..\PortProxyGUI - NET35\PortProxyGUI.cs" Link="PortProxyGUI.cs" />
<Compile Include="..\PortProxyGUI - NET35\PortProxyGUI.Designer.cs" Link="PortProxyGUI.Designer.cs" />
<Compile Include="..\PortProxyGUI - NET35\SetProxy.cs" Link="SetProxy.cs" />
<Compile Include="..\PortProxyGUI - NET35\SetProxy.Designer.cs" Link="SetProxy.Designer.cs" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="..\PortProxyGUI - NET35\About.resx" Link="About.resx" />
<EmbeddedResource Include="..\PortProxyGUI - NET35\About.zh-CN.resx" Link="About.zh-CN.resx" />
<EmbeddedResource Include="..\PortProxyGUI - NET35\PortProxyGUI.resx" Link="PortProxyGUI.resx" />
<EmbeddedResource Include="..\PortProxyGUI - NET35\PortProxyGUI.zh-CN.resx" Link="PortProxyGUI.zh-CN.resx" />
<EmbeddedResource Include="..\PortProxyGUI - NET35\SetProxy.resx" Link="SetProxy.resx" />
<EmbeddedResource Include="..\PortProxyGUI - NET35\SetProxy.zh-CN.resx" Link="SetProxy.zh-CN.resx" />
</ItemGroup>
<ItemGroup>
<None Include="..\LICENSE.md">
<Pack>True</Pack>
@ -40,25 +58,9 @@
</ItemGroup>
<ItemGroup>
<Compile Update="About.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="PortProxyGUI.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="SetProxyForm.cs">
<SubType>Form</SubType>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Update="About.resx">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Update="SetProxyForm.resx">
<LastGenOutput>SetProxyForm.Designer.cs</LastGenOutput>
<Generator>ResXFileCodeGenerator</Generator>
</EmbeddedResource>
</ItemGroup>
<Import Project="..\PortProxyGUI.Shared\PortProxyGUI.Shared.projitems" Label="Shared" />

View File

@ -15,9 +15,10 @@ namespace PortProxyGUI
static void Main()
{
SqliteDbScope.Migrate();
Application.SetHighDpiMode(HighDpiMode.SystemAware);
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
// To customize application configuration such as set high DPI settings or default font,
// see https://aka.ms/applicationconfiguration.
ApplicationConfiguration.Initialize();
Application.Run(new PortProxyGUI());
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 18 KiB