[FEATURE 802] multicast options in wsjtx relay download request #804
[FEATURE 802] multicast options in wsjtx relay download request #804accius merged 15 commits intoaccius:Stagingfrom
Conversation
…h a multicast address that will make it listen on a multicast udp rather than a unicast.
- modified the startup script for the relay to not use mktemp on macos as it behaves differenty to that on Linux
…ng to be passed when downloading the relay script if wsjtxRelayMulticast.enabled is true then - display the multicast address on the download screen - pass wsjtxRelayMulticast.address to the server as a parameter
… in the parameters
|
For the What's New, I think worth noting that our longer term goal is to replace wsjtx-relay with the rig-bridge code. This was done to simplify getting multicast working with the existing code in the interim. |
|
Hey @alanhargreaves, thanks for this — multicast support is a great addition. Found a few issues during review:
In server/routes/wsjtx.js, this line:
socket.addMembership(config.maddr) is called twice — once around line 518 (before bind) and again in the bind callback
// Bind to all interfaces so WSJT-X can reach it from any address
req.query.multicast is shell-sanitized but never validated as an actual multicast address. Should check that the first
The new wsjtxRelayMulticast prop doesn't have a default value. If a layout doesn't pass it, Everything else looks good — the macOS mktemp fix, reuseAddr: true, shell sanitization, and the config/settings |
- Need parenthesis around the ternary conditional
…ethiugn new tries to use the Panel without supplying it
So basically, I've addressed all but item 2, which was not an issue. |
|
I've just merged the current staging in to this branch (no conflicts). |
What does this PR do?
Makes it easier to use multicast with the wsjtx-relay code addressing #802
The change
wsjtxRelayMulticastwith default{ enabled: false, address: '224.0.0.1' }PSKReporterto pass a multicast address to the server API if one is setserver/routes/wsjtxmktempdoesn't work on macOS the same way that it works on linux for the downloadable run scriptwsjtx-relay/relay.jsType of change
How to test
Note that I've only tested this on MacOS. It should be absolutely fine on Linux and Windows as the only thing I've done in the start script is to add an argument for multicast if it is necessary. It might be nice if someone could check Windows.
Assuming that you do not currently have wsjt-x being listened for in your server
wsjtx-relay/README.md.It would probably also be useful to follow the instructions in
wsjtx-relay/README.mdto ensure their correctness.Checklist
server.js: caches have TTLs and size caps (we serve 2,000+ concurrent users)var(--accent-cyan), etc.).bak,.old,console.logdebug lines, or test scripts includedScreenshots (if visual change)
WSJT-X Panel before:

WSJT-X Panel after

Station Settings Panel
