Geomate - Geographic Game Server Filter for OpenWrt

Hmm, it looks like you're having an issue with installing curl or its dependencies.

Which OpenWRT version are you using? Please show me the output of:

ubus call system board
root@OpenWrt:~# ubus call system board
{
        "kernel": "6.6.73",
        "hostname": "OpenWrt",
        "system": "ARMv7 Processor rev 1 (v7l)",
        "model": "Linksys WRT1900AC v2",
        "board_name": "linksys,wrt1900ac-v2",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "24.10.0",
                "revision": "r28427-6df0e3d02a",
                "target": "mvebu/cortexa9",
                "description": "OpenWrt 24.10.0 r28427-6df0e3d02a",
                "builddate": "1738624177"
        }
}
root@OpenWrt:~#

What happens if you installcurl manually?

opkg update && opkg install curl
root@OpenWrt:~# opkg update && opkg install curl
Downloading https://downloads.openwrt.org/releases/24.10.0/targets/mvebu/cortexa9/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_core
Downloading https://downloads.openwrt.org/releases/24.10.0/targets/mvebu/cortexa9/packages/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/24.10.0/packages/arm_cortex-a9_vfpv3-d16/base/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_base
Downloading https://downloads.openwrt.org/releases/24.10.0/packages/arm_cortex-a9_vfpv3-d16/base/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/24.10.0/targets/mvebu/cortexa9/kmods/6.6.73-1-b4e6dc3c3253bf5b438f90392080acc3/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_kmods
Downloading https://downloads.openwrt.org/releases/24.10.0/targets/mvebu/cortexa9/kmods/6.6.73-1-b4e6dc3c3253bf5b438f90392080acc3/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/24.10.0/packages/arm_cortex-a9_vfpv3-d16/luci/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_luci
Downloading https://downloads.openwrt.org/releases/24.10.0/packages/arm_cortex-a9_vfpv3-d16/luci/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/24.10.0/packages/arm_cortex-a9_vfpv3-d16/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_packages
Downloading https://downloads.openwrt.org/releases/24.10.0/packages/arm_cortex-a9_vfpv3-d16/packages/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/24.10.0/packages/arm_cortex-a9_vfpv3-d16/routing/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_routing
Downloading https://downloads.openwrt.org/releases/24.10.0/packages/arm_cortex-a9_vfpv3-d16/routing/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/24.10.0/packages/arm_cortex-a9_vfpv3-d16/telephony/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_telephony
Downloading https://downloads.openwrt.org/releases/24.10.0/packages/arm_cortex-a9_vfpv3-d16/telephony/Packages.sig
Signature check passed.
Installing curl (8.10.1-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.0/packages/arm_cortex-a9_vfpv3-d16/packages/curl_8.10.1-r1_arm_cortex-a9_vfpv3-d16.ipk
Installing libnghttp2-14 (1.63.0-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.0/packages/arm_cortex-a9_vfpv3-d16/packages/libnghttp2-14_1.63.0-r1_arm_cortex-a9_vfpv3-d16.ipk
Installing libcurl4 (8.10.1-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.0/packages/arm_cortex-a9_vfpv3-d16/packages/libcurl4_8.10.1-r1_arm_cortex-a9_vfpv3-d16.ipk
Configuring libnghttp2-14.
Configuring libcurl4.
Configuring curl.
root@OpenWrt:~#

Looks like it might be working now... Go ahead and try the one-liner again.

root@OpenWrt:~# # Detect package manager and install required dependencies
root@OpenWrt:~# if command -v apk >/dev/null 2>&1; then
>     PKG_MANAGER="apk"
>     $PKG_MANAGER add curl jq
> elif command -v opkg >/dev/null 2>&1; then
>     PKG_MANAGER="opkg"
>     $PKG_MANAGER update && $PKG_MANAGER install curl jq
> else
>     echo "Error: No supported package manager found (apk/opkg)"
>     exit 1
> fi && \
> mkdir -p /etc/geomate.d && \
> # Download server lists
> for file in $(curl -s https://api.github.com/repos/hudra0/geomate/contents/files/etc/geomate.d | jq -r '.[].name'); do
>     curl -L -o "/etc/geomate.d/$file" "https://raw.githubusercontent.com/hudra0/geomate/main/files/etc/geomate.d/$file"
> done && \
> # Download and install core files
> wget -O /etc/init.d/geomate https://raw.githubusercontent.com/hudra0/geomate/main/files/etc/init.d/geomate && \
> wget -O /etc/geomate.sh https://raw.githubusercontent.com/hudra0/geomate/main/files/etc/geomate.sh && \
> wget -O /etc/geomate_trigger.sh https://raw.githubusercontent.com/hudra0/geomate/main/files/etc/geomate_trigger.sh && \
> wget -O /etc/geolocate.sh https://raw.githubusercontent.com/hudra0/geomate/main/files/etc/geolocate.sh && \
> chmod +x /etc/init.d/geomate /etc/geomate.sh /etc/geomate_trigger.sh /etc/geolocate.sh && \
/etc/init.d/geomate enable && \
> if [ ! -f /etc/config/geomate ]; then wget -O /etc/config/geomate https://raw.githubusercontent.com/hudra0/geomate/main/files/etc/config/geomate; fi && \
> # Enable and start service with a small delay
> /etc/init.d/geomate enable && \
> sleep 2 && \
> /etc/init.d/geomate start && \
> echo "Geomate service installation complete!"
Downloading https://downloads.openwrt.org/releases/24.10.0/targets/mvebu/cortexa9/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_core
Downloading https://downloads.openwrt.org/releases/24.10.0/targets/mvebu/cortexa9/packages/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/24.10.0/packages/arm_cortex-a9_vfpv3-d16/base/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_base
Downloading https://downloads.openwrt.org/releases/24.10.0/packages/arm_cortex-a9_vfpv3-d16/base/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/24.10.0/targets/mvebu/cortexa9/kmods/6.6.73-1-b4e6dc3c3253bf5b438f90392080acc3/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_kmods
Downloading https://downloads.openwrt.org/releases/24.10.0/targets/mvebu/cortexa9/kmods/6.6.73-1-b4e6dc3c3253bf5b438f90392080acc3/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/24.10.0/packages/arm_cortex-a9_vfpv3-d16/luci/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_luci
Downloading https://downloads.openwrt.org/releases/24.10.0/packages/arm_cortex-a9_vfpv3-d16/luci/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/24.10.0/packages/arm_cortex-a9_vfpv3-d16/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_packages
Downloading https://downloads.openwrt.org/releases/24.10.0/packages/arm_cortex-a9_vfpv3-d16/packages/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/24.10.0/packages/arm_cortex-a9_vfpv3-d16/routing/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_routing
Downloading https://downloads.openwrt.org/releases/24.10.0/packages/arm_cortex-a9_vfpv3-d16/routing/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/24.10.0/packages/arm_cortex-a9_vfpv3-d16/telephony/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_telephony
Downloading https://downloads.openwrt.org/releases/24.10.0/packages/arm_cortex-a9_vfpv3-d16/telephony/Packages.sig
Signature check passed.
Package curl (8.10.1-r1) installed in root is up to date.
Package jq (1.7.1-r1) installed in root is up to date.
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  121k  100  121k    0     0   418k      0 --:--:-- --:--:-- --:--:--  420k
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2272  100  2272    0     0  11360      0 --:--:-- --:--:-- --:--:-- 11360
Downloading 'https://raw.githubusercontent.com/hudra0/geomate/main/files/etc/init.d/geomate'
Connecting to 185.199.111.133:443
Writing to '/etc/init.d/geomate'
/etc/init.d/geomate  100% |*******************************|  1491   0:00:00 ETA
Download completed (1491 bytes)
Downloading 'https://raw.githubusercontent.com/hudra0/geomate/main/files/etc/geomate.sh'
Connecting to 185.199.110.133:443
Writing to '/etc/geomate.sh'
/etc/geomate.sh      100% |*******************************| 19684   0:00:00 ETA
Download completed (19684 bytes)
Downloading 'https://raw.githubusercontent.com/hudra0/geomate/main/files/etc/geomate_trigger.sh'
Connecting to 185.199.111.133:443
Writing to '/etc/geomate_trigger.sh'
/etc/geomate_trigger 100% |*******************************|  7067   0:00:00 ETA
Download completed (7067 bytes)
Downloading 'https://raw.githubusercontent.com/hudra0/geomate/main/files/etc/geolocate.sh'
Connecting to 185.199.110.133:443
Writing to '/etc/geolocate.sh'
/etc/geolocate.sh    100% |*******************************|  8465   0:00:00 ETA
Download completed (8465 bytes)
Starting geomate service...
Geomate service installation complete!
root@OpenWrt:~#

Looks like it's working now... weird...

1 Like

thanks for the help

1 Like

@Hudra It says service not running and i have it enabled


nothing is showing up on the map when the game is running only the green circle

What happens if you restart it?

service geomate restart

please also show me the output...

Did you follow the readme post-Installation steps? You have to geolocate once:

...and if there are issues during startup, it’s pretty clear why nothing is showing up on the map...

is 192.168.1.100 your gaming device?

yes 192.168.1.100 is my ps5

what command to show output

service geomate restart
root@OpenWrt:~# service geomate restart
geomate: Service stopped
Starting geomate service...
root@OpenWrt:~#

Looks good.. what does the ui now say?

the allowed ips started showing up on the map after a while

1 Like

Looks good now

1 Like

Geomate v1.1.1 Released – Flexible Update System & New Monitor Mode!

I'm excited to announce the release of Geomate v1.1.1!

Geomate didn’t have proper versioning until now, but with this update, it introduces the same flexible update system that @antonk developed for qosmate, along with several improvements to both the backend and the LuCI interface.

Key Features of the New Update System:

  • Flexible Updates: You can now update backend and frontend (luci-app-geomate) independently of each other.
  • Update Channels:
    • release (default): Stable, tested versions.
    • snapshot : Latest features directly from the main development branch.
    • You can also target specific branches or commits.
  • Version Switching: Easy switching between channels or to specific versions.

The New Update Logic:

For most users, the release channel is sufficient for stable updates. Those who want to experiment can switch to the snapshot channel to test new features earlier – with the option to switch back at any time.

Basic Commands:

Update to the latest stable release (default channel):

/etc/init.d/geomate update

Check for available updates (without installing):

/etc/init.d/geomate check_version

Switch to snapshot channel and update:

/etc/init.d/geomate update -v snapshot

For more details check the README on Github.


Other Important Changes (Backend & LuCI Frontend):

geomate (Backend)

  • Monitor Mode: A new mode that only visualizes connections without blocking them (PR #3).

Full Changelog:

luci-app-geomate (Frontend)

  • Monitor Mode: Also selectable in the web interface – displays connections only, but doesn't block them - more on that in the readme
  • Enhanced Status Display: Clear display of operational mode (Monitor, Static, Dynamic) with color coding.
  • Version/Update Check: The UI displays backend and frontend versions, regularly checks for updates, and notifies when new versions are available.

Full Changelog:


The update from previous versions has been tested and should work.

To get the latest version initially, please run the installation again as described in the README. Your settings should remain intact.

To see the changes in the luci app, it might be necessary to clear your browser cache and restart it.

If you encounter any issues during the update process, please let me know or open an issue on GitHub!

6 Likes