Forward your FreeDNS custom domain to your GitHub Pages site
You can forward all requests to your custom domain (e.g., tom.com) to your GitHub pages site (e.g., tom.github.io).
I will detail the steps needed to forward your FreeDNS domain to your GitHub pages site, but you can follow the instructions and map them to any other DNS services.
You need to create a CNAME document at the root of your GitHub repository. The CNAME file contains only one entry, your custom domain.
Or, as an alternative, go to your repository in GitHub, and open its settings from the navigation panel.
Then, scoll down until you see the 'GitHub Pages' section.
Here, you can specify your custom domain (e.g., tom.com) and save changes. This automatically creates and commits the CNAME document inside your repository, populated with the domain name you specified.
The Enforce HTTPS options will not be available for some time ( 24-48 hours).
At this point, the GitHub side of things are over.
Login to your FreeDNS account,
After you login, you will see a "For Members" section on the left side of your screen. Under the "For Members" section, click the "Subdomains" link.
Now, under your custom domain name, you need to add some A and CNAME records.
At the right side of the table that shows your domain, click on the add link.
This opens up a new page to add a new subdomain. Here, select type A and for destination, use 18.104.22.168.
Then save your changes.
In this way, create four A records with the following destinations:
This concludes the process!
If you do not see the changes right away, do not worry! DNS changes can take up to 24 hours to propagate.