TypeScript CLI for INWX domain and DNS management with TOTP support.
npm install
npm run build
npm linkInteractive setup:
inwx configShow current config (masked):
inwx config --showUpdate defaults:
inwx config --sandbox
inwx config --production
inwx config --output tableConfig 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
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--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
inwx auth status— show session status and expiryinwx auth logout— log out and clear the saved session
inwx whoami— show current account info
inwx config— interactive config wizardinwx config --show— show masked configinwx config --sandbox— enable sandbox in configinwx config --production— disable sandbox in configinwx config --output <format>— set default output format
inwx domain list— list domainsinwx domain info <domain>— domain detailsinwx domain check <domains...>— availability checkinwx domain prices [tld]— list pricesinwx 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
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 IDinwx dns delete <domain> --name <name> --type <type>— delete by filtersinwx dns import <domain> <zonefile>— import a zone fileinwx dns export <domain>— export zone file
inwx contact list— list contactsinwx contact info <id>— contact detailsinwx contact create— create contact (interactive)inwx contact update <id>— update contact (interactive)inwx contact delete <id>— delete contact
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