Author SHA1 Message Date
sneak 841262a6bf Add the iCloud Private Relay list to the IP lookup, with is_relay (closes #237)
check / check (push) Failing after 7m24s
`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:18:55 +00:00
+2 -3
View File
@@ -613,9 +613,8 @@ The ceilings add up to 3.7 GiB:
The `icloud_private_relay` list has about 285,000 networks. Neighbouring The `icloud_private_relay` list has about 285,000 networks. Neighbouring
networks merge, which leaves about 6,900 address ranges. Loaded, the list adds 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. about 0.3 MiB to the Go heap and under 6 MiB to the process's resident memory.
Parsing the file allocates about 94 MiB in about 0.2 seconds. The next garbage Parsing the file raises the process's peak by up to about 55 MiB for about 0.2
collection frees all of it but the 0.3 MiB above. Parsing happens at startup and seconds. That happens at startup and whenever a download brings a new version.
whenever a download brings a new version.
The SQLite library gets its memory from glibc, the C library. glibc keeps freed 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 memory in pools called arenas, and hands it back to the kernel slowly. It