30 May 2023 ,
[Change Log, Previous Releases]
||Ethernet, IPv4, IPv6, TCP, UDP.
Traffic routing engine
||Kernel-mode network driver.
.NET 4.5.2, up-to-date root certificates (or it will
take 2 minutes to start).
Windows 7*, 8, 8.1, 10, 11, Server 2008 R2*, Server 2012, Server 2012 R2, Server 2016, Server 2019, Server 2022.
*For Windows 2008 R2 and 7, required Service Pack 1 +
KB3033929 (SHA-2 digital signing).
*For Windows 8.1, Server 2012 R2, required KB2995730.
||CPU 1GHz and above, modern graphics card.
|Additional hardware required
Geo Router acts as a reverse proxy. It splits incoming traffic by
the country of origin, then routes the
traffic to specified servers. At its core,
Geo Router uses a device driver for traffic routing which performs routing with the minimum latency.
In routing, Geo Router hides IP addresses of communicating parties. Then it uses its own
IP address for communication. Hence, to communicating parties, everything looks like they
communicate directly with only the Geo Router system.
Standard proxies require for work at least 2 network cards. Geo Router does
the job even with a single network card having a single IP address. Geo Router automatically
detects the hardware configuration and automatically configures itself to route traffic to specified routing targets.
Geo Router can also be a part of the routing chain where at each level more specific routing rules
Here are the most commonly used for Geo Router scenarios.
Geo Router with 2 network interfaces.
Geo Router with a single network interface.
Here, Geo Router acts as a proxy 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 their traffic to specified routing targets
(servers that 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 in strengthening security of content servers.
Geo Router adds its icon to the system tray. When
window is closed it lives on the system tray. To fully stop Geo
Router, use the context menu of the system tray icon.
Assigning a Routing Target
Geo Router displays assigned routing
targets next to the countries. All traffic arriving from those countries is forwarded to
associated routing targets. The countries that don't have routing targets,
don't have their traffic forwarded.
A routing target can be specified in the Routing Target box.
It then has to be assigned to one or more geographical territories by selecting
those territories individually or collectively within the region.
The following click on Assign Target button would assign the
routing target to selected territories.
A routing target can have IPv4 or IPv6 address or both. An empty field would clear the routing target.
The appropriate IPv4/IPv6 routing target will automatically be chosen during the traffic processing.
Reserved IPv4/IPv6 Networks
In addition to geographical territories, Geo Router also understands and works with reserved networks. These are the networks
used by computers to communicate with other computers and routers on local networks.
Reserved networks can be found under [Reserved Networks IPv4] and
[Reserved Networks IPv6].
Reserved networks are pre-defined, and although they can be routed, their definitions cannot be edited.
It is recommended not to route them to avoid unusual networking situations.
Adding User-Defined Networks
In addition to pre-defined geographical territories and reserved IPv4/IPv6 networks, Geo Router allows to add user-defined
User-defined networks show up under [User-Defined Networks] region. User-defined networks are a
part of rules (not a part of the program settings).
They are saved an loaded together with the rules.
To edit user-defined networks, click
on the toolbar.
Since IPv4 and IPv6 networks have different formats of IP addresses, they are kept separately during editing.
When editing user-defined networks, the networks can overlap with other user-defined networks or with pre-defined geographical
In such cases, there is an order of precedence for determining which rules are actually in effect for a specific
IP address. The more specific
networks (those that have greater network mask) always take precedence over less specific networks.
For example, the network 192.168.1.1/32 is more specific than 192.168.0.0/16, hence the rules for 192.168.1.1/32 will take
precedence during communication with 192.168.1.1.
IP Geo Lookup is a great way to determine which network rules take precedence.
Statistics makes it easy to understand where the traffic is going to or coming from. Statistical data is accumulated since
the start of the program.
The settings for statistics can be adjusted to include or exclude non-country records.
There can also be set an interval for detection of inactive items and their removal from display.
The collection and visualization of statistical data has certain impact on CPU performance. Although on laptops
it does not make a big difference,
on servers that operate at high CPU usage and require high throughput of network data
disabling statistics may improve performance.
Logging helps to see the historical performance of rules. The refresh rate can be adjusted via settings. Just like with
statistical data, logging has an impact on CPU performance.
So, disabling it may reduce CPU usage and improve performance.
Geo Router settings can be changed via Settings dialog.
* Windows® is a registered trademark of the Microsoft Corporation.