Skip to content

tonyGraetscher/free-domain-checker

Repository files navigation

free-domain-checker

The Free Domain Checker Tool is a fantastic utility for individuals and businesses alike, keen on managing or expanding their online presence. Imagine you have a list of potential domain names for your new venture or you're considering adding new domains to your existing portfolio - this is where our tool comes into play.

At its core, the Free Domain Checker Tool allows you to check the availability of a multitude of domains in one go. All you need to do is provide a list of desired domain names, and like a diligent assistant, the tool will quickly sort through each domain to determine whether it's available for registration.

But it doesn't stop there. Understanding the need for flexibility and convenience in today's fast-paced world, the tool offers output options to suit your preferences. Once the tool has run through your domain list, it can automatically dispatch the results directly to your email. This is a fantastic option if you're constantly on the move, or if you want to share the results with your team.

configuration

The config.json file is a crucial part of setting up and customizing your application. It is a JSON file that stores configuration data in a structured manner, making it easy for the system to read and write. Initially, you should make a copy of config.json.example and rename it to config.json before you start making any changes.

Here's a breakdown of what each field in the config.json file does:

domainFile: This is where you set the path to the domain list file. It is the file from where your application will read the list of domains. consoleOutput: This field controls the level of logging in the console. You can set it to "free" for unrestricted logging, "all" for comprehensive logging, or "none" if you don't want any output in your console. outputFile: Similar to consoleOutput, this field controls the level of logging, but for file output. The options are the same: "free", "all", or "none". send: This is a boolean field that determines whether an email should be sent or not. mailOutput: This field also controls the level of logging, but specifically for email output. The options are "free", "all", or "none". host, port, user, pass: These fields are for setting up your mail server. host and port are for the mail server's address and port number, whereas user and pass are your login credentials for the mail server. from: This field is where you specify the sender's email address. to: Here, you specify the recipient's email address.

By configuring these settings properly, you can customize the behavior of your application to suit your specific needs. Remember to save your changes in the config.json file once you're done editing.

{
	"domainFile": "domains.txt",
	"consoleOutput": "free",
	"outputFile": "free",
	"send": true,
	"mailOutput": "free",
	"host": "your.mail.server",
	"port": 25,
	"user": "[email protected]",
	"pass": "password",
	"from": "\"Free Domain Checker\" <[email protected]>",
	"to": "[email protected]"
}

Domain list

The domains.txt file serves as a convenient repository for your list of domains. Each line in this file represents a distinct domain name. To keep your list organized and understandable, you have the option to add comments directly in the file using either a hash (#) or double slashes (//). For instance, you could have domain2.com/de/net/org on one line followed by a #, and then any comment you want to include about those domains. It's a straightforward and efficient way to manage your domains, enabling you to add extra details like associated top-level domains (TLDs) or any other pertinent information.

domain1.com
domain2.com/de/net/org # more TLDs possible

// Comment with # or //
domain3.com

Start

first install nodejs minimum version 16 or higher

apt install nodejs

or download from nodejs.org for windows

copy the repository to your server and

git clone https://github.com/tonyGraetscher/free-domain-checker.git
cd free-domain-checker

then install dependencies and start

npm install

before you start the script you must configure the config.json file and the domains.txt file. then start the script

npm run start

Output file

The outputFile setting in the config.json file is used to manage the level of detail in the output file generated by the application. If you set outputFile to free, the output will be more selective, showing only the most crucial information. On the other hand, if you set it to all, the output file will contain comprehensive details, providing you with a complete record of the operation. By adjusting this setting, you can customize the tool's output to fit your specific needs and preferences.

[
	{
		"domain": "gggggraetscher.dev",
		"isFree": true,
		"registryExpiryDate": null,
		"err": false
	},
	{
		"domain": "graetscher.dev",
		"isFree": false,
		"registryExpiryDate": "2023-11-13T18:28:54Z",
		"err": false
	}
]

Console output

for the console output configure the consoleOutput in config.json to free or all

Mail send

The send setting in the config.json file controls whether the results should be sent via email. By setting send to true, the application will automatically send an email with the results; if set to false, no email will be sent.

Additionally, you can customize the level of detail included in the email by adjusting the mailOutput setting. If mailOutput is set to free, only key results will be sent, keeping the email concise. If it's set to all, then detailed information regarding all domains will be included in the email. This flexibility allows you to tailor the email notifications to your specific needs.

{
	"send": true,
	"mailOutput": "free",
	"host": "your.mail.server",
	"port": 25,
	"user": "[email protected]",
	"pass": "password",
	"from": "\"Free Domain Checker\" <[email protected]>",
	"to": "[email protected]"
}

Docker

TODO: docker is coming soon

About

Free Domain Checker

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published