Solution 1:

Unlocator provides (at least) their own name server, which they say returns the normal results for "all other" services, but modifies those for supported services (like Netflix, Discovery Channel, ...).

There are two basic categories of location blocking:

  1. Blocking based on different IP addresses returned by name servers based on the network you're in. There are databases that share the geolocation of network segments. If you're inside the allowed region, you will receive the IP address of a server hosting the contents you want to see – otherwise you will get the IP address of a server only hosting an error message instead.

    If this technique is used, unlocator can just forward the DNS request to some name server in the allowed region.

  2. Blocking based on the remote IP address and geolocation. Name server results are irrelevant here, blocking is performed on the individual servers hosting the contents.

    To get the contents anyway, you need a proxy server with an allowed IP address. Unlocator might transparently return the proxy server instead of the real server for services using geolocation, and the normal address otherwise. Disadvantage for Unlocator: proxying all the streams requires lots of bandwith.

Which of those possibilities they actually use – I don't know. When trying to resolve some IP addresses (eg. of Discovery Channel Canada), I received different results while using their name server and mine; but both times all results point to akamai, which might be hoster for both Discovery Channel and Unlocator.