mirror of
https://github.com/OpenRouterTeam/spawn.git
synced 2026-05-06 08:10:48 +00:00
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> |
||
|---|---|---|
| .. | ||
| lib | ||
| aider.sh | ||
| amazonq.sh | ||
| claude.sh | ||
| cline.sh | ||
| codex.sh | ||
| continue.sh | ||
| gemini.sh | ||
| goose.sh | ||
| gptme.sh | ||
| interpreter.sh | ||
| kilocode.sh | ||
| nanoclaw.sh | ||
| openclaw.sh | ||
| opencode.sh | ||
| plandex.sh | ||
| README.md | ||
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:
- NETCUP_CUSTOMER_NUMBER - Your customer number
- NETCUP_API_KEY - API key from SCP
- NETCUP_API_PASSWORD - API password from SCP
Get your credentials:
- Log in to Netcup Server Control Panel
- Navigate to Settings → API
- Create a new API key if needed
The scripts will:
- Check for credentials in environment variables
- Check
~/.config/spawn/netcup.json - Prompt for credentials if not found
- 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.