Table of Contents

Namespace VpnHood.Core.Filtering.Sqlite

Classes

DomainListDbBuilder

Provides the build of a split domain database from plain lists of domain names.

IpRangeListDbBuilder

Provides the build of a split IP database from plain lists of ranges, stored as given.

SplitDbBuilder

Provides the build of a split database: a SQLite file of include, exclude and block sets, which a filter of this package reads.

SplitDbManifest

Provides the manifest of a filter folder: the list of the split databases active in it, in manifest order, which an IP chain asks in turn and a domain chain the other way round.

SplitDomainDbBuilder

Provides the build of a split domain database: domain names in include, exclude and block sets, which SqliteDomainFilter reads.

SplitDomainDbInserter

Inserts domain names into a split domain database during its build.

SplitIpDbBuilder

Provides the build of a split IP database: IPv4 and IPv6 address ranges in include, exclude and block sets, which SqliteIpFilter reads.

SplitIpDbInserter

Inserts address ranges into a split IP database during its build.

SplitSqlite

Provides the one-time setup of the native SQLite library that Microsoft.Data.Sqlite.Core needs, and the memory the library holds.

SqliteDomainFilter

Provides a stage of a domain filter pipe that decides by the sets of a split domain database.

SqliteDomainFilterChain

Provides the stage of a domain filter pipe that holds a SqliteDomainFilter for each database a folder's manifest lists, and swaps them when the manifest changes.

SqliteIpFilter

Provides a stage of an IP filter pipe that decides by the sets of a split IP database.

SqliteIpFilterChain

Provides the stage of an IP filter pipe that holds a SqliteIpFilter for each database a folder's manifest lists, and swaps them when the manifest changes.