{"_id":"@16bit/gidinet","_rev":"2-f681aab2354fefb3d036c86ccb8fdfc9","name":"@16bit/gidinet","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@16bit/gidinet","version":"0.1.0","keywords":["gidinet","quickservicebox","domains","dns","cli","registrar"],"author":{"name":"16bit Srl"},"license":"MIT","_id":"@16bit/gidinet@0.1.0","maintainers":[{"name":"16bit","email":"mt@16bit.it"}],"homepage":"https://github.com/16bitsrl/gidinet-cli#readme","bugs":{"url":"https://github.com/16bitsrl/gidinet-cli/issues"},"bin":{"gidinet":"dist/cli.js"},"dist":{"shasum":"8edb78c925fffcc1e97b08749f4e6f02127477a3","tarball":"https://registry.npmjs.org/@16bit/gidinet/-/gidinet-0.1.0.tgz","fileCount":9,"integrity":"sha512-GiFfqlx/8TxvXeu6wr2ziFtJWj6PwKYkKX7vHNXqPvhdXwYKeO9vYUILheg/RseIUWkCmWLujMRoX3hx/LNCZw==","signatures":[{"sig":"MEYCIQDi2zSSRcWeqgoMnmrYjsQoOTNeEsS2ufOeKlw9o9uliQIhAM389isUecRaxirEocLxWg4IL/TWCahPCYSpKHf/4RLU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43009},"type":"module","engines":{"node":">=20"},"gitHead":"1a0ee4da7cef7a40ac590bf1a3c48bda1392c597","scripts":{"dev":"node --experimental-strip-types src/cli.ts","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"16bit","email":"mt@16bit.it"},"repository":{"url":"git+https://github.com/16bitsrl/gidinet-cli.git","type":"git"},"_npmVersion":"11.16.0","description":"Modern, simple CLI for GiDiNet / QuickServiceBox — domains, DNS, contacts and renewals from your terminal.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"commander":"^14.0.0","picocolors":"^1.1.1","fast-xml-parser":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/gidinet_0.1.0_1781371291483_0.5712052409949695","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@16bit/gidinet","version":"0.1.1","description":"Modern, simple CLI for GiDiNet / QuickServiceBox — domains, DNS, contacts and renewals from your terminal.","keywords":["gidinet","quickservicebox","domains","dns","cli","registrar"],"homepage":"https://github.com/16bitsrl/gidinet-cli#readme","bugs":{"url":"https://github.com/16bitsrl/gidinet-cli/issues"},"repository":{"type":"git","url":"git+https://github.com/16bitsrl/gidinet-cli.git"},"license":"MIT","author":{"name":"16bit Srl"},"type":"module","bin":{"gidinet":"dist/cli.js"},"engines":{"node":">=20"},"scripts":{"build":"tsc","dev":"node --experimental-strip-types src/cli.ts","prepublishOnly":"npm run build"},"dependencies":{"commander":"^14.0.0","fast-xml-parser":"^5.2.0","picocolors":"^1.1.1"},"devDependencies":{"@types/node":"^22.0.0","typescript":"^5.7.0"},"gitHead":"1a0ee4da7cef7a40ac590bf1a3c48bda1392c597","_id":"@16bit/gidinet@0.1.1","_nodeVersion":"26.3.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-XXrN+Dx7r1VvMHfHZ/HUtsMLFEI29v7uSqVpv2zAs1787BY12XiSPAF41CFRNclr/LFVzB41/7ESLWVfQZr/pA==","shasum":"2583e7194eab5d62417162f088bb3a23eb29cbe3","tarball":"https://registry.npmjs.org/@16bit/gidinet/-/gidinet-0.1.1.tgz","fileCount":9,"unpackedSize":43009,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCb3EbTyrfbW7S/1HvMKRNm3rlpIYP/auRvT8gNAZNqUQIhAKL3AZPaoImXbnimL6CafN/Ad3Deu8DS95bqFU7nWk1s"}]},"_npmUser":{"name":"16bit","email":"mt@16bit.it"},"directories":{},"maintainers":[{"name":"16bit","email":"mt@16bit.it"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/gidinet_0.1.1_1781371382245_0.03283534704597435"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-13T17:21:31.203Z","modified":"2026-06-13T17:23:02.568Z","0.1.0":"2026-06-13T17:21:31.624Z","0.1.1":"2026-06-13T17:23:02.454Z"},"bugs":{"url":"https://github.com/16bitsrl/gidinet-cli/issues"},"author":{"name":"16bit Srl"},"license":"MIT","homepage":"https://github.com/16bitsrl/gidinet-cli#readme","keywords":["gidinet","quickservicebox","domains","dns","cli","registrar"],"repository":{"type":"git","url":"git+https://github.com/16bitsrl/gidinet-cli.git"},"description":"Modern, simple CLI for GiDiNet / QuickServiceBox — domains, DNS, contacts and renewals from your terminal.","maintainers":[{"name":"16bit","email":"mt@16bit.it"}],"readme":"# gidinet\n\nA modern, simple CLI for [GiDiNet](https://www.gidinet.com/) / QuickServiceBox\nreseller accounts. Manage your domains, DNS records, contacts and renewals\nstraight from the terminal.\n\n```\n$ gidinet expiring --days 30\nSERVICE            TYPE    ENDS        LEFT  RENEWAL    AUTO\nonlyinitaly.it     domain  2026-05-27  -16d  12.20 EUR  no\nbeyondthelines.it  domain  2026-06-15    3d   6.70 EUR  no\nmattiatrapani.com  domain  2026-07-02   19d  13.20 EUR  yes\n```\n\n## Install\n\n```bash\nnpm install -g @16bit/gidinet\n```\n\nOr run it without installing:\n\n```bash\nnpx @16bit/gidinet domains\n```\n\nRequires Node.js 20 or newer.\n\n## Authentication\n\nThe CLI talks to the QuickServiceBox reseller API and needs your reseller\n**username** and **password**. Credentials are resolved in this order:\n\n1. `-u/--username` and `-p/--password` flags\n2. `GIDINET_USERNAME` / `GIDINET_PASSWORD` environment variables\n3. The saved config file (`gidinet login`)\n\nThe quickest way to get going:\n\n```bash\ngidinet login          # prompts for username + password, verifies, saves them\n```\n\nCredentials are stored at `~/.config/gidinet/config.json` with `0600`\npermissions. Remove them with `gidinet logout`.\n\n### Multiple accounts\n\nIf you manage more than one reseller account, save each under a name and switch\nbetween them:\n\n```bash\ngidinet login --name personal     # saves and selects \"personal\"\ngidinet login --name work         # saves and selects \"work\"\n\ngidinet accounts                  # list them (● marks the current one)\ngidinet accounts use personal     # switch the default account\ngidinet accounts rm work          # forget one\n\ngidinet -a work domains           # run a single command against \"work\"\n```\n\n`-a/--account` picks a saved account for one command without changing the\ncurrent one.\n\n## Commands\n\n| Command | Description |\n| --- | --- |\n| `gidinet login` | Save and verify reseller credentials |\n| `gidinet logout` | Remove saved credentials |\n| `gidinet whoami` | Show the active account and credential source |\n| `gidinet check <domains...>` | Check domain availability (read-only, no charge) |\n| `gidinet domains` | List the domains on the account |\n| `gidinet domain <domain>` | Show full detail for one domain (status, dates, contacts) |\n| `gidinet expiring` | List services approaching expiry, soonest first |\n| `gidinet contacts` | List the contacts (anagrafiche) on the account |\n| `gidinet accounts` | List, switch (`use`) and remove (`rm`) saved accounts |\n| `gidinet ns <domain> <ns...>` | Replace a domain's authoritative nameservers |\n| `gidinet dns list <domain>` | List DNS records |\n| `gidinet dns add <domain> <type> <host> <data>` | Add a DNS record |\n| `gidinet dns delete <domain> <type> <host> <data>` | Delete a DNS record |\n\nAdd `--json` to any command for machine-readable output, ideal for scripting:\n\n```bash\ngidinet --json expiring | jq '.[] | select(.daysLeft < 14) | .key'\n```\n\n### Examples\n\n```bash\n# Is a domain free?\ngidinet check mycoolstartup.com mycoolstartup.it\n\n# All domains using GiDiNet's own nameservers\ngidinet domains --gidinet-dns\n\n# Every domain, across all pages, filtered by name\ngidinet domains --all --filter waste\n\n# DNS records for a zone\ngidinet dns list example.com\n\n# Point www at an IP\ngidinet dns add example.com A www 203.0.113.10 --ttl 3600\n\n# A mail record with priority\ngidinet dns add example.com MX @ mail.example.com --priority 10\n\n# Delete a record (asks for confirmation, or pass -y)\ngidinet dns delete example.com A www 203.0.113.10 -y\n\n# Move a domain onto GiDiNet nameservers\ngidinet ns example.com dnsl1.gidinet.com dnsl2.gidinet.com\n```\n\nDestructive operations (`dns add/delete`, `ns`) ask for confirmation when run\ninteractively and refuse to run non-interactively unless you pass `-y/--yes`.\n\n## How it works\n\nGiDiNet exposes a SOAP API (CoreAPI + DNSAPI). This CLI builds the SOAP\nenvelopes directly over `fetch` — no WSDL round-trip per call — so it starts\nfast and ships with a tiny dependency footprint.\n\n## License\n\nMIT © 16bit Srl\n","readmeFilename":"README.md"}