public void CloseSession(NetworkFilter.IpFilter instance, Sublayer sublayer) { if (instance.Session.Type == SessionType.Permanent) { sublayer.DestroyAllFilters(); } instance.Session.Close(); }
public Firewall( ILogger logger, Common.Configuration.Config config, INetworkInterfaces networkInterfaces, IpLayer ipLayer, Sublayer sublayer) { _logger = logger; _config = config; _networkInterfaces = networkInterfaces; _ipLayer = ipLayer; _sublayer = sublayer; }
private void CreateDynamicSession() { DynamicInstance = NetworkFilter.IpFilter.Create( Session.Dynamic(), new DisplayData { Name = "ProtonVPN Dynamic Provider" }); DynamicSublayer = DynamicInstance.CreateSublayer(new DisplayData { Name = "ProtonVPN Dynamic Sublayer" }, DynamicSublayerWeight); }
private void Create() { _ipFilter = IpFilter.Create( Session.Dynamic(), new DisplayData { Name = "Proton Technologies AG", Description = "ProtonVPN Split Tunnel provider" }); _subLayer = _ipFilter.CreateSublayer( new DisplayData { Name = "ProtonVPN Split Tunnel filters" }, WfpSubLayerWeight); }
private void Create() { _ipFilter = IpFilter.Create( Session.Dynamic(), new DisplayData { Name = "Time4VPS VPN Split Tunnel redirect app", Description = "Time4VPS VPN Split Tunnel provider" }); _subLayer = _ipFilter.CreateSublayer( new DisplayData { Name = "Time4VPS VPN Split Tunnel filters" }, WfpSubLayerWeight); }
public PermittedRemoteAddress(Sublayer sublayer, IpLayer ipLayer) { _ipLayer = ipLayer; _sublayer = sublayer; }
private void Remove() { _ipFilter?.Session.Close(); _ipFilter = null; _subLayer = null; }
public AppFilter(Sublayer sublayer, IpLayer ipLayer) { _ipLayer = ipLayer; _sublayer = sublayer; }
private void CreatePermanentSession() { PermanentInstance = new NetworkFilter.IpFilter(Session.Permanent(), _providerGuid); PermanentSublayer = new Sublayer(PermanentInstance, _sublayerGuid); }