diff --git a/src/Jackett/Jackett.csproj b/src/Jackett/Jackett.csproj
index 710fe375c32dac04da469e727725728307347b71..c6d358b0562509cd5090405524bb08fbf73e1235 100644
--- a/src/Jackett/Jackett.csproj
+++ b/src/Jackett/Jackett.csproj
@@ -57,6 +57,9 @@
     <Reference Include="CsQuery">
       <HintPath>..\packages\CsQuery.1.3.4\lib\net40\CsQuery.dll</HintPath>
     </Reference>
+    <Reference Include="ModernHttpClient">
+      <HintPath>..\packages\modernhttpclient.2.3.0\lib\Portable-Net45+WinRT45+WP8+WPA81\ModernHttpClient.dll</HintPath>
+    </Reference>
     <Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll</HintPath>
diff --git a/src/Jackett/Program.cs b/src/Jackett/Program.cs
index f70ccdb8403599bd81158940308693e015b18ba3..0008b3249c83ed45f4c2cde0332d671940005eb9 100644
--- a/src/Jackett/Program.cs
+++ b/src/Jackett/Program.cs
@@ -53,21 +53,24 @@ namespace Jackett
             logFile.FileName = Path.Combine(AppConfigDirectory, "log.txt");
             logFile.Layout = "${longdate} ${level} ${message} \n ${exception:format=ToString}\n";
             var logFileRule = new LoggingRule("*", LogLevel.Debug, logFile);
+            logConfig.LoggingRules.Add(logFileRule);
 
-            var logAlert = new MessageBoxTarget();
-            logConfig.AddTarget("alert", logAlert);
-            logAlert.Layout = "${message}";
-            logAlert.Caption = "Alert";
-            var logAlertRule = new LoggingRule("*", LogLevel.Fatal, logAlert);
+            if (Environment.OSVersion.Platform == PlatformID.Win32NT)
+            {
+                var logAlert = new MessageBoxTarget();
+                logConfig.AddTarget("alert", logAlert);
+                logAlert.Layout = "${message}";
+                logAlert.Caption = "Alert";
+                var logAlertRule = new LoggingRule("*", LogLevel.Fatal, logAlert);
+                logConfig.LoggingRules.Add(logAlertRule);
+            }
 
             var logConsole = new ConsoleTarget();
             logConfig.AddTarget("console", logConsole);
             logConsole.Layout = "${longdate} ${level} ${message} ${exception:format=ToString}";
             var logConsoleRule = new LoggingRule("*", LogLevel.Debug, logConsole);
-
-            logConfig.LoggingRules.Add(logFileRule);
-            logConfig.LoggingRules.Add(logAlertRule);
             logConfig.LoggingRules.Add(logConsoleRule);
+
             LogManager.Configuration = logConfig;
             LoggerInstance = LogManager.GetCurrentClassLogger();
 
@@ -79,15 +82,16 @@ namespace Jackett
 
             try
             {
-                Application.EnableVisualStyles();
-                Application.SetCompatibleTextRenderingDefault(false);
-                Application.Run(new Main());
+                if (Environment.OSVersion.Platform == PlatformID.Win32NT)
+                    Application.Run(new Main());
             }
             catch (Exception ex)
             {
-                Console.WriteLine("Running in headless mode.");
+
             }
 
+            Console.WriteLine("Running in headless mode.");
+
             Task.WaitAll(serverTask);
             Console.WriteLine("Server thread exit");
         }
diff --git a/src/Jackett/packages.config b/src/Jackett/packages.config
index c3b44dfefa62be04022cadadd2ebc056bd3aef99..f5186f515ca1ba95482e004fbe3afb36d729710d 100644
--- a/src/Jackett/packages.config
+++ b/src/Jackett/packages.config
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
   <package id="CsQuery" version="1.3.4" targetFramework="net451" />
+  <package id="modernhttpclient" version="2.3.0" targetFramework="net451" />
   <package id="Newtonsoft.Json" version="6.0.8" targetFramework="net451" />
   <package id="NLog" version="3.2.0.0" targetFramework="net451" />
 </packages>
\ No newline at end of file