It _is_ possible to use native OS APIs for location lookup, but these all seem to rely on cgo. Which was a bit intimidating for a "let's learn Golang" project
(Probably not the nicest code and no doubt I've broken a lot of Go idioms, but it was a good learning exercise)
IPInfo is a good service and their developer relations were surprisingly relaxed about me (mis)using their API this way
"Surprisingly relaxed," you say. Let me tell you about the time our users reverse-engineered our apps, submitted 2.2 million IPs, and broke our systems for our hackathon.
This is just our user base, to be honest and we like them for their mindset. We are happy to see users try our service in different ways and we learn a ton from them in that process. I certainly learned from you :)
(Probably not the nicest code and no doubt I've broken a lot of Go idioms, but it was a good learning exercise)
IPInfo is a good service and their developer relations were surprisingly relaxed about me (mis)using their API this way