diff options
Diffstat (limited to 'MediaBrowser.Common.Implementations/NetworkManagement/NetworkManager.cs')
| -rw-r--r-- | MediaBrowser.Common.Implementations/NetworkManagement/NetworkManager.cs | 101 |
1 files changed, 6 insertions, 95 deletions
diff --git a/MediaBrowser.Common.Implementations/NetworkManagement/NetworkManager.cs b/MediaBrowser.Common.Implementations/NetworkManagement/NetworkManager.cs index 6db00064c..6d35d5f86 100644 --- a/MediaBrowser.Common.Implementations/NetworkManagement/NetworkManager.cs +++ b/MediaBrowser.Common.Implementations/NetworkManagement/NetworkManager.cs @@ -2,11 +2,10 @@ using MediaBrowser.Model.Net; using System; using System.Collections.Generic; -using System.Diagnostics; using System.Globalization; using System.Linq; -using System.Management; using System.Net; +using System.Net.NetworkInformation; using System.Net.Sockets; using System.Runtime.InteropServices; @@ -47,103 +46,15 @@ namespace MediaBrowser.Common.Implementations.NetworkManagement } /// <summary> - /// Creates the netsh URL registration. - /// </summary> - public void AuthorizeHttpListening(string url) - { - var startInfo = new ProcessStartInfo - { - FileName = "netsh", - Arguments = string.Format("http add urlacl url={0} user=\"NT AUTHORITY\\Authenticated Users\"", url), - CreateNoWindow = true, - WindowStyle = ProcessWindowStyle.Hidden, - Verb = "runas", - ErrorDialog = false - }; - - using (var process = Process.Start(startInfo)) - { - process.WaitForExit(); - } - } - - /// <summary> - /// Adds the windows firewall rule. - /// </summary> - /// <param name="port">The port.</param> - /// <param name="protocol">The protocol.</param> - public void AddSystemFirewallRule(int port, NetworkProtocol protocol) - { - // First try to remove it so we don't end up creating duplicates - RemoveSystemFirewallRule(port, protocol); - - var args = string.Format("advfirewall firewall add rule name=\"Port {0}\" dir=in action=allow protocol={1} localport={0}", port, protocol); - - RunNetsh(args); - } - - /// <summary> - /// Removes the windows firewall rule. - /// </summary> - /// <param name="port">The port.</param> - /// <param name="protocol">The protocol.</param> - public void RemoveSystemFirewallRule(int port, NetworkProtocol protocol) - { - var args = string.Format("advfirewall firewall delete rule name=\"Port {0}\" protocol={1} localport={0}", port, protocol); - - RunNetsh(args); - } - - /// <summary> - /// Runs the netsh. - /// </summary> - /// <param name="args">The args.</param> - private void RunNetsh(string args) - { - var startInfo = new ProcessStartInfo - { - FileName = "netsh", - Arguments = args, - CreateNoWindow = true, - WindowStyle = ProcessWindowStyle.Hidden, - Verb = "runas", - ErrorDialog = false - }; - - using (var process = new Process { StartInfo = startInfo }) - { - process.Start(); - process.WaitForExit(); - } - } - - /// <summary> /// Returns MAC Address from first Network Card in Computer /// </summary> /// <returns>[string] MAC Address</returns> public string GetMacAddress() { - var mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); - var moc = mc.GetInstances(); - var macAddress = String.Empty; - foreach (ManagementObject mo in moc) - { - if (macAddress == String.Empty) // only return MAC Address from first card - { - try - { - if ((bool)mo["IPEnabled"]) macAddress = mo["MacAddress"].ToString(); - } - catch - { - mo.Dispose(); - return ""; - } - } - mo.Dispose(); - } - - return macAddress.Replace(":", ""); + return NetworkInterface.GetAllNetworkInterfaces() + .Where(i => i.NetworkInterfaceType != NetworkInterfaceType.Loopback) + .Select(i => BitConverter.ToString(i.GetPhysicalAddress().GetAddressBytes())) + .FirstOrDefault(); } /// <summary> @@ -339,7 +250,7 @@ namespace MediaBrowser.Common.Implementations.NetworkManagement } protected static readonly CultureInfo UsCulture = new CultureInfo("en-US"); - + /// <summary> /// Gets the port. /// </summary> |
