ARCG Admin (Claude) 9862f751a2 feat(wavelog): link to the Wavelog instance next to the API key field
Show an "Open Wavelog" link beside the Wavelog API Key heading in the
OpenWebRX panel. The URL comes from the runtime WAVELOG_BASE_URL (exposed
via GET /v1/me and the OpenWebRX session response), so the private hostname
is never hardcoded in this public repo. The link is hidden when no base URL
is configured.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-22 21:21:27 +02:00

RMS Software

RMS Software is a generic remote-station control platform with a web UI, passwordless authentication, plugin-based hardware integration, and OpenWebRX+ orchestration.

This repository is intentionally station-agnostic. Site-specific deployment, host bindings, and operational overrides belong in a separate deployment repository.

Core Features

  • Passwordless auth via email link and OTP methods
  • JWT access/refresh session model with role-based permissions
  • Plugin runtime with capability provider switching
  • OpenWebRX+ session/ticket integration and managed band/profile support
  • Station lifecycle controls (activate/deactivate, ownership, safety locks)
  • Rotor, RF route, TX/PTT and VSWR integration via plugins
  • Activity/audit logs and SSE event stream for live UI updates

Quick Start

  1. Copy .env.example to .env.
  2. Install dependencies:
npm ci
  1. Start development mode:
npm run dev
  1. Open http://localhost:8080.

Plugin Overview

Core and plugin docs:

  • Core: docs/core-overview.md
  • Plugin index: docs/plugins/README.md

Auth

  • rms.auth.smtp_relay: email link challenge delivery through SMTP relay
  • rms.auth.otp_email: OTP challenge delivery through email
  • rms.auth.oauth: OAuth/OIDC authorization-code login (disabled by default; configurable authorize/token/userinfo/client settings)

Google example (plugin settings):

  • authorizeUrl: https://accounts.google.com/o/oauth2/v2/auth
  • tokenUrl: https://oauth2.googleapis.com/token
  • userInfoUrl: https://openidconnect.googleapis.com/v1/userinfo
  • scope: openid email profile
  • emailField: email
  • clientId: <google-client-id>.apps.googleusercontent.com
  • clientSecret: <google-client-secret>
  • redirectUri: <public-base-url>/v1/auth/oauth/callback (or leave empty to auto-derive)

Station & Access

  • rms.station.shell: station activation/deactivation command execution
  • rms.station.access.policy: export effective access list for OpenWebRX policies
  • Hardware guide: docs/hardware-station-shell-guide.md

OpenWebRX+

  • rms.openwebrx.bandmap: managed band/profile integration
  • rms.openwebrx.guard: OpenWebRX safety and consistency guard

TX/PTT/Audio

  • rms.tx.control.native: native TX on/off command provider
  • rms.tx.state.file: file-based TX state provider
  • rms.tx.audio.core: core TX audio session management
  • rms.microham: microHAM provider for PTT/audio related capabilities
  • Hardware guides: docs/hardware-tx-control-guide.md, docs/hardware-microham-guide.md

RF/Hardware

  • rms.rfroute.shell: RF route switching via shell commands
  • rms.rotor.hamlib: rotor control via hamlib/rotctl
  • Hardware guides: docs/hardware-rfroute-guide.md, docs/rotor-rot1prog-guide.md, docs/rotor-alfaspid-rak-rot1prog-manual-notes.md
  • Manufacturer PDF copy: docs/RAK_Rot1Prog.pdf

VSWR

  • rms.vswr.native: native VSWR command provider
  • rms.vswr.nanovna: NanoVNA-based VSWR provider
  • rms.vswr.report_reader: reads and serves VSWR report artifacts
  • Hardware guide: docs/hardware-vswr-nanovna-guide.md

Ops/Help

  • rms.debug.remote: remote debug snapshot/log provider
  • rms.help.basic: basic UI help content provider

Repository Boundaries

This repository contains:

  • generic software source (server, public, plugins)
  • generic defaults (.env.example)

This repository does not contain:

  • station-specific hostnames, hardware paths, or production secrets
  • deployment overlays for specific stations

Recommended layering for deployments:

  1. RMS Software defaults
  2. Station-specific overlay repository
  3. Server environment variables (highest priority)

License

GPL-3.0-only. See LICENSE.

x

Description
Remotestation-ARCG ist die modulare Steuer- und Betriebsplattform für die ARCG-Remote-Station. Die Software kombiniert eine moderne Web-UI mit passwortloser Authentifizierung, Rollen-/Freigabe-Workflow und pluginbasierter Hardware-Anbindung für OpenWebRX+, TX/PTT, Rotor, RF-Route und SWR/VSWR. Kernmerkmale: Passwortloser Login (E-Mail-Link/OTP), JWT Access+Refresh, Rollenmodell (admin, approver, operator) Stationsbetrieb mit Besitzlogik, Reservierung/Zeitfenster, Wartungsmodus, Audit-Log OpenWebRX+ Integration inkl. Session/Ticket-Handling, Band-/Profilsteuerung, Sicherheits-Guards Plugin-System mit Capability-Providern (jede Hardware-Integration austauschbar) API-first Architektur (Web-UI + Android/Clients über dieselben Endpunkte)
Readme 2.5 MiB
Languages
JavaScript 93.9%
HTML 3.8%
CSS 2.3%