Przejdź do treści
netcup-toolbox•MIT License•v0.4.0

Narzędzia DevOps i skrypty systemowe Netcup

Skrypty powłoki open-source, testy opóźnień i konfiguracje sysctl dla serwerów Netcup Root Server i VPS. Kod źródłowy na GitHubie na licencji MIT.

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

Test opóźnienia do centrów danych

Zobacz na GitHubie ↗

Mierzy opóźnienie ICMP i utratę pakietów z Twojego komputera do 5 oficjalnych węzłów Looking Glass Netcup. Obsługuje iputils i 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

Inicjalizacja serwera i optymalizacja BBR

Zobacz na GitHubie ↗

Optymalizuje Debian 12 / Ubuntu 24.04: włącza TCP BBR, NVMe swappiness=10, zaporę UFW i automatyczne aktualizacje zabezpieczeń. Obsługuje własny port SSH i --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
Parametr jądraWartośćUzasadnienie techniczne
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

Generator konfiguracji Cloud vLAN Netplan

Zobacz na GitHubie ↗

Generuje gotową konfigurację Netplan lub Debian dla prywatnej sieci Netcup Cloud vLAN (2.5 Gb/s). Netcup Cloud vLAN używa wyłącznie MTU 1500; ramki Jumbo nie są obsługiwane.

Netcup Cloud vLAN używa standardowego MTU 1500 bajtów. Ramki Jumbo nie są obsługiwane.

Wygenerowana konfiguracja/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

Klient Dynamic DNS (CCP API)

Zobacz na GitHubie ↗

Automatyzuje aktualizację rekordu A domeny lub subdomeny za pomocą oficjalnego JSON API Netcup CCP.

# 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
Automatyczne uruchamianie przez crontab:

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

tools/netcup-rdns.sh

Reverse DNS (PTR) dla IPv4 i IPv6

Zobacz na GitHubie ↗

Odczytuje, ustawia i usuwa rekordy PTR przez SCP REST API. Poprawny PTR jest wymagany do niezawodnej dostarczalności poczty. Skrypt używa OAuth2 device flow i zapisuje wyłącznie refresh token z uprawnieniami 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

Zarządzanie snapshotami (SCP)

Zobacz na GitHubie ↗

Wyświetla, tworzy, usuwa, eksportuje i przywraca snapshoty przez SCP REST API. Usuwanie i przywracanie wymagają --yes; przywrócenie restartuje serwer i odrzuca zmiany po snapshocie.

# 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

Sprawdzanie DNS poczty i portu 25

Zobacz na GitHubie ↗

Sprawdza MX, SPF, DMARC, DKIM, PTR i osiągalność TCP/25. To test obecności i osiągalności, a nie pełny ewaluator polityk.

# 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

Metryki Prometheus (textfile)

Zobacz na GitHubie ↗

Zapisuje metryki hosta (uptime, load, RAM, dysk, BBR, CPU steal) i opóźnienie ICMP do 5 testowych IP Netcup jako plik tekstowy Prometheus. Dla node_exporter, cron lub systemd timer; bez danych dostępowych Netcup.

# 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

Terminalowy kalkulator cen i VAT

Zobacz na GitHubie ↗

Narzędzie CLI do sprawdzania cen netto i brutto dla wszystkich aktywnych taryf Netcup w 5 strefach podatkowych (0% poza UE, 0% B2B, 19% DE, 20% AT, 23% PL) z zaokrąglaniem w górę.

# 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

Zestaw benchmarków YABS

JSON na GitHubie ↗

Zagregowane wyniki YABS na czystych instalacjach Debian 12 minimal (AMD EPYC 9645 i NVIDIA H200 vGPU). Plik JSON to wygodny wyciąg z data/servers.json, a nie archiwum surowych logów.

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%