dimdasci/vps-setup · Archived

netcup-vps-provider

Netcup VPS and DNS API management. Use when: (1) Managing DNS records via Netcup DNS API (2) Configuring VPS via Server Control Panel (SCP) (3) Setting up firewall rules and reverse DNS (PTR) (4) Obtaining and managing Netcup API credentials (5) Troubleshooting DNS propagation issues (6) Managing domains registered at Netcup (7) Configuring external domains to use Netcup DNS

First seen Mar 1, 2026

Installation

$ npx skills add dimdasci/vps-setup --skill netcup-vps-provider

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from dimdasci/vps-setup.

npx skills add dimdasci/vps-setup

Browse all from dimdasci/vps-setup

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Also listed on

Alternate registries and mirrors of this skill.

Repository health

Default branch main
Open issues 0
Status Archived

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 5,468 B
  • docs SUMMARY.md 404 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 13 installs

SKILL.md

Netcup VPS Provider

Netcup is a German hosting provider offering VPS and DNS services. This skill covers DNS API automation and VPS management for ARM G11 servers.

Quick Reference

Resource URL/Value
DNS API endpoint https://ccp.netcup.net/run/webservice/servers/endpoint.php?JSON
Customer Control Panel https://customercontrolpanel.de
Server Control Panel https://servercontrolpanel.de
Nameservers root-dns.netcup.net, second-dns.netcup.net, third-dns.netcup.net

DNS API Workflow

1. Login       → Get session ID
2. Query       → infoDnsZone, infoDnsRecords
3. Update      → updateDnsRecords (replaces ALL records)
4. Logout      → End session

Authentication

const response = await fetch(NETCUP_API, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    action: 'login',
    param: {
      customernumber: '12345',
      apikey: 'abc123...',
      apipassword: 'xyz789...'
    }
  })
});
// Returns: { responsedata: { apisessionid: 'session-id' } }

Get Records

{
  action: 'infoDnsRecords',
  param: {
    customernumber: '12345',
    apikey: 'abc123...',
    apisessionid: 'session-id',
    domainname: 'example.com'
  }
}

Update Records

IMPORTANT: This replaces ALL records in the zone. Always send the complete record set.

{
  action: 'updateDnsRecords',
  param: {
    customernumber: '12345',
    apikey: 'abc123...',
    apisessionid: 'session-id',
    domainname: 'example.com',
    dnsrecordset: {
      dnsrecords: [
        { hostname: '@', type: 'A', destination: '203.0.113.50' },
        { hostname: 'mail', type: 'A', destination: '203.0.113.50' },
        { hostname: '@', type: 'MX', priority: '10', destination: 'mail.example.com' },
        { hostname: '@', type: 'TXT', destination: 'v=spf1 mx ~all' }
      ]
    }
  }
}

API Limitations

Limitation Impact Workaround
No per-record TTL All records share zone TTL Accept limitation
Slow propagation ~15 min typical Add wait/retry logic
Full zone updates Must send ALL records Cache and merge
Session timeout 15 min sessions Login per batch

Email DNS Records

Standard records for Mox email server:

Type Hostname Value
A mail VPS_IP
A mta-sts VPS_IP
A autoconfig VPS_IP
MX @ mail.domain.com (priority 10)
TXT @ v=spf1 mx ~all
TXT _dmarc v=DMARC1; p=quarantine; rua=mailto:...
TXT <selector>._domainkey v=DKIM1; k=rsa; p=...
TXT _mta-sts v=STSv1; id=1
TXT smtp.tls v=TLSRPTv1; rua=mailto:...

External Domains

For domains registered elsewhere (Netim, Gandi, etc.):

  1. Add zone in Netcup CCP: Products → Domain → DNS → Add DNS Zone
  2. At registrar: Change nameservers to:

- root-dns.netcup.net - second-dns.netcup.net - third-dns.netcup.net

  1. Wait: 24-48 hours for NS propagation
  2. Manage via API: Works like Netcup-registered domains

VPS Management

Reverse DNS (PTR)

Set in Server Control Panel → Network → IPv4/IPv6 address → Edit PTR

Critical for email: PTR must match mail server hostname (e.g., mail.example.com)

Firewall (Port 25)

New VPS may have port 25 blocked:

  1. SCP → Firewall
  2. Remove "netcup Mail block" policy
  3. Save changes

Reference Files

File When to Read
[dns-api.md](references/dns-api.md) API endpoints, authentication, record types
[vps-management.md](references/vps-management.md) SCP operations, firewall, rDNS, SSH
[account-setup.md](references/account-setup.md) Getting API credentials, adding zones
[troubleshooting.md](references/troubleshooting.md) DNS propagation, API errors, email issues

Common Issues

Problem Solution
"Domain not found" Add zone in CCP first (API can't create zones)
Slow propagation Wait 15+ min; verify with dig @8.8.8.8
Auth failure Regenerate API key in CCP → Stammdaten → API
Records disappear API replaces ALL records; always send complete set
Port 25 blocked Remove "netcup Mail block" in SCP firewall

Verification Commands

# Check A record
dig A mail.example.com @8.8.8.8 +short

# Check MX
dig MX example.com @8.8.8.8 +short

# Check SPF
dig TXT example.com @8.8.8.8 +short | grep spf

# Check DKIM
dig TXT selector._domainkey.example.com @8.8.8.8 +short

# Check DMARC
dig TXT _dmarc.example.com @8.8.8.8 +short

# Check PTR (reverse DNS)
dig -x YOUR_IP +short

# Check from multiple locations
# Use: https://dnschecker.org/

Official Documentation