Geo Router

    • Version: 1.22
    • Supported OSes:
      Windows 7, 8, 8.1, 10,
      Server 2008 R2, Server 2012,
      Server 2012 R2, Server 2016

    • NOTE: The Basic (free) edition has to be activated with a free serial number. See the product edition chart for details.

  • Geo Firewall main screenshot

Features 30-day Trial Basic (Free)
Max number of routing targets 3 3 unlimited
Maximum number of user-defined networks 3 3 100
Background without a watermark no no yes
License to use for more than 30 days no yes yes
Price (in USD) - Free $19.95

Technical Specifications

Latest release 1.22 , 25 Apr 2017 , [Change Log]
Supported networking Ethernet, IPv4, IPv6, TCP, UDP.
Traffic blocking engine Kernel-mode network driver.
Prerequisites .NET 4.0, up-to-date root certificates (or it will take 2 minutes to start).
Supported OSes Windows 7*, 8, 8.1, 10, Server 2008 R2*, Server 2012, Server 2012 R2, Server 2016.

*For Windows 2008 R2 and 7, required Service Pack 1 + KB3033929 (SHA-2 digital signing).
Recommended hardware CPU 1GHz and above, modern graphics card.
Additional hardware required none


On the Internet, content servers receive network traffic from many different countries. That traffic is often handled by the same servers that don't distinguish between geographical regions and serve the same content to everybody who requests. No consideration is given to differences in regulatory environments and security threat contexts of individual countries. Geo Router allows to partition incoming traffic by forwarding it in accordance with country specific settings. Hence, the network traffic received by the content servers is known to have originated from the specific countries. Geo Router uses a proprietary Network Address Translation and can act as a server that hides IP addresses of actual Internet users.

The standard way routers usually work is that they have at least 2 distinct network interfaces (network cards). Each interface is connected to either a private or a public network. Geo Router uses Network Address Translation, hence, it can do the job even with a single network interface with a single IP address. There is no configuration is needed, Geo Router configures itself automatically. The below are examples of Geo Router connectivity.

Geo Router with 2 network interfaces (network cards).

Geo Router 2 network card configuration

Geo Router with a single network interface (network card).

Geo Router 1 network card configuration

Geo Router acts as a server that receives connection requests from all over the world. Internet users that connect to Geo Router are not exposed to the details of routing and IP address translation which happens behind the scenes. To them Geo Router appears as a regular server. When Geo Router forwards network traffic to specified route targets (servers the provide the actual content), it performs IP address translation. This translation makes the traffic processed by Geo Router look like it originated on Geo Router. Geo Router places its own IP address on each packet. This helps to strengthen security on content servers by adding firewall rules that allow only the network traffic from Geo Router.

Multiple Geo Routers can work in a chain. That allows splitting and merging traffic from multiple countries. For example, Geo Router [A] may forward network traffic to Geo Router [B] which in turn may also be receiving and merging traffic from several other Geo Routers before forwarding it to content servers.

Geo Router

Geo Router is an application. It adds its icon to the system tray and hides its main window when minimized, then lives on the system tray. Once it is closed, all routing stops. So, don't close it, just minimize it.

Geo Router system tray icon

Geo Router displays assigned routing targets for each country. All traffic arriving from a specific country is forwarded to its assigned routing target. The countries that don't have routing targets assigned, don't have their traffic forwarded. Hence, other local (on the same system as Geo Router) programs are able to receive and work with that traffic.

Geo Router not only forwards the network traffic, it also translates its IP addresses so that the routing target server would talk only to the Geo Router and not to the original traffic sender. This feature is called a Network Address Translation (NAT). It is always on and allows Geo Router to act as a cloud based NAT.

Assigning a routing target

First, select the countries by placing a check mark next to them. The countries can be selected individually or collectively within the region.
Second, enter IP addresses of routing target servers in the "Route Target" panel located in the upper right corner. The traffic coming from selected countries will be forwarded to these servers. There are 2 fields within the "Route Target": IPv4 and IPv6. An empty field would clear the routing target, a specified field would set the routing target. The appropriate IPv4/IPv6 routing target will automatically be chosen depending on the protocol of the arrived network traffic. The "Assign Route" button assigns the routing target and clears the country selection. All assigned targets are displayed next to their respective countries.

The assigning or clearing of routing targets usually triggers automatic apply of rules (submission to the network driver). When it is triggered, a green progress bar shows up over "Apply Rules" toolbar button. The delay between a change of a routing target and the apply of rules can be set within the Settings dialog.

Once the rules are applied, they take effect immediately.

Whenever a new adapter added or removed after the start of the Geo Router, the rules are needed to be re-applied by clicking on "Apply Rules" button.

Command line parameters

Geo Router can also be started from a command line as follows:
   GeoRouter.exe [file_name] [/systray]

  • "file_name" - the name of the file to load and run.
  • "/systray" - the flag that hides the main window after placing an icon to the system tray.

Tutorial Video

* Windows® is a registered trademark of the Microsoft Corporation.