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 🙏

© 2024 – Pkg Stats / Ryan Hefner

expensive

v2.1.0

Published

A Namecheap.com Client To Register And Manage Domains From The CLI.

Downloads

35

Readme

namecheap

expensive

npm version

expensive is a namecheap.com client to check domain availability, obtain WHOIS information, register domains, update DNS hosts and control domains' name servers via the CLI. It allows to login using 2-factor authentication and white-list IP addresses without having to use the web interface. The package uses the API and Web API libraries to make requests.

| Package Manager | Command | | --------------- | ------------------------- | | Yarn | yarn global add expensive | | Npm | npm i -g expensive |

Expensive Demo Of Registering A Domain Name In CLI

Table Of Contents

Configuration

Upon the first run the program will ask a series of questions:

Username: <namecheap-username>
Api key https://ap.www.namecheap.com/settings/tools/apiaccess/: <api key>
Client ip [10.10.10.10]: <the ip>
Last 3 digit of phone to use for 2 factor auth: <055>

After they've been answered, expensive will remember the answers and store them in the .expensiverc file in the home directory (or .expensive-sandboxrc), and use this data for all calls to the API.

Client IP is required for requests, but if not given, it will be acquired automatically each time prior to calls.

The last 3 digits will be used to during the second-stage of the 2-factor web auth required to white-list unknown IP addresses.

Sandbox

To use the sandbox version of the app for testing, either the SANDBOX environmental variable needs to be set, or --sandbox or -s flags should be passed.

CLI

The program can be used from the terminal.

expensive -h
expensive
A CLI application to access namecheap.com domain name registrar API.

	domains          	The domain name for operations, or multiple domain names
	                 	for checking availability.
	--init, -I       	Initialise package configuration interactively, i.e.,
	                 	the API key and ip address.
	--info, -i       	Show the information for the domain.
	--register, -r   	Register the domain.
	--whois, -w      	Display brief WHOIS data.
	--Whois          	Display full WHOIS data.
	--coupon         	Find this month's coupon.
	--sandbox, -s    	Use the sandbox API.
	--whitelistIP, -W	Add current IP address to the list of white-listed ones.
	--version, -v    	Display the current version number.
	--help, -h       	Show help information.

expensive domain.com --info
Display the information about the domain on the account.
Also displays DNS hosts if using Namecheap's DNS.

expensive
Print the list of domains belonging to the account.

	--sort, -S    	Sort by this field (name, expire, create).
	--desc, -D    	Sort in descending order.
	--filter, -F  	Filter by this word.
	--pageSize, -P	The page size.
	--type, -T    	Domain type (ALL, EXPIRING, EXPIRED).

expensive domain.com [--record A] [--TXT|A|CNAME|address 10.10.10.10] [--host "*"]...
Manipulate DNS Records.

	--record       	The record type. Can be one of the following:
	               	A, AAAA, ALIAS, CAA, CNAME, MX, MXE,
	               	NS, TXT, URL, URL301, FRAME.
	--TXT, -TXT    	Add a TXT record with this address to the domain.
	               	Alias for --record TXT --address <TXT>.
	--A, -A        	Add an A record with this address to the domain.
	               	Alias for --record A --address <A>.
	--CNAME, -CNAME	Add a CNAME record with this address to the domain.
	               	--record CNAME --address <CNAME>.
	--ttl          	When adding host records, sets the _TTL_.
	               	By default, namecheap sets 1800.
	--host         	The host name for adding dns records.
	               	Default: @.
	--address      	The address of the new host record.
	--mxpref       	MX preference for hosts. Applicable to MX records only.
	--github, -g   	Setup GitHub pages for the apex domain as per docs
	               	https://git.io/fjyr7 Also removes the parking page
	               	and URL redirect. All other hosts are kept itact.
	--delete, -d   	Remove the specified host record.

expensive domain.com -r [-p PROMO]
Register the domain name. Expensive will attempt to find the promo
code online, and compare its price to the normal price.

	--promo, -p	Use this promo code on registration.
	--years, -y	The number of years that the domain should be registered for.

expensive domain|domain.com [domain.org] [-f] [-z app,page]
Check domains for availability. When no TLD is given,
com, net, org, biz, co, cc, io, bz, nu, app, page are checked.

	--free, -f 	Display only free domains.
	--zones, -z	Check in these zones only.

| Command | Meaning | Wiki | | ----------------------------------- | --------------------------------------------------------------- | ---------------------------------------------------------------------------------- | | expensive | List all domains. | 📜List Domains | | expensive hello world example.com | Check domain(s)' availability. | Check Availability | | expensive example.com -i | Display information about a domain associated with the account. | ℹ️Domain Information | | expensive example.com -w | Request WHOIS data. | 👁Show Whois | | expensive example.com -r | Register a domain name. | 💵Registration | | expensive --init | Initialises or updates settings such as API key. | 🔏Initialise Config | | expensive domain.com --github | Updates hosts records to include GitHub apex records. | GitHub Pages | | expensive --version | Print version. | Version | | expensive --help | Show help. | Usage |

Result Log

A log of search queries and found free domains is written to HOMEDIR/.expensive.log.

Copyright