Skip to content

niklashof/inwx-cli

Repository files navigation

INWX CLI

TypeScript CLI for INWX domain and DNS management with TOTP support.

Install

npm install
npm run build
npm link

Configuration

Interactive setup:

inwx config

Show current config (masked):

inwx config --show

Update defaults:

inwx config --sandbox
inwx config --production
inwx config --output table

Config file is stored at ~/.inwxrc (secrets encrypted). You can also use env vars:

INWX_USERNAME=...
INWX_PASSWORD=...
INWX_OTP_SECRET=...
INWX_SANDBOX=false
INWX_OUTPUT=table

Sessions

Authenticated commands store a session cookie in ~/.inwx-session (permissions 0600). Sessions are reused across commands to avoid repeated TOTP prompts. The session file includes an expiry timestamp (default 30 minutes). Each command verifies the session before use; if it is invalid or expired, a fresh login occurs.

Use:

inwx auth status
inwx auth logout

Global Options

  • --output <format>: table|json|quiet
  • --json: JSON output
  • --quiet: minimal output
  • --sandbox: use sandbox API (api.ote.domrobot.com)
  • --dry-run: preview destructive operations without executing

Commands

auth

  • inwx auth status — show session status and expiry
  • inwx auth logout — log out and clear the saved session

whoami

  • inwx whoami — show current account info

config

  • inwx config — interactive config wizard
  • inwx config --show — show masked config
  • inwx config --sandbox — enable sandbox in config
  • inwx config --production — disable sandbox in config
  • inwx config --output <format> — set default output format

domain

  • inwx domain list — list domains
  • inwx domain info <domain> — domain details
  • inwx domain check <domains...> — availability check
  • inwx domain prices [tld] — list prices
  • inwx domain register <domain> — register domain
    • --period <years>
    • --contact <id> or --registrant/--admin/--tech/--billing <id>
    • --ns <nameservers...>
  • inwx domain transfer <domain> — transfer domain
    • --authinfo <code>
    • --contact <id> or --registrant/--admin/--tech/--billing <id>
  • inwx domain update <domain> — update nameservers, renew, lock
    • --ns <nameservers...>
    • --renew <years>
    • --lock <true|false>
  • inwx domain delete <domain> — delete domain

dns

  • inwx dns list <domain> — list DNS records
    • --type <type>
    • --name <name>
  • inwx dns add <domain> <type> <name> <content> — add record
    • --ttl <seconds>
    • --priority <prio>
  • inwx dns update <record-id> — update record
    • --content <value>
    • --ttl <seconds>
    • --priority <prio>
    • --name <name>
  • inwx dns delete <record-id> — delete record by ID
  • inwx dns delete <domain> --name <name> --type <type> — delete by filters
  • inwx dns import <domain> <zonefile> — import a zone file
  • inwx dns export <domain> — export zone file

contact

  • inwx contact list — list contacts
  • inwx contact info <id> — contact details
  • inwx contact create — create contact (interactive)
  • inwx contact update <id> — update contact (interactive)
  • inwx contact delete <id> — delete contact

Examples

inwx auth status
inwx auth logout

inwx whoami

inwx domain list
inwx domain check example.de example.com
inwx domain prices de
inwx domain register example.com --period 1 --contact 12345 --ns ns1.example.net ns2.example.net

inwx dns list example.com
inwx dns add example.com A @ 192.0.2.1 --ttl 3600
inwx dns delete example.com --name www --type CNAME
inwx dns export example.com

inwx contact list
inwx contact create

About

INWX Domain & DNS CLI with 2FA support

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors