Пример #1
0
        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())));
        }
Пример #2
0
 private static void InitCrashReporting(Common.Configuration.Config config)
 {
     CrashReports.Init(config);
 }
Пример #3
0
 private static void CreateProfileOptimization(Common.Configuration.Config config)
 {
     ProfileOptimization.SetProfileRoot(config.LocalAppDataFolder);
     ProfileOptimization.StartProfile("Startup.profile");
 }
Пример #4
0
 public SplitTunnelRouting(ProtonVPN.Common.Configuration.Config config, INetworkInterfaces networkInterfaces, INetworkInterfaceLoader networkInterfaceLoader)
 {
     _config                 = config;
     _networkInterfaces      = networkInterfaces;
     _networkInterfaceLoader = networkInterfaceLoader;
 }