https://github.com/xerolux/modbridge
Modbus TCP/RTU proxy manager with Web UI and headless modes. Multi-proxy support, real-time monitoring, multi-arch (x86/ARM).
https://github.com/xerolux/modbridge
1502 502 iot modbus modbus-proxy modbus-tcp modbus-tcp-server proxy
Last synced: 5 days ago
JSON representation
Modbus TCP/RTU proxy manager with Web UI and headless modes. Multi-proxy support, real-time monitoring, multi-arch (x86/ARM).
- Host: GitHub
- URL: https://github.com/xerolux/modbridge
- Owner: Xerolux
- License: mit
- Created: 2025-12-23T16:39:03.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2026-06-14T12:46:52.000Z (19 days ago)
- Last Synced: 2026-06-14T14:02:26.364Z (19 days ago)
- Topics: 1502, 502, iot, modbus, modbus-proxy, modbus-tcp, modbus-tcp-server, proxy
- Language: Go
- Homepage: https://xerolux.github.io/modbridge/
- Size: 10.9 MB
- Stars: 0
- Watchers: 0
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# ModBridge - Modbus TCP Proxy Manager
**Version:** v2.0.4
[](https://github.com/xerolux/modbridge/releases)
[](https://github.com/xerolux/modbridge/releases)
[](https://github.com/xerolux/modbridge/commits/main)
[](https://github.com/Xerolux/modbridge/blob/main/LICENSE)
[](https://github.com/Xerolux/modbridge/actions/workflows/ci.yml)
[](https://github.com/sponsors/xerolux)
[](https://ko-fi.com/xerolux)
[](https://www.buymeacoffee.com/xerolux)
[](https://paypal.me/xerolux)
[](https://ts.la/sebastian564489)

**ModBridge** ist ein moderner, robuster Modbus TCP Proxy Manager mit einer eleganten Web-Oberfläche. Er ermöglicht das Multiplexing und Management von Modbus-Verbindungen und bietet detailliertes Monitoring, Logging und Sicherheit in einem kompakten, einfach bereitzustellenden Paket.
## 📖 Ausführliche Dokumentation (Wiki)
Alle ausführlichen Informationen zu Konfiguration (Web-UI & Headless) und Nutzung finden Sie in unserem **[GitHub Wiki](https://github.com/Xerolux/modbridge/wiki)**.
### Schnellzugriff:
- ⚙️ **[Konfiguration (WebUI & Headless)](https://github.com/Xerolux/modbridge/wiki/Konfiguration)**
- 🔧 **[Features & API](https://github.com/Xerolux/modbridge/wiki/Features-und-API)**
- 🩺 **[Troubleshooting](https://github.com/Xerolux/modbridge/wiki/Troubleshooting)**
---
## 🚀 Installation mit `modbridge` (empfohlen)
Das Installationsskript übernimmt alles: Binary-Download, systemd-Service mit Autostart und Einrichtung als systemweites CLI-Kommando (`modbridge`).
### Quick Install (einzeilig)
```bash
curl -sSL https://raw.githubusercontent.com/Xerolux/modbridge/main/scripts/modbridge.sh | sudo bash -s install
```
### Schritt für Schritt
```bash
# 1. Skript herunterladen
curl -sSL -o modbridge.sh https://raw.githubusercontent.com/Xerolux/modbridge/main/scripts/modbridge.sh
chmod +x modbridge.sh
# 2. Installieren (interaktiv mit Menü)
sudo bash modbridge.sh install
# 3. Danach ist 'modbridge' systemweit verfügbar
sudo modbridge status
```
### Was passiert bei der Installation?
| Schritt | Beschreibung |
|---------|-------------|
| Architektur erkennen | amd64, arm64 oder arm automatisch erkannt |
| Variante wählen | Full (mit WebUI) oder Headless (ohne WebUI) |
| Version wählen | Neueste Release von GitHub, oder ältere wählen |
| Binary download | Passende Binary nach `/opt/modbridge/modbridge` |
| Script installieren | Skript nach `/usr/local/bin/modbridge` kopiert |
| systemd-Service | Service mit Autostart erstellt und gestartet |
Nach der Installation startet ModBridge automatisch bei jedem Systemstart. Alle konfigurierten Proxies werden automatisch mitgestartet.
### Alle Befehle
```bash
modbridge # Interaktives TUI-Menü (whiptail)
modbridge install [--auto] # Installieren (oder Neuinstallation)
modbridge update [--auto] # Aktualisieren
modbridge start # Service starten
modbridge stop # Service stoppen
modbridge restart # Service neustarten
modbridge status # Status anzeigen
modbridge logs [-f] # Logs (live mit -f)
modbridge health # Health-Check
modbridge config # Config bearbeiten (nano/vi)
modbridge backup # Config + DB sichern
modbridge version # Version anzeigen
modbridge uninstall # Vollständig entfernen
```
### Optionen
| Option | Beschreibung |
|--------|-------------|
| `--auto` | Automatischer Modus: neueste Version, WebUI, keine Dialoge |
| `--headless` | Automatischer Modus, Headless-Variante |
| `--force` | Installation erzwingen (überschreibt bestehende) |
| `NO_UPDATE=1` | Script-Auto-Update überspringen |
### Selbst-Update
Das Skript prüft bei **jedem Aufruf** automatisch auf eine neuere Version. Falls verfügbar, lädt es die neue Version herunter und startet sich selbst neu. Kein manuelles Eingreifen nötig.
```bash
# Prüft automatisch auf Script-Updates, dann installieren
sudo modbridge install
# Update-Prüfung überspringen
NO_UPDATE=1 sudo modbridge install
```
### Update & Neuinstallation — Daten bleiben erhalten
ModBridge schützt Ihre Daten bei Updates und Neuinstallationen:
| Aktion | Config (`config.json`) | Datenbank (`modbridge.db`) | Proxies |
|--------|----------------------|---------------------------|---------|
| `modbridge update` | **Erhalten** + Backup | **Erhalten** | **Erhalten**, Service wird neugestartet |
| `modbridge install` (bereits installiert) | **Erhalten** — bietet Update an | **Erhalten** | **Erhalten** |
| `modbridge install --force` | **Erhalten** + Backup | **Erhalten** | **Erhalten**, Neuinstallation |
| `modbridge uninstall` | Gelöscht (Backup optional) | Gelöscht (Backup optional) | Gelöscht |
**Update-Prozess im Detail:**
1. Service wird gestoppt
2. Config wird automatisch nach `/opt/modbridge/backups/` gesichert
3. Alte Binary wird als `modbridge.backup.ZEITSTEMPEL` behalten
4. Neue Binary wird heruntergeladen
5. Service wird neugestartet
6. Falls der Start fehlschlägt → automatisches Rollback auf die vorherige Binary
**Neuinstallation** (z.B. nach Versionswechsel Full ↔ Headless):
```bash
sudo modbridge install --force
# Config und DB bleiben erhalten, nur Binary wird ausgetauscht
```
### Manuelle Backup-Verwaltung
```bash
# Backup erstellen
sudo modbridge backup
# → /opt/modbridge/backups/config-20260401_120000.json
# → /opt/modbridge/backups/db-20260401_120000.db
# Config bearbeiten
sudo modbridge config
# Nach Config-Änderungen Service neustarten
sudo modbridge restart
```
### Unterstützte Architekturen
| Architektur | System |
|------------|--------|
| `amd64` | Intel/AMD 64-bit (Standard Server, PC) |
| `arm64` | ARM 64-bit (Raspberry Pi 4/5, ARM Server) |
| `arm` | ARM 32-bit (Raspberry Pi Zero/1/2/3, 32-bit OS) |
---
## 🐳 Docker Deployment
Alternative Installation via Docker Compose:
```yaml
version: '3.8'
services:
modbridge:
image: ghcr.io/xerolux/modbridge:latest
container_name: modbridge
restart: unless-stopped
ports:
- "8080:8080"
- "5020-5030:5020-5030" # Port-Range für Proxies
volumes:
- ./config.json:/app/config.json
- ./data:/app/data
```
```bash
docker-compose up -d
```
---
## 💻 Web-UI
Nach der Installation (Full-Variante) ist die Web-UI erreichbar unter:
```
http://:8080
```
Das Admin-Passwort wird beim ersten Start automatisch generiert und in den Logs angezeigt:
```bash
modbridge logs | grep -i password
```
---
## 🛠️ Entwicklung & Build
Möchten Sie selbst Hand anlegen oder das Projekt aus den Quellen kompilieren?
Informationen zu `make`-Befehlen, Frontend-Build und mehr finden Sie im Wiki.
Lokaler Build:
```bash
make build
./modbridge
```
---
## 🤝 Beitragen
Beiträge sind willkommen! Bitte lesen Sie [CONTRIBUTING.md](CONTRIBUTING.md) für Details.
## 📄 Lizenz
MIT License - siehe [LICENSE](LICENSE) für Details.
## ✍️ Autor
- **Xerolux** - [GitHub](https://github.com/Xerolux)
---
**Version**: 1.0.17 | **Status**: Beta | **Letzte Aktualisierung**: April 2026