add Novetus.Core namespace. Basic web proxy Extension support.
This commit is contained in:
parent
b0b2bad019
commit
f46b7d9a9c
|
|
@ -1,5 +1,6 @@
|
|||
#region Usings
|
||||
using NLog;
|
||||
using Novetus.Core;
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#region Usings
|
||||
using Novetus.Core;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
#endregion
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using NLog;
|
||||
using Novetus.Core;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Text;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#region Usings
|
||||
using Novetus.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@
|
|||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
|
||||
using Novetus.Core;
|
||||
|
||||
partial class CharacterCustomizationCompact
|
||||
{
|
||||
/// <summary>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#region Usings
|
||||
using Novetus.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
|
|
|
|||
|
|
@ -6,6 +6,8 @@
|
|||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
using Novetus.Core;
|
||||
|
||||
partial class CharacterCustomizationExtended
|
||||
{
|
||||
/// <summary>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#region Usings
|
||||
using Novetus.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
|
|
|
|||
|
|
@ -3,6 +3,8 @@ using System.Collections.Specialized;
|
|||
using System.Text.RegularExpressions;
|
||||
#endregion
|
||||
|
||||
namespace Novetus.Core
|
||||
{
|
||||
#region CommandLineArguments
|
||||
public class CommandLineArguments
|
||||
{
|
||||
|
|
@ -118,3 +120,4 @@ using System.Text.RegularExpressions;
|
|||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,8 @@ using System;
|
|||
using System.Security.Cryptography;
|
||||
#endregion
|
||||
|
||||
namespace Novetus.Core
|
||||
{
|
||||
#region CryptoRandom
|
||||
|
||||
public class CryptoRandom : RandomNumberGenerator
|
||||
|
|
@ -49,3 +51,4 @@ public class CryptoRandom : RandomNumberGenerator
|
|||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,8 @@ using System.Threading;
|
|||
using System.Windows.Forms;
|
||||
#endregion
|
||||
|
||||
namespace Novetus.Core
|
||||
{
|
||||
#region Downloader
|
||||
|
||||
class Downloader
|
||||
|
|
@ -248,3 +250,4 @@ class Downloader
|
|||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@
|
|||
using System.Runtime.InteropServices;
|
||||
#endregion
|
||||
|
||||
namespace Novetus.Core
|
||||
{
|
||||
#region Discord RPC
|
||||
//code by discord obv. just renamed it to fit better.
|
||||
public class DiscordRPC
|
||||
|
|
@ -94,3 +96,4 @@ public class DiscordRPC
|
|||
public static extern void Respond(string userId, Reply reply);
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@ using System.Runtime.InteropServices;
|
|||
using System.Text;
|
||||
#endregion
|
||||
|
||||
namespace Novetus.Core
|
||||
{
|
||||
#region INI File Parser
|
||||
//modified from https://www.codeproject.com/articles/1966/an-ini-file-handling-class-using-c?fid=425860&df=90&mpp=25&prof=True&sort=Position&view=Normal&spc=Relaxed&fr=51
|
||||
|
||||
|
|
@ -97,3 +99,4 @@ public class INIFile
|
|||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,111 @@
|
|||
#region Usings
|
||||
using System;
|
||||
using System.Reflection;
|
||||
using Microsoft.CSharp;
|
||||
using System.CodeDom.Compiler;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
#endregion
|
||||
|
||||
// based on https://stackoverflow.com/questions/137933/what-is-the-best-scripting-language-to-embed-in-a-c-sharp-desktop-application
|
||||
namespace Novetus.Core
|
||||
{
|
||||
#region Script
|
||||
public class Script
|
||||
{
|
||||
public static object LoadScriptFromContent(string scriptPath)
|
||||
{
|
||||
try
|
||||
{
|
||||
using (var stream = File.OpenRead(scriptPath))
|
||||
{
|
||||
using (var reader = new StreamReader(stream))
|
||||
{
|
||||
string script = reader.ReadToEnd();
|
||||
Assembly compiled = CompileScript(script, scriptPath);
|
||||
object code = ExecuteScript(compiled, scriptPath);
|
||||
return code;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ErrorHandler(scriptPath + ": " + ex.ToString(), true);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private static object ExecuteScript(Assembly assemblyScript, string filePath)
|
||||
{
|
||||
if (assemblyScript == null)
|
||||
{
|
||||
goto error;
|
||||
}
|
||||
|
||||
foreach (Type type in assemblyScript.GetExportedTypes())
|
||||
{
|
||||
if (type.IsInterface || type.IsAbstract)
|
||||
continue;
|
||||
|
||||
ConstructorInfo constructor = type.GetConstructor(Type.EmptyTypes);
|
||||
|
||||
if (constructor != null && constructor.IsPublic)
|
||||
{
|
||||
return constructor.Invoke(null);
|
||||
}
|
||||
else
|
||||
{
|
||||
ErrorHandler(filePath + ": Constructor does not exist or it is not public.", true);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
error:
|
||||
ErrorHandler(filePath + ": Failed to load script.", true);
|
||||
return null;
|
||||
}
|
||||
|
||||
private static Assembly CompileScript(string code, string filePath)
|
||||
{
|
||||
CSharpCodeProvider provider = new CSharpCodeProvider();
|
||||
|
||||
CompilerParameters perams = new CompilerParameters();
|
||||
perams.GenerateExecutable = false;
|
||||
perams.GenerateInMemory = true;
|
||||
|
||||
var assemblies = AppDomain.CurrentDomain.GetAssemblies().Where(a => !a.IsDynamic).Select(a => a.Location);
|
||||
perams.ReferencedAssemblies.AddRange(assemblies.ToArray());
|
||||
|
||||
CompilerResults result = provider.CompileAssemblyFromSource(perams, code);
|
||||
|
||||
foreach (CompilerError error in result.Errors)
|
||||
{
|
||||
ErrorHandler(error, filePath, error.IsWarning, false);
|
||||
}
|
||||
|
||||
if (result.Errors.HasErrors)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
return result.CompiledAssembly;
|
||||
}
|
||||
|
||||
public static void ErrorHandler(string error, bool finalError = false)
|
||||
{
|
||||
ErrorHandler(error, false, finalError);
|
||||
}
|
||||
|
||||
private static void ErrorHandler(string error, bool warning, bool finalError)
|
||||
{
|
||||
Util.ConsolePrint(warning ? "[SCRIPT WARNING] - " : "[SCRIPT ERROR] - " + error, warning ? 5 : 2);
|
||||
}
|
||||
|
||||
private static void ErrorHandler(CompilerError error, string fileName, bool warning, bool finalError)
|
||||
{
|
||||
Util.ConsolePrint(warning ? "[SCRIPT WARNING] - " : "[SCRIPT ERROR] - " + fileName + " (" + error.Line + "," + error.Column + "): " + error.ErrorText, warning ? 5 : 2);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
|
@ -4,6 +4,8 @@ using System.Collections.Generic;
|
|||
using System.IO;
|
||||
#endregion
|
||||
|
||||
namespace Novetus.Core
|
||||
{
|
||||
#region Text Line Remover and Friends
|
||||
// modified from https://stackoverflow.com/questions/668907/how-to-delete-a-line-from-a-text-file-in-c/668914#668914
|
||||
|
||||
|
|
@ -101,3 +103,4 @@ public struct RemovedLineArgs
|
|||
public int RemovedLineNumber { get; set; }
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,9 +7,10 @@ using System.IO;
|
|||
using System.Runtime.InteropServices;
|
||||
#endregion
|
||||
|
||||
|
||||
//https://github.com/davcs86/csharp-uhwid
|
||||
//merged into one class
|
||||
namespace UHWID
|
||||
namespace Novetus.Core
|
||||
{
|
||||
#region UHWIDEngine
|
||||
public static class UHWIDEngine
|
||||
|
|
|
|||
|
|
@ -12,11 +12,64 @@ using Titanium.Web.Proxy.EventArguments;
|
|||
using Titanium.Web.Proxy.Http;
|
||||
using Titanium.Web.Proxy.Models;
|
||||
|
||||
namespace Novetus.Core
|
||||
{
|
||||
public class IWebProxyExtension
|
||||
{
|
||||
public virtual string Name { get; set; } = "Unnamed Web Proxy Extension";
|
||||
public virtual void OnExtensionLoad() { }
|
||||
public virtual void OnProxyStart() { }
|
||||
public virtual void OnProxyStopped() { }
|
||||
|
||||
public virtual bool IsValidURL(string absolutePath, string host) { return false; }
|
||||
|
||||
public virtual Task OnBeforeTunnelConnectRequest(object sender, TunnelConnectSessionEventArgs e) { return Task.CompletedTask; }
|
||||
#pragma warning disable CS1998 // Async method lacks 'await' operators and will run synchronously
|
||||
public virtual async Task OnRequest(object sender, SessionEventArgs e) { }
|
||||
#pragma warning restore CS1998 // Async method lacks 'await' operators and will run synchronously
|
||||
}
|
||||
|
||||
public class WebProxy
|
||||
{
|
||||
private static List<IWebProxyExtension> ExtensionList = new List<IWebProxyExtension>();
|
||||
private static ProxyServer Server = new ProxyServer();
|
||||
private static ExplicitProxyEndPoint end;
|
||||
|
||||
public void LoadExtensions()
|
||||
{
|
||||
string nothingFoundError = "No extensions found. The Web Proxy will run with limited functionality.";
|
||||
|
||||
if (!Directory.Exists(GlobalPaths.NovetusExtsWebProxy))
|
||||
{
|
||||
Util.ConsolePrint(nothingFoundError, 5);
|
||||
return;
|
||||
}
|
||||
|
||||
// load up all .cs files.
|
||||
string[] filePaths = Directory.GetFiles(GlobalPaths.NovetusExtsWebProxy, "*.cs", SearchOption.TopDirectoryOnly);
|
||||
|
||||
if (filePaths.Count() == 0)
|
||||
{
|
||||
Util.ConsolePrint(nothingFoundError, 5);
|
||||
return;
|
||||
}
|
||||
|
||||
foreach (string file in filePaths)
|
||||
{
|
||||
try
|
||||
{
|
||||
IWebProxyExtension newExt = (IWebProxyExtension)Script.LoadScriptFromContent(file);
|
||||
ExtensionList.Add(newExt);
|
||||
Util.ConsolePrint("Web Proxy: Loaded extension " + newExt.Name + " from " + Path.GetFileName(file), 3);
|
||||
newExt.OnExtensionLoad();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Util.LogExceptions(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public bool HasStarted()
|
||||
{
|
||||
return Server.ProxyRunning;
|
||||
|
|
@ -62,12 +115,16 @@ public class WebProxy
|
|||
{
|
||||
try
|
||||
{
|
||||
//load ext
|
||||
LoadExtensions();
|
||||
Server.CertificateManager.RootCertificateIssuerName = "Novetus";
|
||||
Server.CertificateManager.RootCertificateName = "Novetus Web Proxy";
|
||||
Server.BeforeRequest += new AsyncEventHandler<SessionEventArgs>(OnRequest);
|
||||
UpdateEndPoint(true);
|
||||
Util.ConsolePrint("Web Proxy started on port " + GlobalVars.WebProxyPort, 3);
|
||||
foreach (IWebProxyExtension extension in ExtensionList.ToArray())
|
||||
{
|
||||
extension.OnProxyStart();
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
|
@ -104,7 +161,7 @@ public class WebProxy
|
|||
Util.ConsolePrint("Web Proxy Endpoint updated with port " + GlobalVars.WebProxyPort, 3);
|
||||
}
|
||||
|
||||
private bool IsURIAllowed(HttpWebClient client)
|
||||
private bool IsValidURL(HttpWebClient client)
|
||||
{
|
||||
string uri = client.Request.RequestUri.Host;
|
||||
|
||||
|
|
@ -138,11 +195,32 @@ public class WebProxy
|
|||
|
||||
private Task OnBeforeTunnelConnectRequest(object sender, TunnelConnectSessionEventArgs e)
|
||||
{
|
||||
if (!IsURIAllowed(e.HttpClient))
|
||||
if (!IsValidURL(e.HttpClient))
|
||||
{
|
||||
e.DecryptSsl = false;
|
||||
}
|
||||
|
||||
Uri uri = e.HttpClient.Request.RequestUri;
|
||||
|
||||
foreach (IWebProxyExtension extension in ExtensionList.ToArray())
|
||||
{
|
||||
if (extension.IsValidURL(uri.AbsolutePath.ToLowerInvariant(), uri.Host))
|
||||
{
|
||||
try
|
||||
{
|
||||
extension.OnBeforeTunnelConnectRequest(sender, e);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Util.LogExceptions(ex);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
e.DecryptSsl = false;
|
||||
}
|
||||
}
|
||||
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
|
|
@ -150,11 +228,31 @@ public class WebProxy
|
|||
private async Task OnRequest(object sender, SessionEventArgs e)
|
||||
#pragma warning restore CS1998 // Async method lacks 'await' operators and will run synchronously
|
||||
{
|
||||
if (!IsURIAllowed(e.HttpClient))
|
||||
if (!IsValidURL(e.HttpClient))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Uri uri = e.HttpClient.Request.RequestUri;
|
||||
|
||||
foreach (IWebProxyExtension extension in ExtensionList.ToArray())
|
||||
{
|
||||
if (extension.IsValidURL(uri.AbsolutePath.ToLowerInvariant(), uri.Host))
|
||||
{
|
||||
try
|
||||
{
|
||||
await extension.OnRequest(sender, e);
|
||||
return;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Util.LogExceptions(ex);
|
||||
e.GenericResponse("", HttpStatusCode.InternalServerError);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
e.GenericResponse("", HttpStatusCode.NotFound);
|
||||
}
|
||||
|
||||
|
|
@ -163,11 +261,19 @@ public class WebProxy
|
|||
Util.ConsolePrint("Web Proxy stopping on port " + GlobalVars.WebProxyPort, 3);
|
||||
Server.BeforeRequest -= new AsyncEventHandler<SessionEventArgs>(OnRequest);
|
||||
Server.Stop();
|
||||
}
|
||||
}
|
||||
|
||||
public interface IWebProxyExtention
|
||||
foreach (IWebProxyExtension extension in ExtensionList.ToArray())
|
||||
{
|
||||
|
||||
try
|
||||
{
|
||||
extension.OnProxyStopped();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Util.LogExceptions(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
<Import_RootNamespace>NovetusCore</Import_RootNamespace>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Classes\Script.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Classes\WebProxy.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)StorageAndFunctions\ClientManagement.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Classes\Downloader.cs" />
|
||||
|
|
|
|||
|
|
@ -12,6 +12,8 @@ using System.Security.Cryptography;
|
|||
using System.Reflection;
|
||||
#endregion
|
||||
|
||||
namespace Novetus.Core
|
||||
{
|
||||
#region Client Management
|
||||
public class ClientManagement
|
||||
{
|
||||
|
|
@ -1890,3 +1892,4 @@ public class ScriptFuncs
|
|||
#endregion
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,6 +14,8 @@ using System.Xml.Serialization;
|
|||
using System.Runtime.Versioning;
|
||||
#endregion
|
||||
|
||||
namespace Novetus.Core
|
||||
{
|
||||
#region File Formats
|
||||
public class FileFormat
|
||||
{
|
||||
|
|
@ -1503,3 +1505,4 @@ public class FileManagement
|
|||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
|
@ -3,6 +3,8 @@ using System.IO;
|
|||
using System.Reflection;
|
||||
#endregion
|
||||
|
||||
namespace Novetus.Core
|
||||
{
|
||||
#region Global Paths
|
||||
|
||||
public class GlobalPaths
|
||||
|
|
@ -23,6 +25,8 @@ public class GlobalPaths
|
|||
public static readonly string MapsDir = BasePath + @"\\maps";
|
||||
public static readonly string AddonDir = BasePath + @"\\addons";
|
||||
public static readonly string AddonCoreDir = AddonDir + @"\\core";
|
||||
public static readonly string AddonNovetusExts = AddonDir + @"\\novetusexts";
|
||||
public static readonly string NovetusExtsWebProxy = AddonNovetusExts + @"\\webproxy";
|
||||
public static readonly string MapsDirCustom = MapsDir + @"\\Custom";
|
||||
public static readonly string MapsDirBase = "maps";
|
||||
public static readonly string BaseGameDir = "rbxasset://../../../";
|
||||
|
|
@ -116,3 +120,4 @@ public class GlobalPaths
|
|||
#endregion
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,6 +14,8 @@ using System.Diagnostics;
|
|||
using System.Windows.Forms;
|
||||
#endregion
|
||||
|
||||
namespace Novetus.Core
|
||||
{
|
||||
#region Script Type
|
||||
public enum ScriptType
|
||||
{
|
||||
|
|
@ -151,3 +153,4 @@ public static class GlobalVars
|
|||
#endregion
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@ using Mono.Nat;
|
|||
using System;
|
||||
#endregion
|
||||
|
||||
namespace Novetus.Core
|
||||
{
|
||||
#region NetFuncs
|
||||
|
||||
public static class NetFuncs
|
||||
|
|
@ -50,4 +52,5 @@ public static class NetFuncs
|
|||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@ using System.Windows.Forms;
|
|||
using System.Collections.Generic;
|
||||
#endregion
|
||||
|
||||
namespace Novetus.Core
|
||||
{
|
||||
#region Novetus Functions
|
||||
public class NovetusFuncs
|
||||
{
|
||||
|
|
@ -126,7 +128,7 @@ public class NovetusFuncs
|
|||
public static string GenerateAndReturnTripcode()
|
||||
{
|
||||
//Powered by https://github.com/davcs86/csharp-uhwid
|
||||
return UHWID.UHWIDEngine.AdvancedUid;
|
||||
return UHWIDEngine.AdvancedUid;
|
||||
}
|
||||
|
||||
public static void PingMasterServer(bool online, string reason)
|
||||
|
|
@ -673,3 +675,4 @@ public static class RobloxXML
|
|||
}
|
||||
#endregion
|
||||
#endregion
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,6 +14,8 @@ using System.Net;
|
|||
using System.Threading.Tasks;
|
||||
#endregion
|
||||
|
||||
namespace Novetus.Core
|
||||
{
|
||||
#region Security Functions
|
||||
public class SecurityFuncs
|
||||
{
|
||||
|
|
@ -176,10 +178,14 @@ public class SecurityFuncs
|
|||
{
|
||||
string rbxscript = GlobalPaths.BasePath + "\\clients\\" + client + "\\content\\scripts\\" + GlobalPaths.ScriptName + ".lua";
|
||||
return CheckMD5(GlobalVars.SelectedClientInfo.ScriptMD5, rbxscript);
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
@ -380,3 +386,4 @@ public class SecurityFuncs
|
|||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
|
@ -20,6 +20,8 @@ using Mono.Nat;
|
|||
#endif
|
||||
#endregion
|
||||
|
||||
namespace Novetus.Core
|
||||
{
|
||||
#region Utils
|
||||
|
||||
public static class Util
|
||||
|
|
@ -1064,3 +1066,4 @@ public partial class TabControlWithoutHeader : TabControl
|
|||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
#region Usings
|
||||
using Ionic.Zip;
|
||||
using Novetus.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#region Usings
|
||||
using Novetus.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#region Usings
|
||||
using Novetus.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#region Usings
|
||||
using Novetus.Core;
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using System.Windows.Forms;
|
||||
using Novetus.Core;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace NovetusLauncher
|
||||
{
|
||||
|
|
|
|||
|
|
@ -6,6 +6,8 @@
|
|||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
using Novetus.Core;
|
||||
|
||||
namespace NovetusLauncher
|
||||
{
|
||||
partial class LauncherFormCompact
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
#region Usings
|
||||
using Mono.Nat;
|
||||
using Novetus.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
|
|
|
|||
|
|
@ -6,6 +6,8 @@
|
|||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
using Novetus.Core;
|
||||
|
||||
namespace NovetusLauncher
|
||||
{
|
||||
partial class LauncherFormExtended
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ using System.Reflection;
|
|||
using Mono.Nat;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using Novetus.Core;
|
||||
#endregion
|
||||
|
||||
namespace NovetusLauncher
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
#region Usings
|
||||
using Mono.Nat;
|
||||
using Novetus.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#region Usings
|
||||
using Novetus.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#region Usings
|
||||
using Novetus.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#region Usings
|
||||
using Novetus.Core;
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Windows.Forms;
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ using System.Text;
|
|||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using NLog;
|
||||
using Novetus.Core;
|
||||
|
||||
namespace NovetusLauncher
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#region Usings
|
||||
using Novetus.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#region Usings
|
||||
using Novetus.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
using System;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
using Novetus.Core;
|
||||
#endregion
|
||||
|
||||
#region ClientScriptDocumentation
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ using System.Windows.Forms;
|
|||
using System.IO;
|
||||
using System.Globalization;
|
||||
using System.Collections.Generic;
|
||||
using Novetus.Core;
|
||||
#endregion
|
||||
|
||||
#region Client SDK
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#region Usings
|
||||
using Novetus.Core;
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#region Usings
|
||||
using Novetus.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#region Usings
|
||||
using Novetus.Core;
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
#endregion
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#region Usings
|
||||
using Novetus.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using System;
|
||||
using Novetus.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#region Usings
|
||||
using Novetus.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#region Usings
|
||||
using Novetus.Core;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#region Usings
|
||||
using Novetus.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#region Usings
|
||||
using Novetus.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
#region Usings
|
||||
using NLog;
|
||||
using Novetus.Core;
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Globalization;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
#region Usings
|
||||
using Microsoft.Win32;
|
||||
using Novetus.Core;
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#region Usings
|
||||
using Novetus.Core;
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
#endregion
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ using System.Diagnostics;
|
|||
using System.Threading;
|
||||
using System.Windows.Forms;
|
||||
using NLog;
|
||||
using Novetus.Core;
|
||||
#endregion
|
||||
|
||||
namespace NovetusURI
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ using System;
|
|||
using System.Windows.Forms;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using Novetus.Core;
|
||||
#endregion
|
||||
|
||||
namespace NovetusURI
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
#region Usings
|
||||
using NLog;
|
||||
using Novetus.Core;
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Threading;
|
||||
|
|
|
|||
Loading…
Reference in New Issue