[Dxspider-support] Gateway Node with MQTT and FIFO support (event-driven)
Kin
ea3cv at cronux.net
Thu Apr 24 08:29:11 BST 2025
Hi,
I'd like to share a solution I've developed to efficiently and securely
connect a web system (like a webcluster) with a DXSpider node using a
modular and lightweight approach.
I initially started with a script using fork, but ran into stability issues
when running it as a service or in the background. That led me to fully
redesign it using an event-driven architecture with AnyEvent. The result is
a stable service with extremely low CPU usage that runs perfectly under
systemd.
Key features:
* Acts as a fully functional DXSpider node, connecting via authenticated
Telnet.
* Handles the full handshake protocol: PC18 --> PC92A + PC92K + PC20 -->
waits for PC92/PC22.
* Supports two input methods to inject users:
MQTT: listens to a configurable topic (e.g., api/heartbeat/socio) with
JSON payloads.
FIFO: accepts CONN,<CALL>,<IP> and DESC,<CALL> messages from external
scripts or systems.
* Sends PC92A, PC92D, PC92C (summary), and PC92K (keepalive) based on
configurable intervals and events.
* Uses standard DXSpider login and password to maintain security between
nodes.
A systemd installer script is included, which automatically installs and
enables the service on compatible systems. It's been tested on Debian 12,
but it should run fine on any Linux distribution with Perl and systemd.
If anyone finds it useful or wants to test it out, I'd be happy to share the
code or help with integration.
73 de Kin EA3CV
https://clustermap.cronux.net/map.html
https://github.com/EA3CV/dxspider_info
https://github.com/EA3CV/dxspider_update
DXSpider Channel: t.me/dxspider
https://www.dxcluster.info/telnet/index.php
More information about the Dxspider-support
mailing list