Releases: Benybob/GhostNetReceiver
Release list
GhostNet Receiver 0.4.2 — message tagging and readable traffic
GhostNet Receiver 0.4.2 fixes messages whose callsign, GhostNet destination, and body arrive as separate JS8 frames. Linked bodies now retain their GhostNet classification and appear as one readable conversation. Missing callsign headers stay incomplete, and ambiguous overlaps are kept separate.
Reading messages
- TRAFFIC and LANES display oldest-to-newest.
- Selected messages stay selected while new frames arrive.
- The reading pane is larger; individual decoded frames are optional.
- Existing journal entries remain intact. Previously stored conversations are not automatically reassembled.
Included desktop updates
- Regional Hear Audio plays one selected lane at a time.
- Regional sessions save tagged JS8 audio; Kiwi directory results are cached across lanes.
- Process-wide locking serializes native decoder calls across receiver lanes.
- Updated display includes a UTC clock and receive-only status.
- Net-night guide, monitor-only level control, adjustable RTTY center, calibration recordings, and read-only radio frequency status are included.
Installation
Download GhostNetReceiver-0.4.2-Setup.exe for installation or GhostNetReceiver-0.4.2-Portable.zip for portable use. Compare SHA256SUMS.txt before running. Close your current copy before updating. The installer is unsigned and installs per user. Messages and settings remain in %LOCALAPPDATA%\GhostNetReceiver\data.
Validation and limits
- 53 automated tests passed, including compound-header assembly, inherited tags, missing/ambiguous headers, GUI reading order and selection, recorded JS8, and lifecycle regression checks.
- Portable and isolated installed decoder self-tests each copied four recorded reference frames.
- No new on-air copy or USB SDR hardware validation is claimed. RTTY remains preview.
- No transmit, PTT, spotting, CAT frequency writes, VARA/ALE decoding, or voice ASR. SoapySDR is optional and not bundled. Native JS8 DSP is unchanged.
- Three regional online receiver lanes are supported. Multiple same-net USB/online diversity receivers are not added in this release, and no configuration guarantees every transmission.
GhostNet Receiver 0.4.0 — regional monitoring
GhostNet Receiver 0.4.0 is a receive-only Windows listener for the published GhostNet v1.5 schedule. It decodes JS8 in-process, receives audio from public KiwiSDRs or a radio USB-audio input, and keeps a local SQLite journal. It is an independent project and is not affiliated with S2 Underground, GhostNet, or JS8Call.
Regional collection
- Optional three-lane monitoring runs North America, Europe, and Australia/Pacific online receivers concurrently.
- The GUI provides one regional feed per lane plus a combined searchable inbox.
- Receiver and region provenance remain attached to each reception; simultaneous copies are retained because they are useful propagation evidence.
- Every lane performs independent receiver selection, health checks, reconnect backoff, band-coverage checks, rotating logging, and session reporting.
This substantially increases coverage, but does not promise every GhostNet transmission. Public receiver capacity, propagation, interference, schedule changes, and decoder limits can still create gaps.
Reliability and review fixes
- Rebuilt
ghostnet_js8.dllwith the required checksum-validation export. The upstream native JS8 DSP section was not rewritten. - Corrected JS8 decode alignment for capture/network timing offsets through ±3 seconds and recovery after quiet periods.
- Replaced packet-local audio conversion with a stateful rational FIR converter for exact long-run 44.1/48 kHz timing.
- Made retunes and input overflows explicit decoder discontinuities so stale audio cannot cross frequencies.
- Corrected RTTY USB mark/space polarity and fractional 45.45-baud sampling. RTTY remains off by default and marked preview until on-air calibration is available.
- Made reports atomic and session-bounded; only complete tagged conversations count as heard.
- Hear audio now requires an explicit playback device, has volume control, and is stopped on all exit paths. Desktop alerts are silent.
- USB-audio frequency stays unverified until the operator confirms tuning or read-only Hamlib readback succeeds.
- Hardened local update identity/version/hash checks.
- Removed the obsolete UDP/CAT entry points from the release tree.
Validation
- 42 automated tests pass.
- Bundled 95-second recording: 12 JS8 frames at nominal timing; 10 with a simulated +3 second receipt skew.
python app.py,Start.cmd, frozen self-test, 850×600 GUI layout, and installer metadata were checked.- The unsigned installer completed a local per-user install, and the installed executable passed its four-frame self-test.
- A short live concurrent smoke test delivered PCM from North America, Europe, and Australia/Pacific KiwiSDR lanes without a receiver error. It was not a scheduled net and makes no message-copy claim.
- A user has reported live GhostNet reception with an earlier build.
Still unverified here: live SoapySDR hardware and on-air RTTY calibration.
Downloads
GhostNetReceiver-0.4.0-Setup.exe: per-user unsigned installer.GhostNetReceiver-0.4.0-Portable.zip: portable folder build.SHA256SUMS.txt: SHA-256 checksums for both downloads.
The app has no transmit, PTT, CAT write, heartbeat transmit, spotting, VARA/ALE decode, or voice transcription path. SoapySDR is not bundled.