[D66] GeoTalk ๐Ÿ“ก : Pseudo-HAM Radio & Text Messaging โ€” Geo-grouped by Postal Code

Renรฉ Oudeweg roudeweg at gmail.com
Sat Mar 7 22:44:10 CET 2026


reinold at NUC1:~/Projects/geotalk$ ./charlie.sh

    โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ•—      โ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ•—
   โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•  โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ• โ–ˆโ–ˆโ•”โ•โ•โ•โ–ˆโ–ˆโ•— โ•šโ•โ•โ–ˆโ–ˆโ•”โ•โ•โ• โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•‘      โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•”โ•
   โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—   โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘    โ–ˆโ–ˆโ•‘    โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•‘      โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•
   โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•”โ•โ•โ•   โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘    โ–ˆโ–ˆโ•‘    โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•‘      โ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•—
   โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ• โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•    โ–ˆโ–ˆโ•‘    โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•—
    โ•šโ•โ•โ•โ•โ•โ•  โ•šโ•โ•โ•โ•โ•โ•โ•  โ•šโ•โ•โ•โ•โ•โ•     โ•šโ•โ•    โ•šโ•โ•  โ•šโ•โ• โ•šโ•โ•โ•โ•โ•โ•โ• โ•šโ•โ•  โ•šโ•โ•
   ๐Ÿ“ก  Geo-grouped pseudo-HAM radio & text  โ€ข  v1.3.1
   Type /help for commands  โ€ข  #59** Venlo  โ€ข  #1***?? Amsterdam

Relay connected โ†’ 127.0.0.1:5073
   Mode: relay unicast UDP  (multicast disabled)

Joined #5944  โ†’ relay=127.0.0.1:5073
   Region: NL ยท Venlo regio
22:41 โ†’ BOB online (NL ยท Venlo regio) #5944
22:41 โ†’ ALICE online (NL ยท Venlo regio) #5944
22:42 โ†’ BOB online (NL ยท Venlo regio) #5944
22:42 โ†’ ALICE online (NL ยท Venlo regio) #5944
CHARLIE@#5944>


On 3/7/26 20:54, Renรฉ Oudeweg wrote:
> [Voila: een kersverse pseudo-HAM CLI tool dat elke postcode of postcode 
> regio in een tekst- en audiokanaal tovert. Heeft Henk van Lingen 
> interesse om een de relay server op tuxtown.net te installeren? Dan 
> kunnen we texten en broadcasten over het internet zonder dure HAM 
> radio's en de nodige licenties voor zendamateurs. :-) Dat is weer eens 
> wat anders dan knipselkrantjes maken...
> 
> PS: Enige Linux hack ervaring is een must.
> 
> Nog geen GUI. Niet getest met Windows of MacOS. Dus ik neem aan dat 
> weinigen op deze lijst hiermee overweg kunnen. Maar goed, probeer het 
> eens zou ik zeggen.
> 
> retour,
> 
> Renรฉ Oudeweg
> 
> ]
> 
> 
> -- 
> 
> https://github.com/juggao/geotalk
> 
> GeoTalk ๐Ÿ“ก
> 
> Pseudo-HAM Radio & Text Messaging โ€” Geo-grouped by Postal Code
> 
> GeoTalk is a Linux CLI tool that turns any postal code into a radio 
> channel. Users in the same postal zone share a UDP group; voice (PTT) 
> and text messages are broadcast to everyone on that channel โ€” like a 
> local walkie-talkie net. Works on a LAN via IP multicast, or across the 
> internet via a relay server.
> 
> Version 1.3.1
> 
> ## Features
> 
> | | Feature | Details |
> |---|---|---|
> | ๐Ÿ“ฎ | Exact postal channels | Any EU/UK postal code is a channel โ€” 
> `#59601`, `#
> 1234AB`, `#SW1A` |
> | ๐Ÿ” | Wildcard channels | `#59**` = Venlo region ยท `#750**` = Paris ยท 
> `#1***??`
>  ย = Amsterdam |
> | ๐Ÿงฉ | Regex channels | `/^[0-9]{4}[A-Z]{2}$/` โ€” full Python regex 
> between `//`
> |
> | ๐Ÿ—บ๏ธ | Region database | 120+ EU postal prefixes resolved to human- 
> readable regio
> n names |
> | ๐Ÿ’ฌ | Text messaging | Instant broadcast to all channel members |
> | ๐ŸŽ™๏ธ | Push-to-Talk (PTT) | Real mic audio over UDP (16 kHz PCM) |
> | ๐Ÿ“ป | Multi-channel RX | Subscribe to many channels at once; all arrive 
> in one
> terminal |
> | ๐Ÿ”Ž | Channel scan | `/scan 59**` โ€” probe a region for live users, 
> results stre
> am in real time |
> | ๐ŸŒ | Relay mode | `--relay HOST` for internet use โ€” no multicast 
> routing neede
> d |
> | ๐Ÿ”„ | Auto-reconnect | Client reconnects to relay with exponential 
> back-off |
> | ๐Ÿ”’ | LAN mode | Pure peer-to-peer UDP multicast, zero infrastructure 
> required
> |
> 
> 
> -- 
> 
> 
> JOINING A CHANNEL
> 
> You join a channel by typing its postal code prefixed with #:
> 
>  ย ย ย  #5912ย ย ย ย ย ย  join the exact channel for postcode 5912
>  ย ย ย  #5944AVย ย ย ย  join the exact channel for postcode 5944AV
> 
> Anyone else on the same LAN (or connected to the same relay) who has 
> joined #5912 will see your messages and hear your voice.
> 
> 
> WILDCARD CHANNELS
> 
> You can also join a region rather than a single postcode:
> 
>  ย ย ย  #591*ย ย ย ย ย ย  joins the Venlo Centrum region (5910โ€“5919, 591Aโ€“591Z)
>  ย ย ย  #59**ย ย ย ย ย ย  joins the entire Venlo regio (5900โ€“5999 and more)
>  ย ย ย  #750**ย ย ย ย ย  joins all Paris postcodes
> 
> The * matches exactly one character. The ** matches one or more. So 
> #591* covers 5910, 5911, 5912 ... 591Z as a single subscription.
> 
> 
> A CONCRETE EXAMPLE
> 
> Suppose three people are running GeoTalk:
> 
>  ย ย ย  BOBย ย ย  joined #5912
>  ย ย ย  ALICEย  joined #5913
>  ย ย ย  CHARLIE joined #591*
> 
> BOB and ALICE are on different exact channels โ€” they cannot hear each 
> other directly. But CHARLIE, on the wildcard #591*, is subscribed to a 
> channel whose pattern covers both 5912 and 5913. BOB sends a message on 
> #5912 โ†’ CHARLIE receives it. ALICE sends a message on #5913 โ†’ CHARLIE 
> receives it too.
> 
> 
> SCANNING FOR ACTIVE USERS
> 
> If CHARLIE wants to discover who is active in the Venlo area before 
> joining, he can run a scan:
> 
>  ย ย ย  /scan 591*
> 
> GeoTalk expands 591* into all 36 concrete codes (5910โ€“5919, 591Aโ€“591Z) 
> and sends a probe to each multicast group. BOB's client receives the 
> probe on #5912 and replies automatically. ALICE's client receives it on 
> #5913 and replies. Within a few seconds CHARLIE sees:
> 
>  ย ย ย  โ–บ #5912ย ย ย  BOBย ย ย ย  NL ยท Venlo Centrum
>  ย ย ย  โ–บ #5913ย ย ย  ALICEย ย  NL ยท Venlo Centrum
> 
> He can then join either channel directly, or join #591* to receive from 
> both simultaneously.
> 
> A broader scan works the same way:
> 
>  ย ย ย  /scan 59**ย ย ย  โ†’ probes all 5900โ€“5999 (100 channels) plus 
> alphanumeric variants
>  ย ย ย  /scan 750**ย ย  โ†’ probes all Paris postal codes
> 
> 
> PUSH-TO-TALK
> 
> Voice works like a walkie-talkie. Press Ctrl+T to toggle the mic on, 
> speak, press Ctrl+T again to release. Everyone on the channel hears you 
> in real time. Press Ctrl+Y to mute incoming audio if you only want to type.
> 
> 
> RELAY MODE (internet use)
> 
> For use across the internet, one person runs the relay server:
> 
>  ย ย ย  python3 geotalk-relay.py --port 5073
> 
> Everyone else connects to it:
> 
>  ย ย ย  python3 geotalk.py --nick PA3XYZ --relay relay.example.com
> 
> The relay routes all traffic โ€” text, voice, and scans โ€” between 
> connected clients. It requires only a single UDP port (5073) open on the 
> server.
> 
> 
> Let me know if you have any questions.
> 
> Best regards,
> 
> Renรฉ Oudeweg
> 



More information about the D66 mailing list