Software-Projekte

netcup-cli: Netcup-Server und DNS direkt im Terminal verwalten

netcup-cli: Netcup-Server und DNS direkt im Terminal verwalten

Wer mehrere Server betreibt, kennt den Ablauf: ins Control Panel einloggen, den richtigen VPS suchen, eine Aktion ausführen, später DNS-Einträge anpassen – und für wiederkehrende Aufgaben alles noch einmal von vorn. netcup-cli bringt viele dieser Handgriffe ins Terminal. Das Open-Source-Projekt von Maxsander123 verbindet die Netcup Server Control Panel (SCP) REST API mit den DNS-Schnittstellen des Customer Control Panel (CCP).

Ein Terminal als Schaltzentrale

Nach dem Login lassen sich Server auflisten, Details anzeigen und grundlegende Aktionen ausführen:

netcup-cli login
netcup-cli list
netcup-cli info test
netcup-cli start test
netcup-cli stop test

Server können über ID, Nickname, Hostname oder internen Namen angesprochen werden. Auch die VNC-Konsole lässt sich mit netcup-cli vnc test im Browser öffnen.

Der Login für SCP läuft über einen Browser und einen Gerätecode. Das CLI verlangt dabei kein Kontopasswort im Terminal; es speichert lokal ein Refresh-Token. Mit whoami lässt sich der Status prüfen, logout entfernt das lokal gespeicherte Token.

Mehr als Start und Stopp

Das Projekt deckt eine ganze Reihe typischer Betriebsaufgaben ab:

  • Snapshots prüfen, erstellen, auflisten, exportieren und wiederherstellen
  • Betriebssystem-Installationen interaktiv oder mit Skriptoptionen starten
  • SSH-Schlüssel, ISO-Abbilder und Rescue-Modus verwalten
  • CPU-, Disk- und Netzwerkmetriken sowie Server-Logs abrufen
  • Reverse-DNS-Einträge setzen
  • asynchrone Aufgaben verfolgen und bei Bedarf ohne Warten starten

Ein Snapshot vor einem Wartungsfenster lässt sich zum Beispiel so anlegen:

netcup-cli snapshot check test
netcup-cli snapshot create test --name vor-update

Bei einer Wiederherstellung fragt das CLI vor dem Überschreiben nach. Für unbeaufsichtigte Abläufe gibt es zudem explizite Bestätigungsoptionen; destruktive Befehle verlangen in nicht-interaktiven Skripten ein --yes beziehungsweise -y.

DNS: getrennte APIs, getrennte Zugangsdaten

Besonders praktisch ist, dass netcup-cli neben dem SCP auch DNS-Funktionen des CCP anspricht. Das umfasst klassische DNS-Zonen und Records, CloudDNS-Funktionen wie ACME-Challenges und Changesets sowie Dynamic DNS. Je nach Befehl kommen unterschiedliche Netcup-APIs und Zugangsdaten zum Einsatz.

netcup-cli dns auth set rest
netcup-cli dns domains list
netcup-cli dns acme list example.com
netcup-cli dns ddns update home.example.com --ipv4 192.0.2.10 --yes

SCP-Login und CCP-DNS-Zugang sind voneinander unabhängig. Secrets für DNS können interaktiv hinterlegt oder über Umgebungsvariablen für Skripte bereitgestellt werden. Gespeicherte CCP-Zugangsdaten legt das Tool in einer separaten Datei mit restriktiven Dateirechten ab. Schreibende DNS-Kommandos fragen standardmäßig nach Bestätigung; für Automatisierung kann --yes verwendet werden.

Für Shell-Skripte und Automatisierung

Mit --json lässt sich die Ausgabe weiterverarbeiten, etwa mit jq:

netcup-cli --json list | jq '.[].id'

Länger laufende Vorgänge sind standardmäßig mit einer Fortschrittsanzeige verbunden. Wer den nächsten Schritt parallel vorbereiten möchte, kann --no-wait verwenden und den Aufgabenstatus später abfragen:

netcup-cli --no-wait stop test
netcup-cli tasks list --limit 5 --state RUNNING

Das macht das CLI interessant für Admins, die wiederkehrende Abläufe skripten oder Serverzustände direkt in bestehende Shell-Workflows einbauen möchten.

Installation

Voraussetzung ist uv. Auf Linux oder macOS kann das Tool anschließend direkt vom GitHub-Projekt installiert werden:

curl -LsSf https://astral.sh/uv/install.sh | sh
curl -fsSL https://raw.githubusercontent.com/Maxsander123/netcup-cli/main/scripts/install-netcup-cli.sh | bash
netcup-cli --version

Updates lassen sich anschließend mit netcup-cli update einspielen. Wer lieber aus einem lokalen Checkout installiert, findet dafür ebenfalls eine Anleitung im Repository.

Für wen lohnt sich ein Blick?

netcup-cli ist vor allem dann spannend, wenn du Netcup-Server regelmäßig verwaltest, Shell-Skripte nutzt oder SCP- und DNS-Arbeiten an einem Ort bündeln möchtest. Die breite Befehlsauswahl reicht von einfachen Statusabfragen bis zu Installationen, Snapshots und DNS-Änderungen. Für den Einstieg sind netcup-cli --help und die Dokumentation im Repository die besten Anlaufstellen.

Wie bei jedem Werkzeug für Infrastruktur gilt: Vor produktiven Änderungen die Auswirkungen prüfen, besonders bei Neuinstallationen, Snapshot-Wiederherstellungen und DNS-Schreibvorgängen. Das CLI bietet dafür unter anderem interaktive Bestätigungen, Prüfkommandos und eine JSON-Ausgabe.

Projekt ansehen: github.com/Maxsander123/netcup-cli