Author SHA1 Message Date
sneak 9aaf877e2f Add the iCloud Private Relay list to the IP lookup, with is_relay (closes #237)
check / check (push) Successful in 1m11s
`icloud_private_relay` is Apple's list of Private Relay networks, downloaded once a day. Every result gains `flags.is_relay`.

`parseProtonVPN` becomes `parseLinesNotEmpty`, shared with the new parser, which reads only each line's first column.

Judgement call: a line with no comma fails the parse, so a plain list of networks at Apple's URL cannot replace a good copy.

Model: opus-5-5
2026-11-10 13:52:01 +00:00
+3 -2
View File
@@ -613,8 +613,9 @@ The ceilings add up to 3.7 GiB:
The `icloud_private_relay` list has about 285,000 networks. Neighbouring
networks merge, which leaves about 6,900 address ranges. Loaded, the list adds
about 0.3 MiB to the Go heap and under 6 MiB to the process's resident memory.
Parsing the file raises the process's peak by up to about 55 MiB for about 0.2
seconds. That happens at startup and whenever a download brings a new version.
Parsing the file allocates about 94 MiB in about 0.2 seconds. The next garbage
collection frees all of it but the 0.3 MiB above. Parsing happens at startup and
whenever a download brings a new version.
The SQLite library gets its memory from glibc, the C library. glibc keeps freed
memory in pools called arenas, and hands it back to the kernel slowly. It