🎉 Add Blocklist

Add an implementation of p2p plaintext (and gz compressed) blocklists.
The list can be read from an url or from a file.
All the IP ranges are then stored in interval trees.
This commit is contained in:
Alexander WB 2024-11-18 23:02:52 +01:00
parent fea00e2d18
commit 187ce8c462
4 changed files with 422 additions and 0 deletions

View file

@ -81,6 +81,7 @@ regex = "1"
reqwest = { version = "0.12", default-features = false, features = [
"json",
"socks",
"stream",
] }
urlencoding = "2"
byteorder = "1"
@ -117,6 +118,8 @@ async-backtrace = { version = "0.2", optional = true }
notify = { version = "7", optional = true }
walkdir = "2.5.0"
arc-swap = "1.7.1"
intervaltree = "0.2.7"
async-compression = {version="0.4.18", features= ["tokio", "gzip"] }
[build-dependencies]
anyhow = "1"
@ -127,3 +130,4 @@ tracing-subscriber = "0.3"
tokio-test = "0.4"
tempfile = "3"
rand = { version = "0.8", features = ["small_rng"] }
mockito = "1.2"