spawn/netcup
A b2dd67a0af
refactor: extract helpers to reduce complexity in fly and netcup providers (#912)
fly/lib/common.sh:
- Extract _get_fly_cmd() to eliminate duplicated fly/flyctl CLI resolution
  across run_server, interactive_session, _try_flyctl_auth, ensure_fly_cli
- Extract _fly_parse_error() to deduplicate JSON error parsing (was inline
  in _validate_fly_token, _fly_create_app, _fly_create_machine)
- Extract _fly_build_machine_body() from _fly_create_machine (50→32 lines)
- Use shared _extract_json_field in _fly_create_machine and
  _fly_wait_for_machine_start instead of inline python3 calls

netcup/lib/common.sh:
- Extract _netcup_is_success() for repeated status=='success' checks
  (was inline python3 in create_server, destroy_server, _netcup_wait_for_ip)
- Extract _netcup_build_login_body() from netcup_get_session (51→30 lines)
- Use _extract_json_field throughout instead of inline python3 one-liners
- Net reduction: 351→335 lines (-16)

Agent: complexity-hunter

Co-authored-by: A <6723574+louisgv@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-02-13 05:07:53 -08:00
..
lib refactor: extract helpers to reduce complexity in fly and netcup providers (#912) 2026-02-13 05:07:53 -08:00
aider.sh fix: use log_step for progress messages in netcup scripts (#441) 2026-02-11 04:45:44 -08:00
amazonq.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
claude.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
cline.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
codex.sh fix: use log_step for progress messages in netcup scripts (#441) 2026-02-11 04:45:44 -08:00
continue.sh fix: use log_step for progress messages in netcup scripts (#441) 2026-02-11 04:45:44 -08:00
gemini.sh fix: use log_step for progress messages in netcup scripts (#441) 2026-02-11 04:45:44 -08:00
goose.sh fix: use log_step for progress messages in netcup scripts (#441) 2026-02-11 04:45:44 -08:00
gptme.sh fix: use log_step for progress messages in recent scripts (#524) 2026-02-11 14:04:14 -08:00
interpreter.sh fix: use log_step for progress messages in netcup scripts (#441) 2026-02-11 04:45:44 -08:00
kilocode.sh feat: implement netcup/kilocode integration (#751) 2026-02-12 15:49:19 -08:00
nanoclaw.sh fix: use log_step for progress messages in netcup scripts (#441) 2026-02-11 04:45:44 -08:00
openclaw.sh fix: use log_step for progress messages in netcup scripts (#441) 2026-02-11 04:45:44 -08:00
opencode.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
plandex.sh feat: Add netcup/plandex implementation (#558) 2026-02-11 16:43:23 -08:00
README.md refactor: replace Python with jq in Hetzner lib, fix /lab → /labs URLs (#827) 2026-02-12 23:14:11 -08:00

Netcup Cloud

Netcup VPS cloud via REST API. Netcup

Agents

Claude Code

bash <(curl -fsSL https://openrouter.ai/labs/spawn/netcup/claude.sh)

Aider

bash <(curl -fsSL https://openrouter.ai/labs/spawn/netcup/aider.sh)

Goose

bash <(curl -fsSL https://openrouter.ai/labs/spawn/netcup/goose.sh)

Amazon Q

bash <(curl -fsSL https://openrouter.ai/labs/spawn/netcup/amazonq.sh)

Plandex

bash <(curl -fsSL https://openrouter.ai/labs/spawn/netcup/plandex.sh)

Kilo Code

bash <(curl -fsSL https://openrouter.ai/labs/spawn/netcup/kilocode.sh)

Non-Interactive Mode

NETCUP_SERVER_NAME=dev-mk1 \
NETCUP_CUSTOMER_NUMBER=12345 \
NETCUP_API_KEY=your-api-key \
NETCUP_API_PASSWORD=your-api-password \
OPENROUTER_API_KEY=sk-or-v1-xxxxx \
  bash <(curl -fsSL https://openrouter.ai/labs/spawn/netcup/claude.sh)

Authentication

Netcup uses session-based REST API authentication with three credentials:

  1. NETCUP_CUSTOMER_NUMBER - Your customer number
  2. NETCUP_API_KEY - API key from SCP
  3. NETCUP_API_PASSWORD - API password from SCP

Get your credentials:

The scripts will:

  1. Check for credentials in environment variables
  2. Check ~/.config/spawn/netcup.json
  3. Prompt for credentials if not found
  4. Save credentials to config file for reuse

Pricing

Budget VPS provider starting at approximately €3.86/month for entry-level VPS plans. Netcup offers flexible pricing with hourly billing or annual contracts.

API

Netcup's REST API launched in October 2025. It uses session-based authentication (login to get session ID, then use session ID for API calls). The API replaces the legacy SOAP web service (discontinued May 1, 2026).

API documentation is available in the Server Control Panel → REST API Docs.