> Unfortunately, I don't think there's a way to get that particular UI feature without sending all URLs to some external server.
Look up the protocol that Google's SafeBrowsing[0] project uses. The short version is that your extension should check visited URLs against a locally-downloaded database of HN-posted URLs. For SafeBrowsing there's a bit more optimisation (e.g. hashing URLs & storing only hash prefixes to reduce the size of the database), but that's the short version.
This secures the end user's privacy.
[0] https://safebrowsing.google.com/