diff --git a/tools/NetWorkManager/NetWorkManager.sln b/tools/NetWorkManager/NetWorkManager.sln new file mode 100644 index 0000000..e272126 --- /dev/null +++ b/tools/NetWorkManager/NetWorkManager.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.11.35327.3 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetWorkManager", "NetWorkManager\NetWorkManager.csproj", "{25900669-2872-4F11-9516-763C420E2B96}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {25900669-2872-4F11-9516-763C420E2B96}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {25900669-2872-4F11-9516-763C420E2B96}.Debug|Any CPU.Build.0 = Debug|Any CPU + {25900669-2872-4F11-9516-763C420E2B96}.Release|Any CPU.ActiveCfg = Release|Any CPU + {25900669-2872-4F11-9516-763C420E2B96}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/tools/NetWorkManager/NetWorkManager/App.config b/tools/NetWorkManager/NetWorkManager/App.config new file mode 100644 index 0000000..4450192 --- /dev/null +++ b/tools/NetWorkManager/NetWorkManager/App.config @@ -0,0 +1,21 @@ + + + + +
+ + + + + + System + + + True + + + + + + + \ No newline at end of file diff --git a/tools/NetWorkManager/NetWorkManager/FodyWeavers.xml b/tools/NetWorkManager/NetWorkManager/FodyWeavers.xml new file mode 100644 index 0000000..f1dea8f --- /dev/null +++ b/tools/NetWorkManager/NetWorkManager/FodyWeavers.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/tools/NetWorkManager/NetWorkManager/FodyWeavers.xsd b/tools/NetWorkManager/NetWorkManager/FodyWeavers.xsd new file mode 100644 index 0000000..ff119f7 --- /dev/null +++ b/tools/NetWorkManager/NetWorkManager/FodyWeavers.xsd @@ -0,0 +1,141 @@ + + + + + + + + + + + + A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks + + + + + A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks. + + + + + A list of runtime assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks + + + + + A list of runtime assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks. + + + + + A list of unmanaged 32 bit assembly names to include, delimited with line breaks. + + + + + A list of unmanaged 64 bit assembly names to include, delimited with line breaks. + + + + + The order of preloaded assemblies, delimited with line breaks. + + + + + + This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file. + + + + + Controls if .pdbs for reference assemblies are also embedded. + + + + + Controls if runtime assemblies are also embedded. + + + + + Controls whether the runtime assemblies are embedded with their full path or only with their assembly name. + + + + + Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option. + + + + + As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off. + + + + + Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code. + + + + + Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior. + + + + + A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with | + + + + + A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |. + + + + + A list of runtime assembly names to exclude from the default action of "embed all Copy Local references", delimited with | + + + + + A list of runtime assembly names to include from the default action of "embed all Copy Local references", delimited with |. + + + + + A list of unmanaged 32 bit assembly names to include, delimited with |. + + + + + A list of unmanaged 64 bit assembly names to include, delimited with |. + + + + + The order of preloaded assemblies, delimited with |. + + + + + + + + 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. + + + + + A comma-separated list of error codes that can be safely ignored in assembly verification. + + + + + 'false' to turn off automatic generation of the XML Schema file. + + + + + \ No newline at end of file diff --git a/tools/NetWorkManager/NetWorkManager/Form1.Designer.cs b/tools/NetWorkManager/NetWorkManager/Form1.Designer.cs new file mode 100644 index 0000000..529f74b --- /dev/null +++ b/tools/NetWorkManager/NetWorkManager/Form1.Designer.cs @@ -0,0 +1,175 @@ +namespace NetWorkManager +{ + partial class Form1 + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.gridControl = new DevExpress.XtraGrid.GridControl(); + this.gridView = new DevExpress.XtraGrid.Views.Grid.GridView(); + this.ribbonControl = new DevExpress.XtraBars.Ribbon.RibbonControl(); + this.bsiRecordsCount = new DevExpress.XtraBars.BarStaticItem(); + this.bbiDelete = new DevExpress.XtraBars.BarButtonItem(); + this.bbiRefresh = new DevExpress.XtraBars.BarButtonItem(); + this.ribbonPage1 = new DevExpress.XtraBars.Ribbon.RibbonPage(); + this.ribbonPageGroup1 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup(); + this.ribbonStatusBar = new DevExpress.XtraBars.Ribbon.RibbonStatusBar(); + ((System.ComponentModel.ISupportInitialize)(this.gridControl)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.gridView)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.ribbonControl)).BeginInit(); + this.SuspendLayout(); + // + // gridControl + // + this.gridControl.Dock = System.Windows.Forms.DockStyle.Fill; + this.gridControl.EmbeddedNavigator.Margin = new System.Windows.Forms.Padding(4); + this.gridControl.Location = new System.Drawing.Point(0, 231); + this.gridControl.MainView = this.gridView; + this.gridControl.Margin = new System.Windows.Forms.Padding(4); + this.gridControl.MenuManager = this.ribbonControl; + this.gridControl.Name = "gridControl"; + this.gridControl.Size = new System.Drawing.Size(1448, 839); + this.gridControl.TabIndex = 2; + this.gridControl.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { + this.gridView}); + this.gridControl.Click += new System.EventHandler(this.gridControl_Click); + this.gridControl.MouseClick += new System.Windows.Forms.MouseEventHandler(this.gridControl_MouseClick); + // + // gridView + // + this.gridView.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder; + this.gridView.DetailHeight = 512; + this.gridView.GridControl = this.gridControl; + this.gridView.Name = "gridView"; + this.gridView.OptionsBehavior.Editable = false; + this.gridView.OptionsBehavior.ReadOnly = true; + this.gridView.OptionsEditForm.PopupEditFormWidth = 1200; + this.gridView.Click += new System.EventHandler(this.gridView_Click); + // + // ribbonControl + // + this.ribbonControl.EmptyAreaImageOptions.ImagePadding = new System.Windows.Forms.Padding(45, 44, 45, 44); + this.ribbonControl.ExpandCollapseItem.Id = 0; + this.ribbonControl.Items.AddRange(new DevExpress.XtraBars.BarItem[] { + this.ribbonControl.ExpandCollapseItem, + this.bsiRecordsCount, + this.bbiDelete, + this.bbiRefresh}); + this.ribbonControl.Location = new System.Drawing.Point(0, 0); + this.ribbonControl.Margin = new System.Windows.Forms.Padding(4); + this.ribbonControl.MaxItemId = 20; + this.ribbonControl.Name = "ribbonControl"; + this.ribbonControl.OptionsMenuMinWidth = 495; + this.ribbonControl.Pages.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPage[] { + this.ribbonPage1}); + this.ribbonControl.RibbonStyle = DevExpress.XtraBars.Ribbon.RibbonControlStyle.Office2013; + this.ribbonControl.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.False; + this.ribbonControl.Size = new System.Drawing.Size(1448, 231); + this.ribbonControl.StatusBar = this.ribbonStatusBar; + this.ribbonControl.ToolbarLocation = DevExpress.XtraBars.Ribbon.RibbonQuickAccessToolbarLocation.Hidden; + // + // bsiRecordsCount + // + this.bsiRecordsCount.Caption = "RECORDS : 0"; + this.bsiRecordsCount.Id = 15; + this.bsiRecordsCount.Name = "bsiRecordsCount"; + // + // bbiDelete + // + this.bbiDelete.Caption = "Terminate"; + this.bbiDelete.Id = 18; + this.bbiDelete.ImageOptions.ImageUri.Uri = "Delete"; + this.bbiDelete.Name = "bbiDelete"; + this.bbiDelete.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.bbiDelete_ItemClick); + // + // bbiRefresh + // + this.bbiRefresh.Caption = "Refresh"; + this.bbiRefresh.Id = 19; + this.bbiRefresh.ImageOptions.ImageUri.Uri = "Refresh"; + this.bbiRefresh.Name = "bbiRefresh"; + this.bbiRefresh.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.bbiRefresh_ItemClick); + // + // ribbonPage1 + // + this.ribbonPage1.Groups.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPageGroup[] { + this.ribbonPageGroup1}); + this.ribbonPage1.MergeOrder = 0; + this.ribbonPage1.Name = "ribbonPage1"; + this.ribbonPage1.Text = "Home"; + // + // ribbonPageGroup1 + // + this.ribbonPageGroup1.AllowTextClipping = false; + this.ribbonPageGroup1.CaptionButtonVisible = DevExpress.Utils.DefaultBoolean.False; + this.ribbonPageGroup1.ItemLinks.Add(this.bbiDelete); + this.ribbonPageGroup1.ItemLinks.Add(this.bbiRefresh); + this.ribbonPageGroup1.Name = "ribbonPageGroup1"; + this.ribbonPageGroup1.Text = "Tasks"; + // + // ribbonStatusBar + // + this.ribbonStatusBar.ItemLinks.Add(this.bsiRecordsCount); + this.ribbonStatusBar.Location = new System.Drawing.Point(0, 1034); + this.ribbonStatusBar.Margin = new System.Windows.Forms.Padding(4); + this.ribbonStatusBar.Name = "ribbonStatusBar"; + this.ribbonStatusBar.Ribbon = this.ribbonControl; + this.ribbonStatusBar.Size = new System.Drawing.Size(1448, 36); + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 19F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(1448, 1070); + this.Controls.Add(this.ribbonStatusBar); + this.Controls.Add(this.gridControl); + this.Controls.Add(this.ribbonControl); + this.Margin = new System.Windows.Forms.Padding(4); + this.Name = "Form1"; + this.Ribbon = this.ribbonControl; + this.StatusBar = this.ribbonStatusBar; + this.Text = "NetWorkManger"; + ((System.ComponentModel.ISupportInitialize)(this.gridControl)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.gridView)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.ribbonControl)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private DevExpress.XtraGrid.GridControl gridControl; + private DevExpress.XtraGrid.Views.Grid.GridView gridView; + private DevExpress.XtraBars.Ribbon.RibbonControl ribbonControl; + private DevExpress.XtraBars.Ribbon.RibbonPage ribbonPage1; + private DevExpress.XtraBars.Ribbon.RibbonPageGroup ribbonPageGroup1; + private DevExpress.XtraBars.Ribbon.RibbonStatusBar ribbonStatusBar; + private DevExpress.XtraBars.BarStaticItem bsiRecordsCount; + private DevExpress.XtraBars.BarButtonItem bbiDelete; + private DevExpress.XtraBars.BarButtonItem bbiRefresh; + } +} \ No newline at end of file diff --git a/tools/NetWorkManager/NetWorkManager/Form1.cs b/tools/NetWorkManager/NetWorkManager/Form1.cs new file mode 100644 index 0000000..d64b475 --- /dev/null +++ b/tools/NetWorkManager/NetWorkManager/Form1.cs @@ -0,0 +1,123 @@ +using DevExpress.Utils.Design; +using DevExpress.Utils.Extensions; +using DevExpress.XtraBars; +using DevExpress.XtraEditors; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.ComponentModel.DataAnnotations; +using System.Data; +using System.Diagnostics; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + + + +namespace NetWorkManager +{ + public partial class Form1 : DevExpress.XtraBars.Ribbon.RibbonForm + { + public Form1() + { + InitializeComponent(); + + BindingList dataSource = GetDataSource(); + gridControl.DataSource = dataSource; + bsiRecordsCount.Caption = "RECORDS : " + dataSource.Count; + } + void bbiPrintPreview_ItemClick(object sender, ItemClickEventArgs e) + { + gridControl.ShowRibbonPrintPreview(); + } + public BindingList GetDataSource() + { + List internet_infolist = PortScanner.GetAllInfo(); + + BindingList result = new BindingList(); + + int index = 1; + foreach(var item in internet_infolist) + { + result.Add(new Customer() + { + ID = index++, + PID = item.pid, + Process = item.process, + Local = item.local, + Remote = item.remote, + State = item.state, + Protocal = item.protocal + }); + } + + return result; + } + public class Customer + { + [Key, Display(AutoGenerateField = false)] + public int ID { get; set; } + [Required] + public string PID { get; set; } + public string Process { get; set; } + public string Local { get; set; } + public string Remote { get; set; } + // [Display(Name = "Zip Code")] + public string State { get; set; } + public string Protocal { get; set; } + } + + private void bbiRefresh_ItemClick(object sender, ItemClickEventArgs e) + { + BindingList dataSource = GetDataSource(); + gridControl.DataSource = dataSource; + bsiRecordsCount.Caption = "RECORDS : " + dataSource.Count; + } + + private void bbiDelete_ItemClick(object sender, ItemClickEventArgs e) + { + var tRcvrLineID = gridView.GetFocusedRowCellValue("PID").ToString(); + var processee = gridView.GetFocusedRowCellValue("Process").ToString(); + + if (XtraMessageBox.Show("Do you want to terminate" +$" PID:{tRcvrLineID} Process:{processee}", "Confirmation", MessageBoxButtons.YesNo) == DialogResult.Yes) + { + + try + { + Process process = Process.GetProcessById(Convert.ToInt32(tRcvrLineID)); + process.Kill(); + process.WaitForExit(); + + XtraMessageBox.Show($" PID:{tRcvrLineID} Process:{processee} Terminated!", "Succuess Execute!"); + } + catch (Exception ex) + { + XtraMessageBox.Show($" PID:{tRcvrLineID} Process:{processee} {ex.Message}!", "error!"); + } + + + BindingList dataSource = GetDataSource(); + gridControl.DataSource = dataSource; + bsiRecordsCount.Caption = "RECORDS : " + dataSource.Count; + } + + } + + private void gridControl_Click(object sender, EventArgs e) + { + + } + + private void gridControl_MouseClick(object sender, MouseEventArgs e) + { + + } + + private void gridView_Click(object sender, EventArgs e) + { + + } + } +} \ No newline at end of file diff --git a/tools/NetWorkManager/NetWorkManager/Form1.resx b/tools/NetWorkManager/NetWorkManager/Form1.resx new file mode 100644 index 0000000..29dcb1b --- /dev/null +++ b/tools/NetWorkManager/NetWorkManager/Form1.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/tools/NetWorkManager/NetWorkManager/NetWorkManager.csproj b/tools/NetWorkManager/NetWorkManager/NetWorkManager.csproj new file mode 100644 index 0000000..9c0d1b3 --- /dev/null +++ b/tools/NetWorkManager/NetWorkManager/NetWorkManager.csproj @@ -0,0 +1,129 @@ + + + + + Debug + x86 + 8.0.30703 + 2.0 + {25900669-2872-4F11-9516-763C420E2B96} + WinExe + Properties + NetWorkManager + NetWorkManager + v4.7.2 + 512 + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + none + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Form + + + Form1.cs + + + Form1.cs + + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + False + Microsoft .NET Framework 4.7.2 %28x86 and x64%29 + true + + + False + .NET Framework 3.5 SP1 + false + + + + + \ No newline at end of file diff --git a/tools/NetWorkManager/NetWorkManager/NetWorkManager.csproj.user b/tools/NetWorkManager/NetWorkManager/NetWorkManager.csproj.user new file mode 100644 index 0000000..337aec9 --- /dev/null +++ b/tools/NetWorkManager/NetWorkManager/NetWorkManager.csproj.user @@ -0,0 +1,13 @@ + + + + + + + + + + en-US + false + + \ No newline at end of file diff --git a/tools/NetWorkManager/NetWorkManager/Program.cs b/tools/NetWorkManager/NetWorkManager/Program.cs new file mode 100644 index 0000000..71f0ea7 --- /dev/null +++ b/tools/NetWorkManager/NetWorkManager/Program.cs @@ -0,0 +1,24 @@ +using DevExpress.LookAndFeel; +using DevExpress.Skins; +using DevExpress.UserSkins; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Windows.Forms; + +namespace NetWorkManager +{ + internal static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/tools/NetWorkManager/NetWorkManager/Properties/AssemblyInfo.cs b/tools/NetWorkManager/NetWorkManager/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..617d258 --- /dev/null +++ b/tools/NetWorkManager/NetWorkManager/Properties/AssemblyInfo.cs @@ -0,0 +1,32 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("NetWorkManager")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("NetWorkManager")] +[assembly: AssemblyCopyright("Copyright © 2025")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("9006f149-aa49-4b8e-ba69-386d945fa738")] +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// 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.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/tools/NetWorkManager/NetWorkManager/Properties/Resources.Designer.cs b/tools/NetWorkManager/NetWorkManager/Properties/Resources.Designer.cs new file mode 100644 index 0000000..7b28f15 --- /dev/null +++ b/tools/NetWorkManager/NetWorkManager/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.18034 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace NetWorkManager.Properties +{ + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("NetWorkManager.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/tools/NetWorkManager/NetWorkManager/Properties/Resources.resx b/tools/NetWorkManager/NetWorkManager/Properties/Resources.resx new file mode 100644 index 0000000..9ad3961 --- /dev/null +++ b/tools/NetWorkManager/NetWorkManager/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/tools/NetWorkManager/NetWorkManager/Properties/Settings.Designer.cs b/tools/NetWorkManager/NetWorkManager/Properties/Settings.Designer.cs new file mode 100644 index 0000000..de8d37c --- /dev/null +++ b/tools/NetWorkManager/NetWorkManager/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.18034 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace NetWorkManager.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/tools/NetWorkManager/NetWorkManager/Properties/Settings.settings b/tools/NetWorkManager/NetWorkManager/Properties/Settings.settings new file mode 100644 index 0000000..abf36c5 --- /dev/null +++ b/tools/NetWorkManager/NetWorkManager/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/tools/NetWorkManager/NetWorkManager/Properties/licenses.licx b/tools/NetWorkManager/NetWorkManager/Properties/licenses.licx new file mode 100644 index 0000000..4084563 --- /dev/null +++ b/tools/NetWorkManager/NetWorkManager/Properties/licenses.licx @@ -0,0 +1,2 @@ +DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v24.1, Version=24.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v24.1, Version=24.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a diff --git a/tools/NetWorkManager/NetWorkManager/enumInternet.cs b/tools/NetWorkManager/NetWorkManager/enumInternet.cs new file mode 100644 index 0000000..38120c4 --- /dev/null +++ b/tools/NetWorkManager/NetWorkManager/enumInternet.cs @@ -0,0 +1,390 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +using System; +using System.Net; +using System.Net.NetworkInformation; +using System.Runtime.InteropServices; +using System.Diagnostics; +namespace NetWorkManager +{ + + +public class PortScanner +{ + + [DllImport("iphlpapi.dll", SetLastError = true)] + private static extern uint GetExtendedTcpTable( + IntPtr pTcpTable, + ref int dwOutBufLen, + bool sort, + int ipVersion, + TCP_TABLE_CLASS tblClass, + uint reserved = 0); + + private enum TCP_TABLE_CLASS + { + TCP_TABLE_BASIC_LISTENER, + TCP_TABLE_BASIC_CONNECTIONS, + TCP_TABLE_BASIC_ALL, + TCP_TABLE_OWNER_PID_LISTENER, + TCP_TABLE_OWNER_PID_CONNECTIONS, + TCP_TABLE_OWNER_PID_ALL, + TCP_TABLE_OWNER_MODULE_LISTENER, + TCP_TABLE_OWNER_MODULE_CONNECTIONS, + TCP_TABLE_OWNER_MODULE_ALL + } + + [StructLayout(LayoutKind.Sequential)] + private struct MIB_TCPROW_OWNER_PID + { + public uint state; + public uint localAddr; + public uint localPort; + public uint remoteAddr; + public uint remotePort; + public uint owningPid; + } + + [StructLayout(LayoutKind.Sequential)] + private struct MIB_TCPTABLE_OWNER_PID + { + public uint dwNumEntries; + [MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.Struct, SizeConst = 1)] + public MIB_TCPROW_OWNER_PID[] table; + } + [StructLayout(LayoutKind.Sequential)] + private struct MIB_TCP6ROW_OWNER_PID + { + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + public byte[] localAddr; + public uint localScopeId; + public uint localPort; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + public byte[] remoteAddr; + public uint remoteScopeId; + public uint remotePort; + public uint state; + public uint owningPid; + } + + [StructLayout(LayoutKind.Sequential)] + private struct MIB_TCP6TABLE_OWNER_PID + { + public uint dwNumEntries; + [MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.Struct, SizeConst = 1)] + public MIB_TCP6ROW_OWNER_PID[] table; + } + private enum UDP_TABLE_CLASS + { + UDP_TABLE_BASIC, + UDP_TABLE_OWNER_PID, + UDP_TABLE_OWNER_MODULE + } + + [StructLayout(LayoutKind.Sequential)] + private struct MIB_UDP6ROW_OWNER_PID + { + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + public byte[] localAddr; + public uint localScopeId; + public uint localPort; + public uint owningPid; + } + + [StructLayout(LayoutKind.Sequential)] + private struct MIB_UDP6TABLE_OWNER_PID + { + public uint dwNumEntries; + [MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.Struct, SizeConst = 1)] + public MIB_UDP6ROW_OWNER_PID[] table; + } + + + + + [DllImport("iphlpapi.dll", SetLastError = true)] + private static extern uint GetExtendedUdpTable( + IntPtr pUdpTable, + ref int dwOutBufLen, + bool sort, + int ipVersion, + UDP_TABLE_CLASS tblClass, + uint reserved = 0); + + + + [StructLayout(LayoutKind.Sequential)] + private struct MIB_UDPROW_OWNER_PID + { + public uint localAddr; + public uint localPort; + public uint owningPid; + } + + [StructLayout(LayoutKind.Sequential)] + private struct MIB_UDPTABLE_OWNER_PID + { + public uint dwNumEntries; + [MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.Struct, SizeConst = 1)] + public MIB_UDPROW_OWNER_PID[] table; + } + + + private static string[] TcpStateStrings = new string[] { + "CLOSED", "LISTENING", "SYN_SENT", "SYN_RCVD", + "ESTABLISHED", "FIN_WAIT1", "FIN_WAIT2", "CLOSE_WAIT", + "CLOSING", "LAST_ACK", "TIME_WAIT", "DELETE_TCB" + }; + private const int AF_INET = 2; + private const int AF_INET6 = 23; + + public class internet_info + { + public string pid; + public string process; + public string local; + public string remote; + public string state; + public string protocal; + + public internet_info(string pid, string process, string local, string remote, string state, string protocal) + { + this.pid = pid.Trim(); + this.process = process.Trim(); + this.local = local.Trim(); + this.remote = remote.Trim(); + this.state = state.Trim(); + this.protocal = protocal.Trim(); + } + } + public static List internet_infolist = new List(); + public static List GetAllInfo() + { + internet_infolist.Clear(); + + Console.WriteLine("IPv4 TCP Connections:"); + ScanTcpPorts(AF_INET); + Console.WriteLine("\nIPv6 TCP Connections:"); + ScanTcpPorts(AF_INET6); + Console.WriteLine("\nIPv4 UDP Connections:"); + ScanUdpPorts(AF_INET); + Console.WriteLine("\nIPv6 UDP Connections:"); + ScanUdpPorts(AF_INET6); + + return internet_infolist; + + } + + private static void ScanTcpPorts(int ipVersion) + { + IntPtr tcpTable = IntPtr.Zero; + int tcpTableSize = 0; + uint ret = GetExtendedTcpTable( + tcpTable, + ref tcpTableSize, + true, + ipVersion, + TCP_TABLE_CLASS.TCP_TABLE_OWNER_PID_ALL); + + if (ret != 0 && ret != 122) // ERROR_INSUFFICIENT_BUFFER + { + Console.WriteLine($"GetExtendedTcpTable failed: {ret}"); + return; + } + + tcpTable = Marshal.AllocHGlobal(tcpTableSize); + ret = GetExtendedTcpTable( + tcpTable, + ref tcpTableSize, + true, + ipVersion, + TCP_TABLE_CLASS.TCP_TABLE_OWNER_PID_ALL); + + if (ret != 0) + { + Console.WriteLine($"GetExtendedTcpTable failed: {ret}"); + Marshal.FreeHGlobal(tcpTable); + return; + } + + if (ipVersion == AF_INET) + { + + var table = Marshal.PtrToStructure(tcpTable); + IntPtr rowPtr = (IntPtr)((long)tcpTable + Marshal.SizeOf(table.dwNumEntries)); + + for (int i = 0; i < table.dwNumEntries; i++) + { + var row = Marshal.PtrToStructure(rowPtr); + string processName = GetProcessName((int)row.owningPid); + string localAddr = new IPAddress(row.localAddr).ToString(); + string remoteAddr = row.remoteAddr != 0 ? + new IPAddress(row.remoteAddr).ToString() : "0.0.0.0"; + ushort localPort = NetworkToHostPort(row.localPort); + ushort remotePort = NetworkToHostPort(row.remotePort); + + Console.WriteLine( + $"PID: {row.owningPid,6} | " + + $"Process: {processName,-20} | " + + $"Local: {localAddr}:{localPort,-5} | " + + $"Remote: {remoteAddr}:{remotePort,-5} | " + + $"State: {TcpStateStrings[row.state]}"); + + rowPtr = (IntPtr)((long)rowPtr + Marshal.SizeOf(typeof(MIB_TCPROW_OWNER_PID))); + + internet_info ifo = new internet_info($"{row.owningPid,6}", $"{processName,-20}", $"{localAddr}:{localPort,-5}", $"{remoteAddr}:{remotePort,-5}", $"{TcpStateStrings[row.state]}", "tcpv4"); + + internet_infolist.Add(ifo); + } + } + else + { + + var table = Marshal.PtrToStructure(tcpTable); + IntPtr rowPtr = (IntPtr)((long)tcpTable + Marshal.SizeOf(table.dwNumEntries)); + + for (int i = 0; i < table.dwNumEntries; i++) + { + var row = Marshal.PtrToStructure(rowPtr); + string processName = GetProcessName((int)row.owningPid); + IPAddress localAddr = new IPAddress(row.localAddr, row.localScopeId); + IPAddress remoteAddr = new IPAddress(row.remoteAddr, row.remoteScopeId); + ushort localPort = NetworkToHostPort(row.localPort); + ushort remotePort = NetworkToHostPort(row.remotePort); + + Console.WriteLine( + $"PID: {row.owningPid,6} | " + + $"Process: {processName,-20} | " + + $"Local: [{localAddr}]:{localPort,-5} | " + + $"Remote: [{remoteAddr}]:{remotePort,-5} | " + + $"State: {TcpStateStrings[row.state]}"); + + rowPtr = (IntPtr)((long)rowPtr + Marshal.SizeOf(typeof(MIB_TCP6ROW_OWNER_PID))); + + internet_info ifo = new internet_info($"{row.owningPid,6}", $"{processName,-20}", $"{localAddr}:{localPort,-5}", $"{remoteAddr}:{remotePort,-5}", $"{TcpStateStrings[row.state]}", "tcpv6"); + + internet_infolist.Add(ifo); + } + } + + Marshal.FreeHGlobal(tcpTable); + } + + private static void ScanUdpPorts(int ipVersion) + { + IntPtr udpTable = IntPtr.Zero; + int udpTableSize = 0; + uint ret = GetExtendedUdpTable( + udpTable, + ref udpTableSize, + true, + ipVersion, + UDP_TABLE_CLASS.UDP_TABLE_OWNER_PID); + + if (ret != 0 && ret != 122) // ERROR_INSUFFICIENT_BUFFER + { + Console.WriteLine($"GetExtendedUdpTable failed: {ret}"); + return; + } + + udpTable = Marshal.AllocHGlobal(udpTableSize); + ret = GetExtendedUdpTable( + udpTable, + ref udpTableSize, + true, + ipVersion, + UDP_TABLE_CLASS.UDP_TABLE_OWNER_PID); + + if (ret != 0) + { + Console.WriteLine($"GetExtendedUdpTable failed: {ret}"); + Marshal.FreeHGlobal(udpTable); + return; + } + + if (ipVersion == AF_INET) + { + + var table = Marshal.PtrToStructure(udpTable); + IntPtr rowPtr = (IntPtr)((long)udpTable + Marshal.SizeOf(table.dwNumEntries)); + + for (int i = 0; i < table.dwNumEntries; i++) + { + var row = Marshal.PtrToStructure(rowPtr); + string processName = GetProcessName((int)row.owningPid); + string localAddr = new IPAddress(row.localAddr).ToString(); + ushort localPort = NetworkToHostPort(row.localPort); + + Console.WriteLine( + $"PID: {row.owningPid,6} | " + + $"Process: {processName,-20} | " + + $"Local: {localAddr}:{localPort} | " + + $"State: LISTENING"); + + rowPtr = (IntPtr)((long)rowPtr + Marshal.SizeOf(typeof(MIB_UDPROW_OWNER_PID))); + + internet_info ifo = new internet_info($"{row.owningPid,6}", $"{processName,-20}", $"{localAddr}:{localPort,-5}", $"", $"", "udpv4"); + + internet_infolist.Add(ifo); + } + } + else + { + + var table = Marshal.PtrToStructure(udpTable); + IntPtr rowPtr = (IntPtr)((long)udpTable + Marshal.SizeOf(table.dwNumEntries)); + + for (int i = 0; i < table.dwNumEntries; i++) + { + var row = Marshal.PtrToStructure(rowPtr); + string processName = GetProcessName((int)row.owningPid); + IPAddress localAddr = new IPAddress(row.localAddr, row.localScopeId); + ushort localPort = NetworkToHostPort(row.localPort); + + Console.WriteLine( + $"PID: {row.owningPid,6} | " + + $"Process: {processName,-20} | " + + $"Local: [{localAddr}]:{localPort} | " + + $"State: LISTENING"); + + rowPtr = (IntPtr)((long)rowPtr + Marshal.SizeOf(typeof(MIB_UDP6ROW_OWNER_PID))); + + internet_info ifo = new internet_info($"{row.owningPid,6}", $"{processName,-20}", $"{localAddr}:{localPort,-5}", $"", $"", "udpv6"); + + internet_infolist.Add(ifo); + } + } + + Marshal.FreeHGlobal(udpTable); + } + + + private static ushort NetworkToHostPort(uint port) + { + byte[] bytes = BitConverter.GetBytes(port); + if (BitConverter.IsLittleEndian) + { + Array.Reverse(bytes, 0, 2); + } + return BitConverter.ToUInt16(bytes, 0); + } + + private static string GetProcessName(int pid) + { + try + { + Process process = Process.GetProcessById(pid); + return process.ProcessName; + } + catch + { + return "N/A"; + } + } +} + +} \ No newline at end of file diff --git a/tools/NetWorkManager/packages/Costura.Fody.5.7.0/Costura.Fody.5.7.0.nupkg b/tools/NetWorkManager/packages/Costura.Fody.5.7.0/Costura.Fody.5.7.0.nupkg new file mode 100644 index 0000000..a72f637 Binary files /dev/null and b/tools/NetWorkManager/packages/Costura.Fody.5.7.0/Costura.Fody.5.7.0.nupkg differ diff --git a/tools/NetWorkManager/packages/Costura.Fody.5.7.0/build/Costura.Fody.props b/tools/NetWorkManager/packages/Costura.Fody.5.7.0/build/Costura.Fody.props new file mode 100644 index 0000000..ea96788 --- /dev/null +++ b/tools/NetWorkManager/packages/Costura.Fody.5.7.0/build/Costura.Fody.props @@ -0,0 +1,15 @@ + + + + netclassicweaver + netstandardweaver + + + + + + + \ No newline at end of file diff --git a/tools/NetWorkManager/packages/Costura.Fody.5.7.0/build/Costura.Fody.targets b/tools/NetWorkManager/packages/Costura.Fody.5.7.0/build/Costura.Fody.targets new file mode 100644 index 0000000..e8adf78 --- /dev/null +++ b/tools/NetWorkManager/packages/Costura.Fody.5.7.0/build/Costura.Fody.targets @@ -0,0 +1,13 @@ + + + + true + + + + + + + + + \ No newline at end of file diff --git a/tools/NetWorkManager/packages/Costura.Fody.5.7.0/icon.png b/tools/NetWorkManager/packages/Costura.Fody.5.7.0/icon.png new file mode 100644 index 0000000..e5fdc34 Binary files /dev/null and b/tools/NetWorkManager/packages/Costura.Fody.5.7.0/icon.png differ diff --git a/tools/NetWorkManager/packages/Costura.Fody.5.7.0/lib/netstandard1.0/Costura.dll b/tools/NetWorkManager/packages/Costura.Fody.5.7.0/lib/netstandard1.0/Costura.dll new file mode 100644 index 0000000..dbb5b65 Binary files /dev/null and b/tools/NetWorkManager/packages/Costura.Fody.5.7.0/lib/netstandard1.0/Costura.dll differ diff --git a/tools/NetWorkManager/packages/Costura.Fody.5.7.0/lib/netstandard1.0/Costura.pdb b/tools/NetWorkManager/packages/Costura.Fody.5.7.0/lib/netstandard1.0/Costura.pdb new file mode 100644 index 0000000..2004151 Binary files /dev/null and b/tools/NetWorkManager/packages/Costura.Fody.5.7.0/lib/netstandard1.0/Costura.pdb differ diff --git a/tools/NetWorkManager/packages/Costura.Fody.5.7.0/lib/netstandard1.0/Costura.xml b/tools/NetWorkManager/packages/Costura.Fody.5.7.0/lib/netstandard1.0/Costura.xml new file mode 100644 index 0000000..b08fdcb --- /dev/null +++ b/tools/NetWorkManager/packages/Costura.Fody.5.7.0/lib/netstandard1.0/Costura.xml @@ -0,0 +1,23 @@ + + + + Costura + + + + + Note: do not rename this class or put it inside a namespace. + + + + + Contains methods for interacting with the Costura system. + + + + + Call this to Initialize the Costura system. + + + + diff --git a/tools/NetWorkManager/packages/Costura.Fody.5.7.0/netclassicweaver/Costura.Fody.dll b/tools/NetWorkManager/packages/Costura.Fody.5.7.0/netclassicweaver/Costura.Fody.dll new file mode 100644 index 0000000..b8a451e Binary files /dev/null and b/tools/NetWorkManager/packages/Costura.Fody.5.7.0/netclassicweaver/Costura.Fody.dll differ diff --git a/tools/NetWorkManager/packages/Costura.Fody.5.7.0/netclassicweaver/Costura.Fody.xcf b/tools/NetWorkManager/packages/Costura.Fody.5.7.0/netclassicweaver/Costura.Fody.xcf new file mode 100644 index 0000000..c518dfe --- /dev/null +++ b/tools/NetWorkManager/packages/Costura.Fody.5.7.0/netclassicweaver/Costura.Fody.xcf @@ -0,0 +1,115 @@ + + + + + + A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks + + + + + A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks. + + + + + A list of runtime assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks + + + + + A list of runtime assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks. + + + + + A list of unmanaged 32 bit assembly names to include, delimited with line breaks. + + + + + A list of unmanaged 64 bit assembly names to include, delimited with line breaks. + + + + + The order of preloaded assemblies, delimited with line breaks. + + + + + + This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file. + + + + + Controls if .pdbs for reference assemblies are also embedded. + + + + + Controls if runtime assemblies are also embedded. + + + + + Controls whether the runtime assemblies are embedded with their full path or only with their assembly name. + + + + + Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option. + + + + + As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off. + + + + + Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code. + + + + + Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior. + + + + + A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with | + + + + + A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |. + + + + + A list of runtime assembly names to exclude from the default action of "embed all Copy Local references", delimited with | + + + + + A list of runtime assembly names to include from the default action of "embed all Copy Local references", delimited with |. + + + + + A list of unmanaged 32 bit assembly names to include, delimited with |. + + + + + A list of unmanaged 64 bit assembly names to include, delimited with |. + + + + + The order of preloaded assemblies, delimited with |. + + + \ No newline at end of file diff --git a/tools/NetWorkManager/packages/Costura.Fody.5.7.0/netstandardweaver/Costura.Fody.dll b/tools/NetWorkManager/packages/Costura.Fody.5.7.0/netstandardweaver/Costura.Fody.dll new file mode 100644 index 0000000..b16fc28 Binary files /dev/null and b/tools/NetWorkManager/packages/Costura.Fody.5.7.0/netstandardweaver/Costura.Fody.dll differ diff --git a/tools/NetWorkManager/packages/Costura.Fody.5.7.0/netstandardweaver/Costura.Fody.xcf b/tools/NetWorkManager/packages/Costura.Fody.5.7.0/netstandardweaver/Costura.Fody.xcf new file mode 100644 index 0000000..c518dfe --- /dev/null +++ b/tools/NetWorkManager/packages/Costura.Fody.5.7.0/netstandardweaver/Costura.Fody.xcf @@ -0,0 +1,115 @@ + + + + + + A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks + + + + + A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks. + + + + + A list of runtime assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks + + + + + A list of runtime assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks. + + + + + A list of unmanaged 32 bit assembly names to include, delimited with line breaks. + + + + + A list of unmanaged 64 bit assembly names to include, delimited with line breaks. + + + + + The order of preloaded assemblies, delimited with line breaks. + + + + + + This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file. + + + + + Controls if .pdbs for reference assemblies are also embedded. + + + + + Controls if runtime assemblies are also embedded. + + + + + Controls whether the runtime assemblies are embedded with their full path or only with their assembly name. + + + + + Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option. + + + + + As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off. + + + + + Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code. + + + + + Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior. + + + + + A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with | + + + + + A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |. + + + + + A list of runtime assembly names to exclude from the default action of "embed all Copy Local references", delimited with | + + + + + A list of runtime assembly names to include from the default action of "embed all Copy Local references", delimited with |. + + + + + A list of unmanaged 32 bit assembly names to include, delimited with |. + + + + + A list of unmanaged 64 bit assembly names to include, delimited with |. + + + + + The order of preloaded assemblies, delimited with |. + + + \ No newline at end of file diff --git a/tools/NetWorkManager/packages/Fody.6.8.2/Fody.6.8.2.nupkg b/tools/NetWorkManager/packages/Fody.6.8.2/Fody.6.8.2.nupkg new file mode 100644 index 0000000..6a2f178 Binary files /dev/null and b/tools/NetWorkManager/packages/Fody.6.8.2/Fody.6.8.2.nupkg differ diff --git a/tools/NetWorkManager/packages/Fody.6.8.2/License.txt b/tools/NetWorkManager/packages/Fody.6.8.2/License.txt new file mode 100644 index 0000000..e53c1de --- /dev/null +++ b/tools/NetWorkManager/packages/Fody.6.8.2/License.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) Simon Cropp + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. \ No newline at end of file diff --git a/tools/NetWorkManager/packages/Fody.6.8.2/build/Fody.targets b/tools/NetWorkManager/packages/Fody.6.8.2/build/Fody.targets new file mode 100644 index 0000000..78dc13f --- /dev/null +++ b/tools/NetWorkManager/packages/Fody.6.8.2/build/Fody.targets @@ -0,0 +1,149 @@ + + + $(ProjectDir)FodyWeavers.xml + $(MSBuildThisFileDirectory)..\ + $(FodyPath)netstandardtask + $(FodyPath)netclassictask + $(FodyAssemblyDirectory)\Fody.dll + $(DefaultItemExcludes);FodyWeavers.xsd + true + 15 + $([System.Version]::Parse($(MSBuildVersion)).Major) + AfterCompile + $(TargetsTriggeredByCompilation);FodyTarget + true + $(TreatWarningsAsErrors) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tools/NetWorkManager/packages/Fody.6.8.2/netclassictask/Fody.dll b/tools/NetWorkManager/packages/Fody.6.8.2/netclassictask/Fody.dll new file mode 100644 index 0000000..dcc8593 Binary files /dev/null and b/tools/NetWorkManager/packages/Fody.6.8.2/netclassictask/Fody.dll differ diff --git a/tools/NetWorkManager/packages/Fody.6.8.2/netclassictask/FodyCommon.dll b/tools/NetWorkManager/packages/Fody.6.8.2/netclassictask/FodyCommon.dll new file mode 100644 index 0000000..26afd10 Binary files /dev/null and b/tools/NetWorkManager/packages/Fody.6.8.2/netclassictask/FodyCommon.dll differ diff --git a/tools/NetWorkManager/packages/Fody.6.8.2/netclassictask/FodyHelpers.dll b/tools/NetWorkManager/packages/Fody.6.8.2/netclassictask/FodyHelpers.dll new file mode 100644 index 0000000..0e8a2d6 Binary files /dev/null and b/tools/NetWorkManager/packages/Fody.6.8.2/netclassictask/FodyHelpers.dll differ diff --git a/tools/NetWorkManager/packages/Fody.6.8.2/netclassictask/FodyIsolated.dll b/tools/NetWorkManager/packages/Fody.6.8.2/netclassictask/FodyIsolated.dll new file mode 100644 index 0000000..7467c4f Binary files /dev/null and b/tools/NetWorkManager/packages/Fody.6.8.2/netclassictask/FodyIsolated.dll differ diff --git a/tools/NetWorkManager/packages/Fody.6.8.2/netclassictask/Mono.Cecil.Pdb.dll b/tools/NetWorkManager/packages/Fody.6.8.2/netclassictask/Mono.Cecil.Pdb.dll new file mode 100644 index 0000000..5f65753 Binary files /dev/null and b/tools/NetWorkManager/packages/Fody.6.8.2/netclassictask/Mono.Cecil.Pdb.dll differ diff --git a/tools/NetWorkManager/packages/Fody.6.8.2/netclassictask/Mono.Cecil.Pdb.pdb b/tools/NetWorkManager/packages/Fody.6.8.2/netclassictask/Mono.Cecil.Pdb.pdb new file mode 100644 index 0000000..716032c Binary files /dev/null and b/tools/NetWorkManager/packages/Fody.6.8.2/netclassictask/Mono.Cecil.Pdb.pdb differ diff --git a/tools/NetWorkManager/packages/Fody.6.8.2/netclassictask/Mono.Cecil.Rocks.dll b/tools/NetWorkManager/packages/Fody.6.8.2/netclassictask/Mono.Cecil.Rocks.dll new file mode 100644 index 0000000..de37dc0 Binary files /dev/null and b/tools/NetWorkManager/packages/Fody.6.8.2/netclassictask/Mono.Cecil.Rocks.dll differ diff --git a/tools/NetWorkManager/packages/Fody.6.8.2/netclassictask/Mono.Cecil.Rocks.pdb b/tools/NetWorkManager/packages/Fody.6.8.2/netclassictask/Mono.Cecil.Rocks.pdb new file mode 100644 index 0000000..2604d55 Binary files /dev/null and b/tools/NetWorkManager/packages/Fody.6.8.2/netclassictask/Mono.Cecil.Rocks.pdb differ diff --git a/tools/NetWorkManager/packages/Fody.6.8.2/netclassictask/Mono.Cecil.dll b/tools/NetWorkManager/packages/Fody.6.8.2/netclassictask/Mono.Cecil.dll new file mode 100644 index 0000000..ce0a2f2 Binary files /dev/null and b/tools/NetWorkManager/packages/Fody.6.8.2/netclassictask/Mono.Cecil.dll differ diff --git a/tools/NetWorkManager/packages/Fody.6.8.2/netclassictask/Mono.Cecil.pdb b/tools/NetWorkManager/packages/Fody.6.8.2/netclassictask/Mono.Cecil.pdb new file mode 100644 index 0000000..9fdf309 Binary files /dev/null and b/tools/NetWorkManager/packages/Fody.6.8.2/netclassictask/Mono.Cecil.pdb differ diff --git a/tools/NetWorkManager/packages/Fody.6.8.2/netstandardtask/Fody.dll b/tools/NetWorkManager/packages/Fody.6.8.2/netstandardtask/Fody.dll new file mode 100644 index 0000000..01f5545 Binary files /dev/null and b/tools/NetWorkManager/packages/Fody.6.8.2/netstandardtask/Fody.dll differ diff --git a/tools/NetWorkManager/packages/Fody.6.8.2/netstandardtask/FodyCommon.dll b/tools/NetWorkManager/packages/Fody.6.8.2/netstandardtask/FodyCommon.dll new file mode 100644 index 0000000..0d5013e Binary files /dev/null and b/tools/NetWorkManager/packages/Fody.6.8.2/netstandardtask/FodyCommon.dll differ diff --git a/tools/NetWorkManager/packages/Fody.6.8.2/netstandardtask/FodyHelpers.dll b/tools/NetWorkManager/packages/Fody.6.8.2/netstandardtask/FodyHelpers.dll new file mode 100644 index 0000000..0e8a2d6 Binary files /dev/null and b/tools/NetWorkManager/packages/Fody.6.8.2/netstandardtask/FodyHelpers.dll differ diff --git a/tools/NetWorkManager/packages/Fody.6.8.2/netstandardtask/FodyIsolated.dll b/tools/NetWorkManager/packages/Fody.6.8.2/netstandardtask/FodyIsolated.dll new file mode 100644 index 0000000..c643697 Binary files /dev/null and b/tools/NetWorkManager/packages/Fody.6.8.2/netstandardtask/FodyIsolated.dll differ diff --git a/tools/NetWorkManager/packages/Fody.6.8.2/netstandardtask/Mono.Cecil.Pdb.dll b/tools/NetWorkManager/packages/Fody.6.8.2/netstandardtask/Mono.Cecil.Pdb.dll new file mode 100644 index 0000000..df1c878 Binary files /dev/null and b/tools/NetWorkManager/packages/Fody.6.8.2/netstandardtask/Mono.Cecil.Pdb.dll differ diff --git a/tools/NetWorkManager/packages/Fody.6.8.2/netstandardtask/Mono.Cecil.Pdb.pdb b/tools/NetWorkManager/packages/Fody.6.8.2/netstandardtask/Mono.Cecil.Pdb.pdb new file mode 100644 index 0000000..21c0a8e Binary files /dev/null and b/tools/NetWorkManager/packages/Fody.6.8.2/netstandardtask/Mono.Cecil.Pdb.pdb differ diff --git a/tools/NetWorkManager/packages/Fody.6.8.2/netstandardtask/Mono.Cecil.Rocks.dll b/tools/NetWorkManager/packages/Fody.6.8.2/netstandardtask/Mono.Cecil.Rocks.dll new file mode 100644 index 0000000..3d9ca3f Binary files /dev/null and b/tools/NetWorkManager/packages/Fody.6.8.2/netstandardtask/Mono.Cecil.Rocks.dll differ diff --git a/tools/NetWorkManager/packages/Fody.6.8.2/netstandardtask/Mono.Cecil.Rocks.pdb b/tools/NetWorkManager/packages/Fody.6.8.2/netstandardtask/Mono.Cecil.Rocks.pdb new file mode 100644 index 0000000..7ee5bfa Binary files /dev/null and b/tools/NetWorkManager/packages/Fody.6.8.2/netstandardtask/Mono.Cecil.Rocks.pdb differ diff --git a/tools/NetWorkManager/packages/Fody.6.8.2/netstandardtask/Mono.Cecil.dll b/tools/NetWorkManager/packages/Fody.6.8.2/netstandardtask/Mono.Cecil.dll new file mode 100644 index 0000000..7986139 Binary files /dev/null and b/tools/NetWorkManager/packages/Fody.6.8.2/netstandardtask/Mono.Cecil.dll differ diff --git a/tools/NetWorkManager/packages/Fody.6.8.2/netstandardtask/Mono.Cecil.pdb b/tools/NetWorkManager/packages/Fody.6.8.2/netstandardtask/Mono.Cecil.pdb new file mode 100644 index 0000000..2bffe4c Binary files /dev/null and b/tools/NetWorkManager/packages/Fody.6.8.2/netstandardtask/Mono.Cecil.pdb differ diff --git a/tools/NetWorkManager/packages/Fody.6.8.2/readme.md b/tools/NetWorkManager/packages/Fody.6.8.2/readme.md new file mode 100644 index 0000000..658c167 --- /dev/null +++ b/tools/NetWorkManager/packages/Fody.6.8.2/readme.md @@ -0,0 +1,98 @@ +[![AppVeyor](https://img.shields.io/appveyor/ci/SimonCropp/fody/master.svg?style=flat&max-age=86400&label=appveyor)](https://ci.appveyor.com/project/SimonCropp/fody/branch/master) +[![Chat on Gitter](https://img.shields.io/gitter/room/fody/fody.svg)](https://gitter.im/Fody/Fody) +[![NuGet Status](https://img.shields.io/nuget/v/Fody.svg)](https://www.nuget.org/packages/Fody/) +[![Patrons on Open Collective](https://opencollective.com/fody/tiers/patron/badge.svg)](#patrons) + +### Extensible tool for weaving .net assemblies + +Manipulating the IL of an assembly as part of a build requires a significant amount of plumbing code. This plumbing code involves knowledge of both the MSBuild and Visual Studio APIs. Fody attempts to eliminate that plumbing code through an extensible add-in model. + +**This is the codebase of core Fody engine. For more information on the larger Fody project see https://github.com/Fody/Home.** + +**See [Milestones](https://github.com/Fody/Fody/milestones?state=closed) for release notes.** + + + + +[Already a Patron? skip past this section](#endofbacking) + + +## Community backed + +Fody requires significant effort to maintain. As such it relies on financial support to ensure its long term viability. + +**It is expected that all developers using Fody [become a Patron on OpenCollective](https://opencollective.com/fody/contribute/patron-3059).** + +[See Licensing/Patron FAQ](https://github.com/Fody/Home/blob/master/pages/licensing-patron-faq.md) for more information. + + +### Gold Sponsors + +Support this project by [becoming a Gold Sponsor](https://opencollective.com/fody/contribute/gold-7088). A large company logo will be added here with a link to your website. + +PostSharp + + +### Silver Sponsors + +Support this project by [becoming a Silver Sponsor](https://opencollective.com/fody/contribute/silver-7086). A medium company logo will be added here with a link to your website. + +G-Research Particular Software + + +### Bronze Sponsors + +Support this project by [becoming a Bronze Sponsor](https://opencollective.com/fody/contribute/bronze-7085). The company avatar will show up here with a link to your OpenCollective Profile. + + + + + +### Patrons and sponsors + +Thanks to all the backers and sponsors! Support this project by [becoming a patron](https://opencollective.com/fody/contribute/patron-3059). + + + + + + + +## Documentation and Further Learning + + * [Licensing and patron FAQ](https://github.com/Fody/Home/tree/master/pages/licensing-patron-faq.md)
+ **It is expected that all developers using Fody [become a Patron on OpenCollective](https://opencollective.com/fody/order/3059).** See [Licensing/Patron FAQ](https://github.com/Fody/Home/tree/master/pages/licensing-patron-faq.md) for more information. + * [Usage](https://github.com/Fody/Home/tree/master/pages/usage.md)
+ Introduction to using Fody. + * [Configuration](https://github.com/Fody/Home/tree/master/pages/configuration.md)
+ All configuration options for Fody. + * [Addin discovery](https://github.com/Fody/Home/tree/master/pages/addin-discovery.md)
+ How addins are resolved. + * [List of Fody weavers/addins](https://github.com/Fody/Home/tree/master/pages/addins.md)
+ * [Changelog](https://github.com/Fody/Fody/milestones?state=closed) + * [FodyAddinSamples](https://github.com/Fody/FodyAddinSamples)
+ A GitHub repo that contains a working sample of every Fody addin. + * [Common errors](https://github.com/Fody/Home/tree/master/pages/common-errors.md) + * [In solution weaving](https://github.com/Fody/Home/tree/master/pages/in-solution-weaving.md)
+ Writing an addin that manipulates IL within the same solution. + * [ProcessedByFody class](https://github.com/Fody/Home/tree/master/pages/processedbyfody-class.md)
+ Marker class added to target assemblies for diagnostic purposes. + * [Strong naming](https://github.com/Fody/Home/tree/master/pages/strong-naming.md) + * [Supported runtimes and IDE](https://github.com/Fody/Home/tree/master/pages/supported-runtimes-and-ide.md) + * [Addin development](https://github.com/Fody/Home/tree/master/pages/addin-development.md)
+ Building a new Fody addin. + * [Addin packaging](https://github.com/Fody/Home/tree/master/pages/addin-packaging.md)
+ Packaging and deployment of Fody weavers. + * [BasicFodyAddin](https://github.com/Fody/Home/tree/master/BasicFodyAddin)
+ A simple project meant to illustrate how to build an addin. + * [Fody Project Configuration Manager](https://github.com/tom-englert/ProjectConfigurationManager/wiki/6.-Fody)
+ Provides an interactive tool that can support configuring weavers, which is especially helpful in solutions with many projects. + * [Backers tracking/info](https://github.com/Fody/Home/tree/master/pages/backers.md) + * [Donations](https://github.com/Fody/Home/tree/master/pages/donations.md)
+ Every month the Fody project will donate a portion of funding raised to a charity or other cause. + + +## Contributors + +This project exists thanks to all the people who contribute. +