Filtering
The filters a VpnHood client or server applies to its flows: pipes of IP and domain filters, and an IP mapper. Lists of IP ranges and domains can live in SQLite, and a domain is matched by the server name in each TLS connection.
When to use it
- You split the tunnel: some traffic goes through the VPN, and the rest goes straight out.
- A server blocks or allows destinations.
Which package to take
- Core.Filtering.Abstractions: the filter pipes, with in-memory implementations.
- Core.Filtering.Sqlite: IP range and domain lists in SQLite, for split country, split IP and split domain.
- Core.Filtering.DomainFiltering: domains, by the SNI of each TLS connection.
Its packages
| Package | What it does | |
|---|---|---|
| VpnHood.Core.Filtering.Abstractions | The filters a VpnHood client or server applies to its flows: pipes of IP and domain filters and an IP mapper, with in-memory implementations. | Overview · API |
| VpnHood.Core.Filtering.DomainFiltering | Domain filtering at the packet level, by the server name in each TLS connection's SNI. | Overview · API |
| VpnHood.Core.Filtering.Sqlite | SQLite-backed IP range and domain filters (split-country, split-ip, split-domain) for VpnHood. | Guide · API |