When sending ADIF QSOs via UDP from WSJT to my favorite logger I learned there is no DXCC/COUNTRY/NAME value. Manual editing was a pain, so I created a proxy which resolves and adds missing data from various sources and send it to the final logger.
-
Linux with:
- wget - only for download of external data, you can use curl instead
- socat - for the UDP handling (nc/netcat had some issues)
- bash
-
dxcc perl script + recent cty.dat. Useful for real country mainly for special callsigns.
-
QRZ.com registration - paid subcription is not needed for basic XMLRPC queries, however number of queries is limited per day. One QSO takes 1-3 QRZ queries. Useful for callsign name and basic country resolving.
-
Official AARL DXCC list in JSON format. Useful for DXCC to country translation (CTY.DAT and QRZ.com do not report proper AARL country names for example for DXCC 291 or 54).
cd DIRECTORY_WITH_ADIFIX_FILES
wget https://git.fkurz.net/dj1yfk/dxcc/raw/branch/master/dxcc
chmod 755 dxcc
wget https://github.com/k0swe/dxcc-json/raw/refs/heads/main/dxcc.json
wget https://www.country-files.com/bigcty/download/2025/bigcty-20250312.zip # check for the latest ZIP file at https://www.country-files.com/category/big-cty/
unzip bigcty-20250312.zip cty.dat
# with sudo
mkdir /usr/local/share/dxcc/
mv -v dxcc.json cty.dat /usr/local/share/dxcc/
Create a config file named with your callsign, for example AB1CDE
with following content:
# QRZ.com username and password
QRZ_USER=AB1CDE
QRZ_PASS=MyQRZpa$$word
# listening port (UDP), you should set your WSJT ADIF broadcast to your machine and this port
ADIFIX_LISTEN=5333
# forwarning IP:port (UDP), final IP for ADIF UDP delivery
ADIFIX_FORWARD=1.2.3.4:5333
Run the server script with config file as a parameter:
./adifix_server.sh AB1CDE
The console output for monitoring is stderr
(stdout
is used for the forwarding itself). When UDP packet with QSO is received, you will see the UTC of its reception and in few seconds CALLSIGN and resolved values for NAME, COUNTRY and DXCC are displayed. If the QSO already contained those values, they are never modified.
You could also create systemd or SysVinit service if you wish to start it automatically after system boot.
Note
The scripts were written in an agile way, almost no missing data handling. It's not an official product, just a code for personal use I love to share with fellow hams who have similiar need like I had.
- Stu Green G5STU who created an outstanding ham radio logger Station Master for desktop, cloud and mobile operation
- OM3KFF ham club members for continuous support