npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@elvatis_com/openclaw-ispconfig

v0.1.2

Published

OpenClaw plugin for ISPConfig server management - domains, mailboxes, databases, DNS, websites

Readme

@elvatis_com/openclaw-ispconfig

OpenClaw plugin to manage ISPConfig via the Remote JSON API.

Features

  • Session-based API client with auto-reconnect
  • 31 tools for read, write, and one-command provisioning
  • Safety guards via readOnly and allowedOperations
  • Live integration tests against a real ISPConfig host (read-only)

ISPConfig API format

This plugin uses the JSON endpoint format:

  • URL: https://server:8080/remote/json.php?method_name
  • Method is passed as query string, not in JSON body
  • Body format:
    • login: { "username": "...", "password": "..." }
    • normal calls: { "session_id": "...", ...params }
    • logout: { "session_id": "..." }

Installation

ClawHub

clawhub install openclaw-ispconfig

npm

npm install @elvatis_com/openclaw-ispconfig

ISPConfig setup

  1. In ISPConfig, create a Remote User.
  2. Grant required API permissions.
  3. Copy endpoint URL and credentials.
  4. Configure plugin in OpenClaw.

Configuration

openclaw.plugin.json config keys:

  • apiUrl (required): ISPConfig JSON API URL
  • username (required): remote user
  • password (required, secret): remote password
  • serverId (default 1): default server id
  • defaultServerIp (optional): fallback IP for provisioning DNS A record
  • readOnly (default false): block write tools
  • allowedOperations (default []): whitelist of tool names
  • verifySsl (default true): TLS certificate verification

Tools

Read tools

  • isp_methods_list params: none
  • isp_system_info params: none
  • isp_client_list params: optional filter fields
  • isp_client_get params: client_id
  • isp_sites_list params: optional filters accepted by sites_web_domain_get
  • isp_site_get params: primary_id (or site_id, domain_id)
  • isp_domains_list params: none
  • isp_dns_zone_list params: user-related filter params
  • isp_dns_record_list params: zone_id
  • isp_mail_domain_list params: optional filters
  • isp_mail_user_list params: optional filters
  • isp_db_list params: user-related filters
  • isp_ssl_status params: none
  • isp_quota_check params: client_id
  • isp_backup_list params: none (returns skipped if API method unavailable)
  • isp_cron_list params: optional filters

Write tools

  • isp_client_add params: ISPConfig client_add payload
  • isp_site_add params: ISPConfig sites_web_domain_add payload
  • isp_domain_add params: alias for isp_site_add
  • isp_dns_zone_add params: ISPConfig dns_zone_add payload
  • isp_dns_record_add params: include type (A, AAAA, MX, TXT, CNAME) and matching payload
  • isp_dns_record_delete params: include type and matching delete payload
  • isp_mail_domain_add params: ISPConfig mail_domain_add payload
  • isp_mail_user_add params: ISPConfig mail_user_add payload
  • isp_mail_user_delete params: ISPConfig mail_user_delete payload
  • isp_db_add params: ISPConfig sites_database_add payload
  • isp_db_user_add params: ISPConfig sites_database_user_add payload
  • isp_shell_user_add params: ISPConfig sites_shell_user_add payload
  • isp_ftp_user_add params: ISPConfig sites_ftp_user_add payload
  • isp_cron_add params: ISPConfig sites_cron_add payload

Provisioning tool

  • isp_provision_site
  • Required params:
    • domain
    • clientName
    • clientEmail
  • Optional params:
    • serverIp
    • createMail (default true)
    • createDb (default true)
    • serverId (default from config)

Workflow:

  1. Create client
  2. Create site with SSL and Let's Encrypt enabled
  3. Create DNS zone
  4. Add DNS records (A, CNAME, SPF TXT, DMARC TXT)
  5. Optionally create mail domain and info@ + admin@ mailboxes
  6. Optionally create DB user and database
  7. Ensure SSL flags are enabled on the site

Safety

  • readOnly=true blocks all write and provisioning tools
  • allowedOperations=[...] allows only named tools

Development

npm run build
npm test

For live tests, provide environment variables:

  • ISPCONFIG_API_URL
  • ISPCONFIG_USER
  • ISPCONFIG_PASS

License

MIT