Zum Inhalt springen
netcup-toolbox•MIT License•v0.4.0

Netcup DevOps-Werkzeuge & Systemprogramme

Open-Source-Shellskripte, Netzwerk-Probes und Sysctl-Konfigurationen für Netcup Root-Server und VPS. Quellcode auf GitHub unter MIT-Lizenz.

GitHub-Repositorydepavel/netcup-toolbox ↗
git clone https://github.com/depavel/netcup-toolbox.git
tools/netcup-ping.sh

Rechenzentrums-Latenztest

Auf GitHub ansehen ↗

Misst die ICMP-Laufzeit und den Paketverlust von Ihrer Maschine zu allen 5 offiziellen Netcup Looking-Glass-Endpunkten. Unterstützt iputils und BusyBox ping.

# Download, inspect, then run (3 ICMP packets per location):
curl -fsSL https://raw.githubusercontent.com/depavel/netcup-toolbox/v0.4.0/tools/netcup-ping.sh -o /tmp/netcup-ping.sh
less /tmp/netcup-ping.sh
bash /tmp/netcup-ping.sh
Nuremberg (DE)
188.68.56.104
Looking Glass: lookingglass.netcup.net
Vienna (AT)
89.58.16.1
Looking Glass: lookingglass.netcup.net
Amsterdam (NL)
152.53.104.2
Looking Glass: lookingglass.netcup.net
Manassas, VA (US)
152.53.68.2
Looking Glass: lookingglass.netcup.net
Singapore (SG)
217.146.9.10
Looking Glass: lookingglass.netcup.net
tools/netcup-init.sh

Server-Initialisierung & BBR-Hardening

Auf GitHub ansehen ↗

Optimiert Debian 12 / Ubuntu 24.04: aktiviert TCP BBR, NVMe-Swappiness=10, UFW-Firewall und automatische Sicherheitsupdates. Unterstützt eigenen SSH-Port und --dry-run.

# Download, inspect, then run on a clean Debian 12 / Ubuntu 24.04 server:
curl -fsSL https://raw.githubusercontent.com/depavel/netcup-toolbox/v0.4.0/tools/netcup-init.sh -o /tmp/netcup-init.sh
less /tmp/netcup-init.sh
sudo bash /tmp/netcup-init.sh --with-docker
Kernel-ParameterWertTechnische Begründung
net.ipv4.tcp_congestion_controlbbrEnables Google BBR to achieve full 2.5 Gbps line rate under WAN packet loss
net.core.default_qdiscfqFair Queuing packet scheduler required for BBR pacing and bufferbloat suppression
vm.swappiness10Prevents Linux kernel from aggressively writing RAM to NVMe disk cache
fs.file-max2097152Raises global open file descriptor limit for reverse proxies (Traefik, Nginx, Caddy)
ufw (Firewall)deny incomingDefault deny incoming traffic; allows ports 22 (SSH), 80 (HTTP), 443 (HTTPS)
tools/netcup-vlan.sh

Cloud vLAN Netplan-Generator

Auf GitHub ansehen ↗

Erzeugt einsatzbereite Netplan- oder Debian-Netzwerkkonfigurationen für Netcup Cloud vLAN (internes 2,5-Gbit/s-Netzwerk). Netcup Cloud vLAN nutzt ausschließlich MTU 1500; Jumbo-Frames werden nicht unterstützt.

Netcup Cloud vLAN nutzt eine Standard-MTU von 1500 Byte. Jumbo-Frames werden nicht unterstützt.

Generierte Konfiguration/etc/netplan/60-cloud-vlan.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    eth1:
      addresses:
        - 10.0.10.1/24
      mtu: 1500
      routes: []
CLI 1-Line Execution (netcup-vlan.sh)

Run directly on your server via our open-source script:

curl -fsSL https://raw.githubusercontent.com/depavel/netcup-toolbox/v0.4.0/tools/netcup-vlan.sh -o /tmp/netcup-vlan.sh
less /tmp/netcup-vlan.sh
sudo bash /tmp/netcup-vlan.sh --interface eth1 --ip 10.0.10.1/24 --mtu 1500 --mode netplan
tools/netcup-dns-sync.sh

Dynamischer DNS-Client (CCP API)

Auf GitHub ansehen ↗

Aktualisiert A-Records für Domains oder Subdomains über die offizielle Netcup CCP JSON-API.

# Set credentials and sync DNS A record:
export NETCUP_CUSTOMER_NUMBER="123456"
export NETCUP_API_KEY="your-api-key"
export NETCUP_API_PASSWORD="your-api-password"
export NETCUP_DOMAIN_NAME="example.com"
export NETCUP_HOST_NAME="vpn"

bash tools/netcup-dns-sync.sh
Automatische Crontab-Ausführung:

*/15 * * * * /usr/local/bin/netcup-dns-sync.sh >/dev/null 2>&1

tools/netcup-rdns.sh

Reverse DNS (PTR) für IPv4 und IPv6

Auf GitHub ansehen ↗

Setzt, liest und löscht PTR-Einträge über die SCP-REST-API. Ein korrekter PTR ist Voraussetzung für zuverlässigen Mailversand. Das Skript nutzt den OAuth2-Device-Flow und speichert nur einen Refresh-Token mit Modus 600.

# Download, inspect, authenticate, then manage PTR records:
curl -fsSL https://raw.githubusercontent.com/depavel/netcup-toolbox/v0.4.0/tools/netcup-rdns.sh -o /tmp/netcup-rdns.sh
less /tmp/netcup-rdns.sh
bash /tmp/netcup-rdns.sh auth login
bash /tmp/netcup-rdns.sh get 203.0.113.10
bash /tmp/netcup-rdns.sh set 203.0.113.10 mail.example.com
OAuth2 / SCP REST

No static API key. The script stores only a refresh token under~/.config/netcup-toolbox/scp-tokenwith mode 600 and adds your IP to the SCP REST API allowlist.

tools/netcup-snapshot.sh

Snapshots verwalten (SCP)

Auf GitHub ansehen ↗

Listet, erstellt, löscht, exportiert und stellt Snapshots über die SCP-REST-API wieder her. Löschen und Restore verlangen --yes; Restore startet den Server neu und verwirft Änderungen seit dem Snapshot.

# List servers, create a snapshot, then restore it:
curl -fsSL https://raw.githubusercontent.com/depavel/netcup-toolbox/v0.4.0/tools/netcup-snapshot.sh -o /tmp/netcup-snapshot.sh
less /tmp/netcup-snapshot.sh
bash /tmp/netcup-snapshot.sh auth login
bash /tmp/netcup-snapshot.sh servers
bash /tmp/netcup-snapshot.sh create 123456 pre-upgrade --wait
bash /tmp/netcup-snapshot.sh restore 123456 pre-upgrade --yes --wait
Destructive action

Restore reverts the disks and reboots the server. Data written after the snapshot is lost. Use --dry-run first and keep an out-of-band console available.

tools/netcup-mail-check.sh

Mail-DNS und Port 25 prüfen

Auf GitHub ansehen ↗

Prüft MX, SPF, DMARC, DKIM, PTR und die Erreichbarkeit von TCP/25. Die Ausgabe ist ein Presence-/Reachability-Check, keine vollständige Policy-Auswertung.

# Download, inspect, then check a domain:
curl -fsSL https://raw.githubusercontent.com/depavel/netcup-toolbox/v0.4.0/tools/netcup-mail-check.sh -o /tmp/netcup-mail-check.sh
less /tmp/netcup-mail-check.sh
bash /tmp/netcup-mail-check.sh example.com
bash /tmp/netcup-mail-check.sh example.com --selector mail --json
Port 25

From a residential ISP, TCP/25 may be blocked by the ISP rather than the destination. Run the check from a server with outbound port 25 for a meaningful result.

tools/netcup-exporter.sh

Prometheus-Metriken (Textfile)

Auf GitHub ansehen ↗

Schreibt Host-Metriken (Uptime, Load, RAM, Disk, BBR, CPU-Steal) und ICMP-Latenz zu allen 5 Netcup-Test-IPs als Prometheus-Textfile. Für node_exporter, cron oder systemd-Timer; ohne Netcup-Zugangsdaten.

# Write a textfile for node_exporter (cron or systemd timer):
curl -fsSL https://raw.githubusercontent.com/depavel/netcup-toolbox/v0.4.0/tools/netcup-exporter.sh -o /tmp/netcup-exporter.sh
less /tmp/netcup-exporter.sh
bash /tmp/netcup-exporter.sh --textfile /var/lib/node_exporter/textfile/netcup.prom
bash /tmp/netcup-exporter.sh --no-latency
tools/netcup-calc.sh

Terminal-Preisrechner & MwSt.

Auf GitHub ansehen ↗

Kommandozeilenprogramm zur Berechnung von Netto- und Bruttopreisen aller aktiven Netcup-Tarife über 5 Steuerregionen (0% Drittland, 0% B2B, 19% DE, 20% AT, 23% PL) mit Netcup-Aufrundung.

# Download, inspect, then run the billing & VAT inspector:
curl -fsSL https://raw.githubusercontent.com/depavel/netcup-toolbox/v0.4.0/tools/netcup-calc.sh -o /tmp/netcup-calc.sh
less /tmp/netcup-calc.sh
bash /tmp/netcup-calc.sh
data/benchmarks.json

YABS-Benchmark-Datensatz

JSON auf GitHub ↗

Aggregierte YABS-Ergebnisse auf sauberen Debian-12-Minimalinstallationen (AMD EPYC 9645 und NVIDIA H200 vGPU). Die JSON-Datei ist ein Komfort-Auszug aus data/servers.json, kein Rohlog-Archiv.

RS 500 G12.52285/4210 · 182.5k · 0.0%
RS 1000 G12.52290/7559 · 187.3k · 0.0%
RS 2000 G12.52295/13420 · 192.0k · 0.0%
RS 4000 G12.52301/17890 · 198.5k · 0.0%
RS 8000 G12.52305/21940 · 204.0k · 0.0%
RS 2000 vGPU 72210/12400 · 195.0k · 0.0%
RS 4000 vGPU 142225/17200 · 202.0k · 0.0%
VPS pico G11.5s980/1450 · 45.0k · 1.8%
VPS 500 G12.51710/2890 · 115.0k · 1.4%
VPS 1000 G12.51720/4650 · 130.0k · 1.2%
VPS 1000 ARM G12.51020/4980 · 142.0k · 0.4%
VPS 2000 G12.51740/7980 · 138.0k · 1.1%
VPS 4000 G12.51755/11200 · 145.0k · 1.0%
VPS 8000 G12.51760/14100 · 150.0k · 0.9%