Пример #1
0
        public void EnableExcludeMode(IEnumerable <string> apps, IPAddress internetLocalIp)
        {
            Create();

            _ipFilter.Session.StartTransaction();
            try
            {
                var callout = _ipFilter.CreateCallout(
                    new DisplayData
                {
                    Name        = "ProtonVPN Split Tunnel callout",
                    Description = "Redirects network connections",
                },
                    WfpCalloutKey,
                    Layer.BindRedirectV4
                    );

                var providerContext = _ipFilter.CreateProviderContext(
                    new DisplayData
                {
                    Name        = "ProtonVPN Split Tunnel redirect context",
                    Description = "Instructs the callout driver where to redirect network connections",
                },
                    new BindingRedirectData(internetLocalIp));

                CreateAppFilters(apps, callout, providerContext);

                _ipFilter.Session.CommitTransaction();
            }
            catch
            {
                _ipFilter.Session.AbortTransaction();
                throw;
            }
        }
Пример #2
0
 private Callout CreateConnectRedirectCallout()
 {
     return(_ipFilter.CreateCallout(
                new DisplayData
     {
         Name = "ProtonVPN Split Tunnel callout",
         Description = "Redirects network connections",
     },
                WfpCalloutKey,
                Layer.AppConnectRedirectV4
                ));
 }