Code:    

System requirements:

Proxy usage:

Remote usage:

You can run the program on a separate machine. An example usage: Run the progam on Raspberry Pi, but use the proxy on other computers in your local network. In order to do so:

For linux users:

For linux and CLI users:

GeoIP features: