netcup-vps-provider
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 | 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.):
- Add zone in Netcup CCP: Products → Domain → DNS → Add DNS Zone
- At registrar: Change nameservers to:
root-dns.netcup.netsecond-dns.netcup.netthird-dns.netcup.net
- Wait: 24-48 hours for NS propagation
- 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:
- SCP → Firewall
- Remove "netcup Mail block" policy
- Save changes
Reference Files
| File | When to Read |
|---|---|
| dns-api.md | API endpoints, authentication, record types |
| vps-management.md | SCP operations, firewall, rDNS, SSH |
| account-setup.md | Getting API credentials, adding zones |
| 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
Weekly Installs
5
Repository
dimdasci/vps-setupFirst Seen
Mar 1, 2026
Security Audits
Installed on
opencode5
gemini-cli5
github-copilot5
amp5
cline5
codex5