|Manuals

GeoIP Filtering

GeoIP Configuration for Gateways

Thinfinity Gateways can be enhanced with geographic IP detection (GeoIP) to route or filter traffic based on location. This section assumes a Communications Gateway topology is already configured, if applicable.

GeoIP is a tool used to determine the geographic location of network components. This allows for faster and more efficient connections between nodes by routing traffic based on proximity.

Enabling GeoIP in the Main Gateway

To enable GeoIP in the main Gateway, edit the settings.ini file located at:

C:\ProgramData\Cybele Software\Thinfinity\Workspace\DB\settings.ini

Open this file with a text editor running as administrator, locate the [Protection] section, and enable the GeoIpEnabled flag:

[Protection]
GeoIpEnabled=true
Already have 3 or more Communications Gateways?

GeoIpEnabled turns on automatically once three or more CommGatewayURL_N addresses are registered under [Broker] — see Registering Communications Gateway URLs — even if this flag is left at false. In that case, the filtering described below is already active.

Finally, save and close the file.

Creating a GeoIP Filter JSON File

In the root directory of your Main Gateway installation:

C:\ProgramData\Cybele Software\Thinfinity\Workspace\DB\

Create a file named geoip-filter.json and add the following structure:

{
  "FilterType": 2,
  "FilterList": [],
  "WhiteList": [],
  "Help": {
    "FilterType": "0: Disabled, 1: Include, 2: Exclude",
    "FilterList": "[\"xxyy\",\"xxyy\",...] where xx is the continent code and yy is the country code (use \"????\" for all continents or \"xx??\" to target an entire continent). Continent Codes: AF Africa, AN Antarctica, AS Asia, EU Europe, NA North America, OC Oceania, SA South America",
    "WhiteList": "Contains entries like {\"Address\": \"\",\"Reason\": \"\"} — if found, the filter will return FilterType: 1"
  }
}

Perform the following configurations:

  • FilterType: Set to 2 for exclusion filtering.
  • FilterList: Add continent and country codes you want to block.
  • WhiteList: Leave empty for now or configure exceptions as needed.