← Back to Plugins
Tools

Inwx

homeofe By homeofe 👁 95 views ▲ 0 votes

OpenClaw plugin: Manage INWX domains and DNS records via natural language.

GitHub

Install

npm install @elvatis_com/openclaw-inwx

Configuration Example

{
  "username": "your-inwx-user",
  "password": "your-inwx-password",
  "otpSecret": "optional-2fa-secret",
  "environment": "ote",
  "readOnly": false,
  "allowedOperations": []
}

README

# openclaw-inwx

OpenClaw plugin for INWX (InterNetworX) domain registrar automation.

It provides 23 tools for domain lifecycle operations, DNS management, DNSSEC, contact handling, WHOIS, and account checks.

## Features

- INWX DomRobot JSON-RPC integration via `domrobot-client`
- Environment switch: `production` or `ote`
- Optional 2FA login support (`otpSecret`)
- Safety controls:
  - `readOnly` blocks all write tools
  - `allowedOperations` allowlist for tool-level policy
- TypeScript strict mode

## Installation

```bash
npm install @elvatis_com/openclaw-inwx
```

For local development:

```bash
npm install
npm run build
npm test
```

## INWX Account Setup

1. Create or use your INWX account.
2. Enable API access in INWX account settings.
3. If 2FA is enabled, provide a shared secret via `otpSecret`.
4. For safe testing, use OTE environment (`ote.inwx.com`).

## Plugin Config

```json
{
  "username": "your-inwx-user",
  "password": "your-inwx-password",
  "otpSecret": "optional-2fa-secret",
  "environment": "ote",
  "readOnly": false,
  "allowedOperations": []
}
```

## Tool List

### Read Tools

1. `inwx_domain_check`
   - INWX method: `domain.check`
   - Params: `domain` (string)
2. `inwx_domain_list`
   - INWX method: `domain.list`
   - Params: optional filters (object)
3. `inwx_domain_info`
   - INWX method: `domain.info`
   - Params: `domain` (string)
4. `inwx_domain_pricing`
   - INWX method: `domain.check`
   - Params: `domain` (string) or `domains` (string[])
5. `inwx_nameserver_list`
   - INWX method: `nameserver.list` or `domain.info`
   - Params: optional `domain`
6. `inwx_dns_record_list`
   - INWX method: `nameserver.info`
   - Params: `domain` (string)
7. `inwx_dnssec_list`
   - INWX method: `dnssec.info`
   - Params: optional filters
8. `inwx_contact_list`
   - INWX method: `contact.list`
   - Params: optional filters
9. `inwx_whois`
   - INWX method: `domain.whois`
   - Params: `domain` (string)
10. `inwx_account_info`
    - INWX method: `account.info`
    - Params: none

### Write Tools

11. `inwx_domain_register`
    - INWX method: `domain.create`
    - Params: `domain`, `period`, `contacts`, `ns`
12. `inwx_domain_update`
    - INWX method: `domain.update`
    - Params: method payload
13. `inwx_domain_delete`
    - INWX method: `domain.delete`
    - Params: method payload
14. `inwx_domain_transfer`
    - INWX method: `domain.transfer`
    - Params: method payload
15. `inwx_domain_renew`
    - INWX method: `domain.renew`
    - Params: method payload
16. `inwx_nameserver_set`
    - INWX method: `domain.update`
    - Params: `domain`, `ns` (string[])
17. `inwx_dns_record_add`
    - INWX method: `nameserver.createRecord`
    - Params: method payload
18. `inwx_dns_record_update`
    - INWX method: `nameserver.updateRecord`
    - Params: method payload
19. `inwx_dns_record_delete`
    - INWX method: `nameserver.deleteRecord`
    - Params: method payload
20. `inwx_dnssec_enable`
    - INWX method: `dnssec.create`
    - Params: method payload
21. `inwx_dnssec_disable`
    - INWX method: `dnssec.delete`
    - Params: method payload
22. `inwx_contact_create`
    - INWX method: `contact.create`
    - Params: method payload
23. `inwx_contact_update`
    - INWX method: `contact.update`
    - Params: method payload

## OTE Test Environment

Set:

```json
{ "environment": "ote" }
```

This points the client to INWX OTE API endpoint and allows free integration testing without production costs.

## Integration with openclaw-ispconfig

Typical full provisioning chain:

1. Use `openclaw-inwx` to register domain and configure nameservers/DNS.
2. Use `openclaw-ispconfig` to provision website, mail, and database.
3. Result: End-to-end domain-to-hosting automation.

## Safety

- `readOnly=true` allows only:
  - domain check/list/info/pricing
  - nameserver list
  - dns record list
  - dnssec list
  - contact list
  - whois
  - account info
- `allowedOperations` can restrict to explicit tool names.

## Notes

- No live tests are included in this repository.
- Unit tests use mocks only.
tools

Comments

Sign in to leave a comment

Loading comments...