SVXConnect for the command line
翻译准备中
正在加载完整 README。 以下为已保存的摘录。
A terminal client for SvxLink reflectors (protocol v3 — mTLS, AES-GCM, Opus).
Plain C, ncurses, no GUI. Runs on macOS and Linux (Raspberry Pi OS,
Debian, Ubuntu).
It is the command-line sibling of the SVXConnect desktop
and mobile apps: connect to a reflector, monitor a set of talkgroups, switch
between them with the arrow keys, and transmit — all from an SSH session or a
terminal window.查看完整 README ↗A terminal client for SvxLink reflectors (protocol v3 — mTLS, AES-GCM, Opus). Plain C, ncurses, no GUI. Runs on macOS and Linux (Raspberry Pi OS, Debian, Ubuntu).
It is the command-line sibling of the SVXConnect desktop and mobile apps: connect to a reflector, monitor a set of talkgroups, switch between them with the arrow keys, and transmit — all from an SSH session or a terminal window.
Status: working, and on the air. The reflector client, certificate enrolment, audio both ways, the talkgroup manager and the ncurses interface are all done and verified against a live reflector — including a full transmit/receive round-trip through a parrot talkgroup.
make checkruns 380 checks — the unit fixtures, plus the client, the audio core and certificate renewal against a fake reflector on loopback — and passes clean under AddressSanitizer, UndefinedBehaviorSanitizer and ThreadSanitizer. There is also a--headlessmode for unattended nodes. See Roadmap.
┌─ SVXConnect ON6URE ────────────────────── be.svx.link:5300 ID 42 nodes 7 ── 20:14:07 ─┐
│ ● Connected RX 50 p/s TX 0 p/s loss 0.0% JO11ug Gent cert ok 2027-04│
├──────────────────────┬───────────────────────────────────────────────────────────────────┤
│ TG 8 LOCK │ ACTIVE │
│──────────────────────│ 8 ON4XYZ 12s ▌███████▌ │
│ > 8 ++ ● 12s │ 1745 ON7ABC 3s ▌██▌ │
│ 1745 + 2m │ │
│ 8000 -- │ RECENT │
│ 9990 M -- │ 8 ON4ZZZ 1m ago 0:42 │
│ │ 1745 ON0TEST 14m ago 0:08 │
├──────────────────────┤ │
│ MIC ▌██████▌ │ │
│ SPK ▌████▌ │ │
│ VOL ████████░░ 80% │ │
├──────────────────────┴───────────────────────────────────────────────────────────────────┤
│ ▌ SPACE = TRANSMIT ▌ idle │
├──────────────────────────────────────────────────────────────────────────────────────────┤
│ ↑/↓ tg ←/→ vol PgDn lock SPACE ptt m mute Enter goto d dev l log ? help q│
└──────────────────────────────────────────────────────────────────────────────────────────┘
--enroll)Not included, by design: no map, no reflector web feed, no WebSocket, no DMR / D-STAR / AMBE transcoding. This is a voice client.
This repository is its own Homebrew tap — the formula lives in
Formula/svxconnect.rb, so there is nothing else to
maintain:
brew tap guru-rf/svxconnect https://github.com/Guru-RF/SVXConnect-CLI
brew install svxconnect
If Homebrew refuses the tap as an untrusted third party, run
brew trust guru-rf/svxconnect and retry.
Every release carries a ready-built package that pacman installs straight from the URL:
sudo pacman -U https://github.com/Guru-RF/SVXConnect-CLI/releases/download/v0.1.4/svxconnect-0.1.4-1-x86_64.pkg.tar.zst
Or build it yourself from the PKGBUILDs in
packaging/arch/: svxconnect for the tagged release,
svxconnect-git for the latest main, and svxconnect-bin to install the
package from the release:
git clone https://github.com/Guru-RF/SVXConnect-CLI
cd SVXConnect-CLI/packaging/arch/svxconnect # or svxconnect-git
makepkg -si
Omarchy runs PipeWire, so audio needs nothing further. The package also installs
the man page, the [email protected] unit and the svxconnect system user
it runs as, so on Arch you can skip the user and install steps in
DEPLOY.md.
sudo apt install build-essential pkg-config libncurses-dev libssl-dev libopus-dev
git clone https://github.com/Guru-RF/SVXConnect-CLI
cd SVXConnect-CLI
make
sudo make install
There is deliberately no audio development package to install: the audio
backend loads libasound.so.2 / libpulse.so.0 at runtime if they are there.
On Pi OS Bookworm and Ubuntu 22.04+ that means PipeWire via pipewire-pulse,
which is already installed; on older or bare systems it falls back to ALSA.
svxconnect --init-config # asks for your callsign, email and reflector
svxconnect --enroll # send a CSR, wait for the sysop to sign it
svxconnect # go
--init-config writes the fully commented example.conf to
~/.config/svxconnect/svxconnect.conf with your callsign, email and reflector
filled in. Press Enter at a question to leave that key for later. It never
overwrites an existing file unless you add --force, which keeps the old one as
svxconnect.conf.bak. Without a terminal, for example in a script, nothing is
asked, and --set fills in any key:
以上为 README 的开头部分。其余内容请阅读原文。 查看完整 README ↗