Plattformunabhängige Desktop-Applikation zur Suche und Anzeige von deutschen Amateurfunk-Rufzeichen aus der offiziellen Liste der Bundesnetzagentur (BNetzA).
Transparenzhinweis: KI-unterstützte Entwicklung
Diese Anwendung wurde zu einem erheblichen Teil mit Unterstützung von KI-Assistenten entwickelt – konkret mit Claude Code von Anthropic. Das betrifft Architektur, Implementierung und Dokumentation. Alle Entscheidungen wurden vom Entwickler (Carsten Nohl, DH1NOC) begleitet, geprüft und abgenommen. Dieses Projekt steht für einen offenen und transparenten Umgang mit KI-gestützter Software-Entwicklung im Amateurfunk-Umfeld.
- Funktionen
- Screenshots
- Download & Installation
- Aus dem Quellcode bauen
- Architektur
- Datenquellen
- Cache-Verzeichnisse
- Datenschutz
- Mitwirken
- Lizenz
- Offline-Suche in ~70.000 deutschen Amateurfunk-Rufzeichen (Quelle: BNetzA) nach Rufzeichen, Name oder Ort/PLZ
- Detailansicht mit Lizenzklasse, Name, Adresse und Nebenstandort
- DMR-ID-Lookup via RadioID.net-Datenbank (~306.000 Einträge)
- Geografische Verortung per interaktiver Karte (OpenStreetMap / Nominatim)
- Statistiken: Lizenzklassen, Bundesländer, Präfixe, Heatmap
- Automatische Aktualisierung der Daten (BNetzA: alle 7 Tage, DMR: alle 30 Tage)
- QRZ.com-Verfügbarkeitscheck direkt aus der Detailansicht
- Lokales Caching für schnellen Kaltstart ohne Internetverbindung
Hauptfenster – Suche, Detailansicht mit DMR-IDs und interaktiver Karte:
Statistiken – Lizenzklassen, Bundesländer-Verteilung und Heatmap:
![]() |
![]() |
![]() |
|
Das jeweils aktuelle Release mit nativen Installern für alle Plattformen findet sich auf der Releases-Seite:
| Plattform | Datei | Anforderung |
|---|---|---|
| Windows | .msi |
Windows 10 oder neuer |
| macOS | .dmg |
macOS 12 oder neuer (Apple Silicon) |
| Linux | .deb |
Debian / Ubuntu (GTK3) |
Die Installer bringen eine vollständige Java-Laufzeitumgebung mit – Java muss nicht separat installiert werden.
| Komponente | Version |
|---|---|
| Java (JDK) | 25 |
| Maven | 3.9+ |
git clone https://github.com/DH1NOC/RufzeichenSucherJava.git
cd RufzeichenSucherJava
mvn javafx:run# macOS – DMG (Apple Silicon, auf macOS ausführen)
mvn -Ppackage-mac verify -DskipTests
# Windows – MSI (auf Windows ausführen, WiX Toolset 3.x erforderlich)
mvn -Ppackage-win verify -DskipTests
# Linux – DEB (auf Linux ausführen, fakeroot erforderlich)
mvn -Ppackage-linux verify -DskipTestsAusgabe liegt jeweils in target/dist/.
┌─────────────────────────────────────────────────────────────┐
│ Java Application │
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────────┐ │
│ │ DataManager │ │ DMRDatabase │ │ GeocodingService │ │
│ │ (Rufzeichen) │ │ (RadioID) │ │ (Nominatim OSM) │ │
│ └──────┬───────┘ └──────┬───────┘ └────────┬─────────┘ │
│ │ │ │ │
│ ┌──────▼───────────────────────────────────────────────┐ │
│ │ CallsignStatistics │ │
│ │ (Lizenzklassen, Bundesländer, Präfixe, Heatmap) │ │
│ └──────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ JavaFX UI-Layer │ │
│ │ Hauptfenster (Liste + Detail) │ Statistikfenster │ │
│ └─────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
Technologie-Stack:
| Zweck | Bibliothek |
|---|---|
| UI-Framework | JavaFX 25 |
| PDF-Textextraktion | Apache PDFBox 3.x |
| JSON | Jackson |
| HTTP-Client | java.net.http.HttpClient (JDK built-in) |
| Karte | JavaFX WebView + Leaflet.js |
| Charts | JavaFX Charts |
| Build | Maven |
| Packaging | jpackage (JDK built-in) |
Die vollständige Architekturdokumentation befindet sich in ARCHITECTURE.md.
| Quelle | Beschreibung | Lizenz / Nutzung |
|---|---|---|
| Bundesnetzagentur | Offizielle Rufzeichenliste (PDF) | Open Data |
| RadioID.net | DMR-Datenbank (CSV) | Frei nutzbar |
| OpenStreetMap / Nominatim | Geocoding | ODbL, max. 1 req/s |
zipcodes.de.json |
PLZ → Bundesland + Koordinaten | Gebündelt |
state_population.json |
Bevölkerungsdaten je Bundesland | Gebündelt |
Die Anwendung speichert Caches und Einstellungen plattformkonform:
| Betriebssystem | Pfad |
|---|---|
| Windows | %APPDATA%\RufzeichenSucher\ |
| Linux | ~/.local/share/RufzeichenSucher/ |
| macOS | ~/Library/Application Support/RufzeichenSucher/ |
- Die Anwendung überträgt keine personenbezogenen Daten an Dritte.
- Beim Geocoding wird die Adresse des jeweiligen Rufzeichen-Inhabers an Nominatim (OpenStreetMap) übermittelt. Dies geschieht nur auf explizite Nutzerinteraktion (Auswahl eines Eintrags) und ist durch die Nominatim Usage Policy gedeckt.
- Der QRZ.com-Verfügbarkeitscheck überträgt lediglich das gesuchte Rufzeichen.
- Alle anderen Datenbankabfragen erfolgen vollständig lokal.
Pull Requests und Issues sind willkommen!
- Fork erstellen
- Feature-Branch anlegen:
git checkout -b feature/mein-feature - Änderungen committen:
git commit -m 'feat: mein Feature' - Branch pushen:
git push origin feature/mein-feature - Pull Request öffnen
Bitte halte dich an die Konventionen in AGENTS.md.
MIT License – siehe LICENSE für Details.
73 de DH1NOC



