A desktop application for recording and logging JS8Call RX.DIRECTED messages.
- Connects to JS8Call's TCP API to capture directed messages
- Filters messages to only those directed at your callsign
- Stores all data in a local SQLite database
- Displays messages and callsign-grid mappings in a tabbed interface
- Double-click to open QRZ.com page for any callsign
- Export to Excel (.xlsx) format
- Settings persist between sessions
- Interactive map showing contact locations (color-coded by SNR quality)
- Lookup contacts by grid square with adjacent grid support
- Python 3.7+
- JS8Call with TCP API enabled
- tkinter (included with Python on Windows,
sudo apt install python3-tkon Linux) - openpyxl (for Excel export)
- tkintermapview (optional, for interactive map display)
# Required
sudo apt install python3-tk
# For Excel export
pip install openpyxl
# For interactive map display (optional)
pip install tkintermapviewpython js8_recorder.py- Enter your callsign
- Enter the JS8Call API host (default: 127.0.0.1) and port (default: 2442)
- Click "Start Listening"
- Messages directed at you will appear in the table
- Click "Export to Excel" to save a spreadsheet
In JS8Call:
- Go to
File > Settings > Reporting > API - Enable "TCP Server API"
- Note the port (default 2442)
- If connecting from another machine, ensure the API is bound to 0.0.0.0
js8_recorder.py- Main GUI applicationjs8_client.py- JS8Call TCP API clientdatabase.py- SQLite database layerjs8_log.db- Database file (created on first run)
MIT