private ISingleVpnConnection GetWireguardConnection(IComponentContext c) { ILogger logger = c.Resolve <ILogger>(); ProtonVPN.Common.Configuration.Config config = c.Resolve <ProtonVPN.Common.Configuration.Config>(); return(new LocalAgentWrapper(logger, new EventReceiver(logger), c.Resolve <SplitTunnelRouting>(), new WireGuardConnection(logger, config, new WireGuardService(logger, config, new SafeService( new LoggingService(logger, new SystemService(config.WireGuard.ServiceName, c.Resolve <IOsProcesses>())))), new TrafficManager(config.WireGuard.ConfigFileName, logger), new StatusManager(logger, config.WireGuard.LogFilePath), new X25519KeyGenerator()))); }
private static void InitCrashReporting(Common.Configuration.Config config) { CrashReports.Init(config); }
private static void CreateProfileOptimization(Common.Configuration.Config config) { ProfileOptimization.SetProfileRoot(config.LocalAppDataFolder); ProfileOptimization.StartProfile("Startup.profile"); }
public SplitTunnelRouting(ProtonVPN.Common.Configuration.Config config, INetworkInterfaces networkInterfaces, INetworkInterfaceLoader networkInterfaceLoader) { _config = config; _networkInterfaces = networkInterfaces; _networkInterfaceLoader = networkInterfaceLoader; }