Categories
Domains Websites

Monthly Domain Update

Well, it hasn’t been a month, more like three, but whatever. Since the last update, I have bought a couple domains, I’ve mainly just updated a lot of websites.

Domains

New Domains

  • freesubdomains.org
    • This domain is the website for my Free Domains service.
  • is-a-backend.dev, is-a-frontend.dev, is-a-fullstack.dev
    • These domains are used for my domain service.
  • free-for.life
    • This domain is used for my extended list of free stuff.
  • wdh.id.au
    • I liked the domain, so I decided to buy it. I am probably not going to renew it.
  • wharchive.org
    • This domain is for my archive website which lists my archived projects.
  • whregistry.com
    • This domain is used for my domain registry (mainly for email).

Deleted Domains

  • wdhapi.com
    • I returned this domain a few days after I bought it due to me not using it much, and I would prefer to use a subdomain instead.

Websites

I have moved and created quite a lot of websites recently.

Moved Websites

Deleted Websites

  • files.wdh.gg – I accidently deleted the project code and could not recover it. I didn’t use it much though.
  • eyes.wdh.gg – Project was archived.
  • lag.wdh.gg – Project was archived.

New Websites

  • wdh.gg – The original website is there, but the backend is now completely custom and better than before.
  • alert.wdh.gg – A simple input and alert website.
  • bots.wdh.gg – A website with a list of my Discord bots and their links.
  • contact.wdh.gg – The website existed before, but a rewrote the website using Tailwind to make it look nicer.
  • embed.wdh.gg – A website to generate embeds for Discord.
  • gc-appeal.wdh.gg – An appeal website for my Discord bot, Global Chat.
  • gc-status.wdh.gg – A status page for my Discord bot, Global Chat.
  • gc-terms.wdh.gg – A terms and conditions website for my Discord bot, Global Chat.
  • gitbot-status.wdh.gg – A status page for my Discord bot, GitBot.
  • github.wdh.gg – A copy of my GitHub README on a website.
  • gravatar.wdh.gg – A website to find someone’s Gravatar.
  • qrcode.wdh.gg – A website to generate QR codes.
  • random.wdh.gg – Get redirected to a random project of mine.
  • wharchive.org – A website listing all of my archived projects.

Wrapping Up

Maybe I should do these more frequently, as I now realise how many websites I have created recently!

Hope you enjoyed, see you in the next post!

Categories
Coding

My npm Packages

Long time, no see! Sorry I haven’t written in a couple months on my blog, but I am back now. Today, I want to talk about my npm packages, as I have recently released a few.

My new npm packages:

These packages I have recently released (today and yesterday). They are just simple packages I made in like half an hour each.

I have also made an npm package template which anyone can use to make their own npm package! You can find it on GitHub or on npm.

I have recently created CLIs for Free Domains, is-a-good.dev, and rewritten is-a.dev’s CLI. As you can see, I like making CLIs.

That’s all for now, see you in the next post!

Categories
Discord Bots

Use GitHub from Discord?!

Just today, I have released my new Discord bot, GitBot. It allows you to easily manage your GitHub from Discord!

Invite: https://wdh.gg/gitbot
Support Server: https://wdh.gg/gitbot/support

Before anyone asks, no the bot is not open source. I may make it open source in the future. But I will explain how made I made it, which wasn’t that hard.

How I made the bot

The bot is coded in Node.js and luckily GitHub has an npm package which makes it super easy to interact with the GitHub API. Most of the GitHub API calls use this package.

GitHub’s API is heavily documented, and has code examples. You can find the documentation here.

Categories
Domains

Free Domains

I have recently started a free subdomain service called “Free Domains”. The service offers the ability to register as many subdomains as you want on two different domains.

The domains we offer are is-a-backend.dev and is-a-frontend.dev.

Register

There are 2 options for registering a subdomain, using the CLI or manually regsitering it.

I personally recommend using the CLI as it is quicker and easier to register a subdomain. All you need is a GitHub account!

CLI Registration

Registering a subdomain using the CLI is the recommended way to register.

To use the CLI, you need the following requirements.

  • Node.js v16 or higher

1. Install the CLI

To install the CLI, run the following command in your terminal:

npm install @free-domains/cli -g

Important: Make sure the -g option is included otherwise it will not work.

2. Login with GitHub

To login to the CLI, run the following command and follow the instructions provided:

domains login

If it asks you to select an email, this means you have more than one email address attached to your GitHub account. Select the email that you want to use to register the subdomain.

3. Register your subdomain

To register your subdomain, run the following command:

domains register

When it asks if you want your record proxied through Cloudflare, if you are not sure what that means, select no.

After that, your pull request will be generated and a link will be provided to the pull request.

Manual Registration

To register your subdomain manually, follow these simple steps.

1. Create a domain file

Firstly, you need to go to the GitHub repo.

Next, select the domains folder and create a new file.

For the name of the file put the subdomain you want (e.g: william) then put a full stop (.), then the domain you want the subdomain on (either is-a-backend.dev or is-a-frontend.dev), then put .json at the end.

For the content, copy and paste the following content into the file:

{
    "$schema": "../schemas/domain.json",

    "domain": "is-a-backend.dev",
    "subdomain": "example",

    "owner": {
        "email": "[email protected]"
    },

    "records": {
        "A": ["1.1.1.1", "1.0.0.1"],
        "AAAA": ["2606:4700:4700::1111", "2606:4700:4700::1001"],
        "CNAME": "example.com",
        "TXT": [
            {
                "name": "@",
                "value": "example_verification=1234567890"
            }
        ]
    },

    "proxied": false
}

Replace the domain value with the domain you want your domain on, it will be either is-a-backend.dev or is-a-frontend.dev.

Replace the subdomain value with the subdomain you want to register (e.g: william).

For the records, remove the record types you don’t want and only keep the ones you want to use. Please note that CNAME records cannot be used with other records.

For the proxied value replace it with true if you want your record(s) proxied. Leave this as false if you don’t know what it means or don’t need it. Please note only A, AAAA and CNAME records are proxied.

Then replace the record value with the record you want.

2. Open a Pull Request

Commit the file. When it asks to open a pull request, fill out the description then press Open Pull Request.

Make sure to star the repository as it is a requirement.

Wrapping Up

If you’re interested about learning more about the project, you can checkout our website.

Categories
Tutorials

How to install Node.js on your computer

Node.js is a JavaScript runtime that allows you to run JavaScript on your computer, outside of a web browser.

This makes it a popular choice for building command-line tools, desktop applications, and backend servers. In this post, we’ll go over how to install Node.js on your computer.

1. Download the Node.js installer

The first step is to download the Node.js installer from the official Node.js website. Go to https://nodejs.org and click on the “Download” button. This will take you to a page where you can choose which version of Node.js to download.

For most users, the “Recommended for Most Users” version will be the best choice. This version includes the latest features and security updates. If you need to run a specific version of Node.js, you can choose the “LTS” version, which stands for “Long-Term Support.”

2. Run the installer

Once the download is complete, open the installer file and follow the prompts to install Node.js on your computer.

3. Verify the installation

To verify that Node.js has been installed correctly, open a command prompt or terminal window and type the following command:

node -v

This should display the version of Node.js that you just installed.

Finally, run the following command that will show the version of npm (Node Package Manager) that was installed along with Node.js.

npm -v

Wrapping things up

Congratulations, you have successfully installed Node.js on your computer! You can now use Node.js to build all sorts of exciting projects.

Please Note: On some systems, you may need to add the node executable to your system’s PATH environment variable. This will allow you to run the node command from any directory. Check with your IT department or system administrator if you’re unsure how to do this.

In this article, we covered the basics of installing Node.js on your computer. With Node.js installed, you can start building command-line tools, desktop applications, and backend servers. Happy coding!

Categories
Discord Bots

My new Discord bot, Global Chat

Recently, I have been coding my new Discord bot (seriously, I have) Global Chat. The purpose of this bot is to add it to your server (obviously) and then setup the bot and that’s it! Then you can talk to people from other Discord servers in your Discord server!

If you have any issues with the bot or need help, feel free to join our support server and a developer or member of the community will help you.

Bot Invite: https://wdh.gg/globalchat
Support Server: https://discord.gg/9XW6ru8d9D

How did I do it?

First, I added a check for when a message is sent in a Discord server, it will check if it is the channel that the guild has registered for global chat, if it is it will call a function which will:

  • Delete the message
  • Check the message content for swearing & links
  • Send the message to all guilds’ registered channels

It does all of that in seconds!

Once it sends the message to all guilds the message looks like this:

Planned Features

There are quite a lot of features I want to include the in the bot, here a list.

  • Improved swear filter
  • Reporting system
  • Attachment support (using a custom built CDN)
  • Deleting your message from all guilds
  • Replying functions
  • Improved performance
  • Verification system to thwart impersonation of the developers
  • Anti-spam
  • Whitelisted domain names
  • And more!

Using the bot

Setting up the bot is very easy, you only need to run one command!

Firstly, invite the bot to your Discord server.
Click this link to invite the bot.

Once you click the link:

  • Select the server you want to add the bot to
  • Click continue
  • Then click authorise
  • And once it is authorised you can close the tab

Second, you need to go to your Discord server and create a new channel.

  • Click the + button on any category
  • Make sure it is a Text channel
  • For the channel name enter anything, for example: `global-chat`
  • Click create channel
  • Navigate to the channel and start typing /register
    • Ensure the command is by the Global Chat bot
  • Select the command
  • Then in the channel option select the channel you created
  • Press enter
  • You will most likely see a message in the channel by the bot saying “This channel has been setup for global chat.”

Finally, you can send messages using the bot.

When you send a message in the channel it will automatically delete and will be replaced with an embed like this.

Categories
Domains Websites

Monthly Domain Update

I have decided I am going to make a monthly update on my domains from now on, as I have now have reached 29 domain names.

Domain Names

In the last month I have got two new domain names.

New Domains:
– easyscript.dev
– This domain is being used for my project Easy Script.
– wdhapi.com
– This domain is being used for all of my APIs.

There was a domain name I bought but I later got a refund for. That domain name was wdhdns.net. I was thinking it might be good to get the .net version of wdhdns.com but in the end I got a refund since there was no reason for it, since I was just using it as a carbon copy of wdhdns.com.

Moved Domains:

The following domains have moved to a different registrar.

As you can see, I’ve been moving quite a few of my domains to Namecheap as they are a good, reliable registrar that is quite cheap.

Websites

This month, I have made quite a few changes to my domains.

First of all, I have moved quite a few websites to my short domain wdh.gg.

New websites:

Categories
Coding

Hello World… in Easy Script?

Yes, that’s right. I have officially released Easy Script for Node.js!

Easy Script is a npm package which makes Node.js developers’ lives easier by adding many useful features to it.

Links:

GitHub: https://github.com/easyscriptjs/easyscript
npm: https://www.npmjs.com/package/easyscriptjs

Modules

Easy Script has quite a few modules and submodules each serving a purpose.

Some of the most useful modules (in my opinion) are the types and util modules. They add features which normally would take many lines of code and turn them into around 2!

Other modules Easy Script has:

flip: A ported version of the now deprecated CoinflipJS.
id: A random ID generator with a customisable length.
log: A shortened version of console.log.
print: console.log but using the Python syntax.
random: A random number generator with a customisable maximum number.
uuid: Generates a UUID in the format xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx.

The types module has 6 submodules, each with a different function.

boolToNum submodule converts the Boolean type to a Number type.
boolToStr submodule converts the Boolean type to a String type.
numToBool submodule converts the Number type to a Boolean type.
numToStr submodule converts the Number type to a String type.
strToBool submodule converts the String type to a Boolean type.
strToNum submodule converts the String type to a Number type.

The util module only has one submodule at the moment but we will be adding more very soon.

– The removeDuplicates submodule allows you to clean up arrays by removing duplicates and more.

Installation

Installing Easy Script is very easy. Just follow the steps below.

  1. Install the package using the following command in your terminal:
$ npm install easyscriptjs

2. Use the package

// Put the module names inside the brackets for each module you want to use
// Example: { print, util }
const { print } = require("easyscriptjs");

// Use the modules
print("Hello World");
// Hello World

3. You’re done!

Categories
Coding

The deprecation of CoinflipJS

My npm package CoinflipJS has been deprecated. It has been deprecated in favour of a new project I’m working on that was on my last blog post.

CoinflipJS’ GitHub repository has been archived and moved to my archive organisation. You can view the archived code here. The project has been merged with Easy Script. The code has been added as a module called “flip”.

I decided to deprecate the package as I was working on Easy Script and realised I could merge the projects. If you liked using CoinflipJS and still want to use it, you can do so by following the instructions on the Easy Script docs.

Categories
Coding

Make JavaScript Easy

Recently, I’ve been developing a new npm package called Easy Script. My aim for Easy Script is to add new functions and features to JavaScript, to make it easier for developers.

As of writing this, I’m in the process of developing v1.1.0, which adds features such as converting types to other types (e.g: Boolean to String), a random ID generator and infinite loops.

The project is 100% open source and the source code is available on GitHub. If the you have any ideas or suggestions feel free to open an issue.

Categories
Domains

New day… new domain

That’s right. I bought another domain name.
My domain count has now increased from 26 to 27!

You may be wondering what domain name I bought. Well I bought the domain whstatus.net. I now use this domain for my status page(s).

Anyway, thats about it, see you soon!

Categories
Domains

I have a serious problem…

So, I have a serious problem with the amount of domains I have. I have a total of 26 paid domain names! 26!

Please note: These figures are as of writing this post, and will change in the future.

Registrars

I use a total of 6 domain registrars as of writing this.

My favourite domain registrar is GoDaddy, as their dashboard and panel is very intuitive and easy to use. They are a bit on the expensive side though. I have 9 domains registered with them.

My go-to registrar is Namecheap as they are well, cheap! They also support a lot more domain name extensions than the other registrars I use. I also have 9 domain names with them, this number will soon increase as I am going to be moving a few more domains to them.

Another registrar I use is Google Domains, they have low prices but their lack of support is why I moved from them. I still have 1 domain with them which happens to be my blog domain!

A great Australian registrar, VentraIP, I originally only had 1 domain name with them as they are one of the only registrars that support the “.id.au” domain name extension. But I now have 3 domains with them since I got an offer to get free “.online” and “.store” domains.

Name.com – I have 2 domains with them as I got them for free through the GitHub Education program. They are expensive to renew though.

get.tech – The official .tech registry. I only have a domain with them because it was free through the GitHub Education program. They also have pretty good prices.

DNS

All of my domain names use Cloudflare for DNS. Cloudflare is a really good provider for DNS and more as they provide some of the best DDOS protection in the world, fast DNS, and lots of other great features. Make sure to check it out!

Yes, my Cloudflare account is separated into 2 pages (20 domains per page), I have that many domains.

Domain List

All right, here we go.

Categories
Domains

is-a.dev

Just 2 days ago, I finally got promoted to a maintainer for is-a.dev! I can now merge peoples pull requests for domains.

Since I discovered the project in April, through my online friend, I wanted to get a domain as I didn’t have a domain for all of my coding projects. I chose the domain william.is-a.dev and opened a pull request. It was merged later that day and I started using it. I also decided to register williamharrison.is-a.dev but I later deleted it.

I used this domain for a few weeks but then I eventually got a paid domain for my coding projects, which I still use today, williamharrison.dev. I didn’t have a use for my is-a.dev domain so I just decided to redirect it.

Anyway, that’s my interactions with is-a.dev. I’m now a maintainer!

Categories
Coding

CoinflipJS

A few months ago I made an npm package called CoinflipJS. The sole purpose of this package is to respond with the result of a coin being flipped. It will return either “heads” or “tails”.

You can find the package on npm.
You can find the source code on GitHub.

Installation

Installing CoinflipJS is very easy, all you need to do is run the following command in your terminal in your project folder:

$ npm install coinflipjs

Usage

In a project file using the package is really easy!

First you need to import the package:

const coinflip = require(“coinflipjs”);

Then use the package to generate a result:

const coinflip = require(“coinflipjs”);

const res = coinflip();

And finally you can log the result to the console like this:

const coinflip = require(“coinflipjs”);

const res = coinflip();

console.log(res);
Categories
Uncategorised

Hello World

Welcome to my blog. I will be writing about technology, coding and more soon, so make sure to keep an eye on my blog!