diff --git a/DnsServerApp/App.config b/DnsServerApp/App.config deleted file mode 100644 index 4bfa0056..00000000 --- a/DnsServerApp/App.config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/DnsServerApp/DnsServerApp.csproj b/DnsServerApp/DnsServerApp.csproj deleted file mode 100644 index 3c2dd40f..00000000 --- a/DnsServerApp/DnsServerApp.csproj +++ /dev/null @@ -1,61 +0,0 @@ - - - - - Debug - AnyCPU - {C166A19B-B533-45F8-813F-861DAB6D1865} - Exe - DnsServerApp - DnsServerApp - v4.8 - 512 - false - - - - AnyCPU - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - false - - - AnyCPU - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - false - - - logo2.ico - - - - - ..\..\TechnitiumLibrary\bin\TechnitiumLibrary.Net.Firewall.dll - - - - - - - - - {4494b79b-588c-41f2-95ad-0897123af154} - DnsServerCore - - - - - - - - \ No newline at end of file diff --git a/DnsServerApp/Program.cs b/DnsServerApp/Program.cs deleted file mode 100644 index 32500d72..00000000 --- a/DnsServerApp/Program.cs +++ /dev/null @@ -1,213 +0,0 @@ -/* -Technitium DNS Server -Copyright (C) 2020 Shreyas Zare (shreyas@technitium.com) - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . - -*/ - -using DnsServerCore; -using System; -using System.Diagnostics; -using System.Reflection; -using System.Security.Principal; -using System.Threading; -using TechnitiumLibrary.Net.Firewall; - -namespace DnsServerApp -{ - class Program - { - static void Main(string[] args) - { - #region check windows firewall entry - - string appPath = Assembly.GetEntryAssembly().Location; - - if (!WindowsFirewallEntryExists(appPath)) - { - bool isAdmin = new WindowsPrincipal(WindowsIdentity.GetCurrent()).IsInRole(WindowsBuiltInRole.Administrator); - - if (isAdmin) - { - AddWindowsFirewallEntry(appPath); - } - else - { - ProcessStartInfo processInfo = new ProcessStartInfo(appPath, string.Join(" ", args)); - - processInfo.UseShellExecute = true; - processInfo.Verb = "runas"; - - try - { - Process.Start(processInfo); - return; - } - catch - { } - } - } - - #endregion - - string configFolder = null; - - if (args.Length == 1) - configFolder = args[0]; - - EventWaitHandle waitHandle = new ManualResetEvent(false); - EventWaitHandle exitHandle = new ManualResetEvent(false); - WebService service = null; - - try - { - service = new WebService(configFolder, new Uri("https://go.technitium.com/?id=20")); - service.Start(); - - Console.CancelKeyPress += delegate (object sender, ConsoleCancelEventArgs e) - { - e.Cancel = true; - waitHandle.Set(); - }; - - AppDomain.CurrentDomain.ProcessExit += delegate (object sender, EventArgs e) - { - waitHandle.Set(); - exitHandle.WaitOne(); - }; - - Console.WriteLine("Technitium DNS Server was started successfully."); - Console.WriteLine("Using config folder: " + service.ConfigFolder); - Console.WriteLine(""); - Console.WriteLine("Note: Open http://" + service.WebServiceHostname + ":" + service.WebServicePort + "/ in web browser to access web console."); - Console.WriteLine(""); - Console.WriteLine("Press [CTRL + C] to stop..."); - - waitHandle.WaitOne(); - } - catch (Exception ex) - { - Console.WriteLine(ex.ToString()); - } - finally - { - Console.WriteLine(""); - Console.WriteLine("Technitium DNS Server is stopping..."); - - if (service != null) - service.Dispose(); - - Console.WriteLine("Technitium DNS Server was stopped successfully."); - exitHandle.Set(); - } - } - - #region private - - private static bool WindowsFirewallEntryExists(string appPath) - { - switch (Environment.OSVersion.Platform) - { - case PlatformID.Win32NT: - if (Environment.OSVersion.Version.Major > 5) - { - //vista and above - try - { - return WindowsFirewall.RuleExistsVista("", appPath) == RuleStatus.Allowed; - } - catch - { - return false; - } - } - else - { - try - { - return WindowsFirewall.ApplicationExists(appPath) == RuleStatus.Allowed; - } - catch - { - return false; - } - } - - default: - return false; - } - } - - private static bool AddWindowsFirewallEntry(string appPath) - { - switch (Environment.OSVersion.Platform) - { - case PlatformID.Win32NT: - if (Environment.OSVersion.Version.Major > 5) - { - //vista and above - try - { - RuleStatus status = WindowsFirewall.RuleExistsVista("", appPath); - - switch (status) - { - case RuleStatus.Blocked: - case RuleStatus.Disabled: - WindowsFirewall.RemoveRuleVista("", appPath); - break; - - case RuleStatus.Allowed: - return true; - } - - WindowsFirewall.AddRuleVista("Technitium DNS Server", "Allow incoming connection request to the DNS server.", FirewallAction.Allow, appPath, Protocol.ANY, null, null, null, null, InterfaceTypeFlags.All, true, Direction.Inbound, true); - return true; - } - catch - { } - } - else - { - try - { - RuleStatus status = WindowsFirewall.ApplicationExists(appPath); - - switch (status) - { - case RuleStatus.Disabled: - WindowsFirewall.RemoveApplication(appPath); - break; - - case RuleStatus.Allowed: - return true; - } - - WindowsFirewall.AddApplication("Technitium DNS Server", appPath); - return true; - } - catch - { } - } - - break; - } - - return false; - } - - #endregion - } -} diff --git a/DnsServerApp/Properties/AssemblyInfo.cs b/DnsServerApp/Properties/AssemblyInfo.cs deleted file mode 100644 index cdb076a7..00000000 --- a/DnsServerApp/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -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("Technitium DNS Server")] -[assembly: AssemblyDescription("Technitium DNS Server")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Technitium")] -[assembly: AssemblyProduct("Technitium DNS Server")] -[assembly: AssemblyCopyright("Copyright © 2020")] -[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("c166a19b-b533-45f8-813f-861dab6d1865")] - -// 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("5.5.0.0")] -[assembly: AssemblyFileVersion("5.5.0.0")] diff --git a/DnsServerApp/logo2.ico b/DnsServerApp/logo2.ico deleted file mode 100644 index 67432fd8..00000000 Binary files a/DnsServerApp/logo2.ico and /dev/null differ