Mercury Client is a desktop utility for connecting to a Mercury HF modem over TCP and sending ARQ or broadcast messages.
- Connects to a Mercury HF modem running in any of the supported radios using TCP.
- Starts an ARQ session with a remote station and sends ARQ data or files.
- Sends broadcast KISS frames over a separate broadcast channel.
- Shows connection status and incoming modem messages in a log.
- Go 1.20+ installed
- Fyne-compatible desktop environment
git clone https://github.com/Rhizomatica/mercury-client.git
cd mercury-client
go build -o mercury-client ./cmd/mercury-clientGOOS=windows GOARCH=amd64 CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc go build -o mercury-client.exe ./cmd/mercury-clientThe client logic is provided as an importable, GUI-agnostic Go package:
import "github.com/Rhizomatica/mercury-client/client"
c := client.New(client.Config{
MyCallsign: "NOCALL",
TargetCallsign: "DEST",
IP: "127.0.0.1",
ARQPort: 8300,
BroadcastPort: 8100,
})
if err := c.Connect(); err != nil { /* handle */ }
go func() {
for msg := range c.ARQChatCh {
fmt.Printf("%s: %s\n", msg.Call, msg.Text)
}
}()
c.SendARQMessage("hello")
c.SendBroadcast("hello to all")
c.Disconnect()./mercury-client- Enter your callsign, the target callsign, IP address of your radio running Mercury HF modem, the ARQ port (default is 8300) and the broadcast port (default is 8100).
- Click
Connect TCPto connect to the modem. - Click
Connect ARQto start the ARQ session. - Type ARQ messages in the ARQ message field and click
Send ARQ Message. - Type broadcast messages in the Broadcast field and click
Send Broadcast (KISS).
Mercury Client is developed by Rhizomatica's HERMES team, namely:
- Rafael Diniz
- Pedro Messetti
Help to support the ongoing development of this project: https://www.paypal.com/donate/?hosted_button_id=EKY4LRAH64Z9S
Mercury Client is a free software, licensed under the GNU General Public License, version 3 or (at your option) any later version (GPL-3.0-or-later). See LICENSE file for details.