Skip to content
NoobKeksTVPublic

Repository files navigation

BeamLog-Logo

BeamLog

Lokaler, webbasierter Contest-Logger für UKW-Contests (DARC / IARU Region 1) Basiert auf DD3KU WinContest · ein Server im LAN, loggen von jedem Browser Integrierter ON4KST-Chat (je Station, DMs, Rundruf) · Aircraft-Scatter wie AirScout direkt auf der Karte · Operator-Fenster für den zweiten Monitor

Release Build Downloads Letzter Commit Python Plattformen Live-Demo Video Lizenz: GNU AGPLv3 Stars

Download · Live-Demo · Wiki · Installation · Server-Deploy · Tastenkürzel · Fehlersuche


BeamLog im Video (1:42) – auf YouTube ansehen

🎬 Video „BeamLog in 1:42 Minuten“ auf YouTube ansehen


Loggen

Was ist das?

Ein kleiner Server (portable Datei, kein Python nötig) ist der zentrale Speicher für euren Contest. Alle am Standort loggen im Browser, jeder nur mit einem Nickname. Mehrere Stationen (2 m, 70 cm, 23 cm …) laufen parallel, jede mit eigenem Log, eigener laufender Nummer und eigenem ON4KST-Chat. Punkte, Dupes und Statistik rechnet der Server so wie WinContest, verifiziert gegen echte Logs.

Funktionen

Loggen Rufzeichen, RST, Nummern und/oder DOK (Austausch je Contest wählbar, z. B. Köln-Aachen-Contest), Locator, Kommentar; Vorschläge aus der Stationsdatenbank und allen eigenen Logs; Locator, km und Grad automatisch; Dupe-Warnung; Plausibilitätsprüfung Rufzeichen ↔ Locator; Bearbeiten und Löschen; Zeit in UTC
Stationen und Contests Globale Stationen mit Stammdaten (Passwort, KST-Zugang, EDI-Angaben), Contest anlegen mit Stationsauswahl, Operatoren schalten per Passwort frei
Chat, ON4KST, DM Team-Chat je Contest (wer ist online), KST-Chat je Station (Nutzerliste mit km und Richtung, Textbausteine, „an mich“-Markierung); ein Klick auf eine Station übernimmt Rufzeichen und Locator in den Logger; Direktnachrichten wie ein Messenger, Rundruf an noch nicht gearbeitete Stationen im Umkreis
Operator-Fenster Zweiter Monitor: live Rufzeichen, Nummern, RST, Locator, Entfernung/Richtung, Dupe-Warnung, Hinweis vom Logger, Statistik, Karte, letzte QSOs
Karte Richtungspfeil zum Partner, alle QSOs, Großfelder mit Rufzeichen, Offline-Kachelcache mit Vorab-Laden; Flugzeug-Scatter (ADS-B, wie AirScout): Zone gemeinsamer Sichtbarkeit, Flugzeuge im Korridor, Mindesthöhe und Höhenreserve, vorhergesagte Kreuzungszeit und -punkt, Größenklasse, Höhenprofil des Pfads; Klick in der Liste springt zum Flugzeug
Statistik Contest gesamt und je Station: Stundenverlauf, Entfernungs- und Richtungsverteilung, Großfelder, Länder, ODX, Großanzeige
Import WinContest-Ordner (.mdb ohne Zusatzsoftware, .txt, .EXP), EDI, ADIF, Ergebnislisten (DARC/IARU), DARC-Contest-Hub direkt
Export / Abgabe EDI (REG1TEST) mit Pflicht-Log-Prüfung und Online-Abgleich (HamQTH/QRZ), Cabrillo, ADIF, CSV, alle Bänder als ZIP; Wertung je Contest (km oder Punkte je QSO, Multiplikator Großfelder/DOKs)
Stationsdatenbank Rufzeichen, Locator, Name, DOK; wächst mit jedem QSO, der KST-Nutzerliste, Importen (DARC-Hub mit DOK) und Online-Abfragen; Export und Abgleich mit dem Repo
CAT / CW Frequenz vom Funkgerät (Hamlib, flrig), Sprachbausteine F2–F8 als CW
Betrieb Backups auf dem Server (crash-sicher), Aktionsprotokoll, Update-Prüfung mit Selbst-Aktualisierung, „Was ist neu“, mehrsprachig, hell/dunkel, Hilfe mit F1

Live-Demo

Ohne Installation ausprobieren: beamlogdemo.lhprinting.de – eine öffentliche BeamLog-Instanz mit Beispiel-Contest zum Herumklicken (Loggen, Karte, Statistik, Operator-Fenster). Alles, was du dort einträgst, ist für andere Besucher sichtbar und wird täglich zurückgesetzt – bitte keine echten Logs oder Passwörter verwenden. Admin- und Stations-Passwort: demo. Eine eigene Demo-Instanz einrichten: Wiki › Server-Deploy.

Schnellstart

  1. ZIP für dein System laden und entpacken.
  2. BeamLog.exe (Windows) bzw. ./BeamLog (Linux/macOS) starten. Der Browser öffnet http://localhost:8000; andere Rechner nutzen die beim Start angezeigte LAN-Adresse oder den QR-Code (📱).
  3. Admin-Passwort festlegen, unter Verwaltung die Stationen anlegen und den ersten Contest erstellen.
  4. Im Reiter Loggen Station wählen und loslegen. F1 zeigt alle Tastenkürzel.

Umstieg von ContestLogger 0.9.x: BeamLog hieß bis Version 0.9 „ContestLogger“. Version 1.0 einmal von Hand laden und entpacken – liegt der neue Ordner BeamLog neben dem alten Ordner ContestLogger (oder darin), übernimmt BeamLog beim ersten Start automatisch eine Kopie von data/ und contestlogger.env (die Datenbank heißt danach beamlog.db, die Einstellungen .env). Ab 1.0 aktualisiert sich BeamLog wieder selbst; alte Links auf das GitHub-Projekt leiten weiter.

Dauerhafte Einstellungen (Port, Datenbank, Adresse für den QR-Code …) stehen in .env neben dem Programm (Vorlage .env.example).

Als Dienst auf einem Debian-/Ubuntu-Server oder Raspberry Pi (systemd, nginx auf Port 80, tägliches Backup) – im entpackten Linux-ZIP:

sudo bash deploy/install.sh --url http://contest.local/   # Erstinstallation
sudo bash deploy/install.sh --update                      # später: neue Version einspielen

Teile lassen sich weglassen, auch mehrere gleichzeitig: --no-nginx (eigener Reverse-Proxy oder PORT=80 direkt), --no-service (ohne systemd-Dienst), --no-backup (ohne Backup-Cron); die Wahl wird für spätere Updates gemerkt, --with-… schaltet wieder ein, --help zeigt alles.

Mit Dienst kopiert das Skript BeamLog nach /opt/beamlog (Einstellungen in /opt/beamlog/.env) und sagt das deutlich. Ohne Dienst wird nichts kopiert, BeamLog bleibt im aktuellen Ordner: --deps-only installiert nur Python & Co., --here bleibt im Ordner und richtet trotzdem Dienst, nginx und Backup ein. Anleitung im Wiki › Server-Deploy (dort auch die öffentliche Demo-Instanz mit DEMO=1).

Aus dem Quellcode (Python 3.11+): ./start.sh (Linux/macOS/Raspberry Pi) bzw. start.bat (Windows) – legt beim ersten Mal die virtuelle Umgebung .venv an, installiert die Pakete und hält sie nach git pull aktuell. Danach startet auch python run.py (nimmt .venv automatisch).

Bilder

Operator-Fenster für den zweiten Monitor Flugzeug-Scatter auf der Karte
Operator-Fenster Flugzeug-Scatter
ON4KST-Chat je Station Direktnachrichten
KST-Chat Direktnachrichten
Log-Prüfung vor der EDI-Abgabe Rundruf an Stationen im Umkreis
Log-Prüfung Rundruf
ON4KST: Nutzerliste mit km/Richtung, Nachricht an mich Team-Chat zwischen den Plätzen
KST-Nutzerliste Team-Chat
Dupe-Warnung mit Daten des ersten QSOs Flugzeugliste und Höhenprofil
Dupe-Warnung Höhenprofil
Stationsdatenbank Großfeld auf der Statistik-Karte
Stationsdatenbank Großfeld-Popup

Statistik
Statistik mit Karte, Großfeldern und Diagrammen

Verwaltung
Verwaltung: Contests & Stationen (weitere Bereiche: Stationsdatenbank & Import, Server & Updates, Einstellungen)

Dokumentation

Das Wiki erklärt alles ausführlich: Installation, Server-Deploy, Erste Schritte, Loggen, Tastenkürzel, Chat/KST/DM, Operator-Fenster, Statistik, Import/Export, Log-Prüfung, Stationsdatenbank, Flugzeug-Scatter, CAT/CW, Verwaltung, Updates, Fehlersuche.

Technik

Python 3.11, FastAPI + uvicorn, SQLite (WAL, synchron), WebSockets, Vanilla JS/HTML/CSS, Leaflet (lokal gebündelt), PyInstaller-Builds über GitHub Actions. Tests: python -m pytest -q. Portable Pakete: python build_tools/build.py.

Datenquellen: Flugzeuge von adsb.fi (nicht-kommerziell) oder einem eigenen ADS-B-Empfänger; Karten von OpenStreetMap; Ergebnislisten vom DARC-Contest-Hub.

Zubehör von LH Printing

Eigenwerbung – BeamLog bleibt kostenlos und frei. Wer das Projekt unterstützen möchte: Lars Hölker (DN2LH) betreibt mit LH Printing eine kleine 3D-Druckerei, unter anderem mit Zubehör für Funkamateure.

Mastschelle 35 mm am Mast
Mastschellen 35 mm
Für Masten und Antennen, mit V2A-Edelstahlschrauben M6, wetterfest – ideal für Portabel- und Fieldday-Aufbauten
Zum Shop →
Wetterschutzgehäuse
Wetterschutzgehäuse
Outdoor-Gehäuse für Kamera, Außensteckdose oder Sensor – hält Regen ab, 137 × 104 × 90 mm
Zum Shop →
Messleitungshalter
Messleitungshalter
Ordnung im Shack, Labor und in der Werkstatt: Wandhalter für Messleitungen und Kabel 4–10 mm, 2 Stück
Zum Shop →
QSL-Kartenablage
QSL-Kartenablage
Stapelbare Ablage für QSL-Karten und Postkarten – damit nach dem Contest nichts liegen bleibt
Zum Shop →

Alle Amateurfunk-Artikel: lhprinting.de › Amateurfunk · Sonderwünsche (eigene Halter, Gehäuse, Adapter) über die Anfrage.

Lizenz und Copyright

BeamLog ist freie Software unter der GNU Affero General Public License v3.0 (GNU AGPLv3).

BeamLog – Contest-Logger für UKW-Contests
Copyright (C) 2026 Lars Hölker (DN2LH)

This program is free software: you can redistribute it and/or modify it under the terms of the
GNU Affero General Public License as published by the Free Software Foundation, version 3.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details: https://www.gnu.org/licenses/agpl-3.0

Kurz gesagt: Nutzen, weitergeben und verändern ist erlaubt. Wer eine veränderte Version weitergibt oder anderen über das Netz (z. B. als Server im LAN oder Internet) zur Verfügung stellt, muss deren Quellcode ebenfalls unter der AGPLv3 offenlegen. Der Link „Quellcode“ in der Fußzeile der Oberfläche zeigt auf dieses Projekt.


Made by Lars Hölker (DN2LH), geholfen von Claude · 73!