part-of.my.id

Table of contents


What is part-of.my.id?

part-of.my.id is a personal project by satr14 to provide subdomains for personal websites, open-source projects, and more. Registering a subdomain is easy on the web dashboard. Just choose one and register it. We have support for A, AAAA, CNAME, and TXT records.

Example use case:

Say your hosting a portfolio on GitHub Pages and want to use a custom domain, you can use part-of.my.id to create a subdomain and point it to your GitHub repository rather than buying a domain or using the default github.io domain.

Report a website

Everything to manage part-of.my.id is done through the root domain only. Any subdomain is a separate website and is not created by us. If you find a website thats abusing our service or claims to be us, please report it.


Domain JSON file structure

Each subdomain has a corresponding domains/*.json file that contains its records and owner.

Example JSON file:
{
    "description": "Project Description (optional)",
    "owner": {
        "username": "github-username"
    },
    "record": {
        "A": [
            "1.1.1.1",
            "1.0.0.1"
        ],
        "AAAA": [
            "::1",
            "::2"
        ],
        "CNAME": "example.com",
        "MX": [
            "mx1.example.com",
            "mx2.example.com"
        ],
        "TXT": [
            "example_verification=1234567890"
        ]
    },
    "proxied": false
}

Filename

The filename of the JSON file should be the subdomain name with the .json extension and the file must be placed in the domains directory. For example, domains/example.json to get example.part-of.my.id. But we do have requirements for subdomain names:

  • Must be alphanumeric, in lowercase, with dashes as separators.
  • Must be at least 1 character.
  • Must have a .json file extension.

Structure

description (optional)

A short description of the project or website. This is optional and can be left out.

owner (required)

The owner of the subdomain. This should be an object with the username key and the GitHub username as the value. you can also include other contact information and social media links. This is required so that we can reach out to you if there are any issues with your subdomain. Please don't use a personal email as it will be public.

record (required)

The DNS records for the subdomain. This should be an object with the record type as the key and the value as an array of strings or an object. The supported record types are:

  • A - array of IPv4 addresses as strings
  • AAAA - array of IPv6 addresses as strings
  • CNAME - string of the hostname
  • MX - array of strings of the mail server hostname
  • TXT - array of strings of the text record
  • NS - array of strings of nameservers

proxied (optional)

A boolean value that determines if the subdomain is proxied through Cloudflare. This is optional and defaults to false. If you want to use Cloudflare's services like SSL, caching, and DDoS protection, set this to true.


Frequently Asked Questions

How do I register a subdomain?

To register a subdomain, visit the register repository and create a new file in the domains directory with the name of your subdomain and the JSON structure above. Then create a pull request and wait for it to be merged.

Why is my subdomain not working?

Be patient, it can take up to 24 hours for DNS records to update by the github actions script. If it still doesn't work, check the JSON file for typos and make sure the records are correct. You can also try clearing your DNS cache.

Can I use a CNAME record with any other records?

You cannot request a subdomain nor submit changes containing a CNAME with any other records (TXT, A, MX, etc...)

When will you merge my PR?

When we get into it. We always want you to wait for as short as possible. But maintainers cannot always be online. We have school and work, this is just a side project. Just be patient and we'll get to it as soon as possible! For a chance for a quicker review, send your PR in the discord server.

Can I create nested subdomains?

Yes, you can create nested subdomains. Just create a new file in the domains directory with the name of the subdomain like blog.my-name.json.

Can I be a maintainer/join the team?

No, we hand pick maintainers. If we need more maintainers, we will reach out to trusted people. If you want to help, you can contribute to the codebase or help others in the discord server which can give you a higher chance of getting picked.

Can I get NS record?

No, nameservers gives you full control over the domain. We only give them to trusted people with good reasoning in their pull request.

Can I get ALIAS record?

ALIAS records are mainly used for root domains (this website). So we recommend using CNAME records instead.