Problem 1: I wanted to load the IP ranges directly from the gstatic server, so the result is up-to-date.
However, the server does not set the header for cross-origin requests (CORS), so I had to use the power of a browser extension to actually inject it:
https://github.com/rugk/googerteller/blob/v0.1/src/background/modules/GStaticCorsFaker.js
Problem 2: Parsing a JSON is a thing JS is made for, so that's simple enough, but checking subnets is not.
Stackoverflow questions basically are all like “come on, learn that thing and implement it yourself”, but a) as a dev you should know that this is certainly a step to use a library, especially given that b) I really really do not want to care thinking about parsing IPv6 IPs now.