现充|junyu33

Notes on changing blog domain name

Since my original blog domain name was too long and had slow resolution speeds domestically, I decided to take advantage of the GitHub Student Pack to get a free domain and point it to Netlify's DNS. Eventually, the domain was successfully changed from junyu33.github.io to junyu33.me.

Applying for the GitHub Student Pack

Refer to: https://junyu33.github.io/2022/07/06/anniversary.html

Deploying the Original Blog to Netlify

Go to https://www.netlify.com/

Then click "Start building for free"

Next, simply connect your GitHub account, authorize the repository, and fill in the relevant information (Netlify can recognize Hexo blogs, so just proceed with the default settings), then deploy. At this point, Netlify should assign you a randomly generated subdomain, which I changed to https://junyu33.netlify.app/.

Now, visiting this domain should display your blog.

Using the Student Pack to Get a Free Domain

name.com ×

I started using name.com trying to get a free domain. I searched online for information about domain registrars' offers under the GitHub Student Developer Pack.

name.com offers one year of free use for the following 11 domains:

  • .rocks
  • .ninja
  • .games
  • .codes
  • .systems
  • .studio
  • .email
  • .works
  • .software
  • .engineer
  • .live

They also provide Privacy Protection, Domain Lock Plus, and SSL Certificate for security.

However, after filling out all the information and reaching the final payment step, it failed, and the price reverted to the full amount without any discount. I tried changing my country/region and logging in again, but it didn't work. I also couldn't find a link to delete my account, so I gave up.

nc.me

Later, while browsing through the various offers in the student pack, I unexpectedly discovered that namecheap.com also offers a free domain promotion for students.

Get a .me domain and 1 SSL Certificate FREE for 1 year with your GitHub Student Developer Pack.

Then, I clicked on the title link. Note: When filling in your email, make sure to use the email registered with GitHub (I initially used my student email, and the website didn't recognize my university, which led me to fill out a university application form and accidentally leak my name 😢. After switching to my QQ email, it went through instantly).

After confirming all the steps and waiting a few minutes, my new domain junyu33.me was also accessible.

Point the DNS resolution of the new domain to Netlify

Method Found Online

In Netlify's Domain management, add your domain name. Netlify will then provide you with four nameservers for CDN resolution.

Go to namecheap.com, find your personal dashboard, select Domain List, locate your domain, and click Manage.

Under Advanced DNS, modify your Host Records. My approach was to change the CNAME to my Netlify URL and set the A Record to the IP address obtained from an IP lookup. It looks something like this:

After waiting for a while, you can test it.

# junyu33 @ zjy in ~/Desktop [14:21:33] 
$ ping junyu33.github.io
PING junyu33.github.io(2606:50c0:8000::153 (2606:50c0:8000::153)) 56 data bytes
64 bytes from 2606:50c0:8000::153 (2606:50c0:8000::153): icmp_seq=2 ttl=53 time=121 ms
64 bytes from 2606:50c0:8000::153 (2606:50c0:8000::153): icmp_seq=3 ttl=53 time=216 ms
64 bytes from 2606:50c0:8000::153 (2606:50c0:8000::153): icmp_seq=4 ttl=53 time=158 ms
64 bytes from 2606:50c0:8000::153 (2606:50c0:8000::153): icmp_seq=5 ttl=53 time=116 ms
^C
--- junyu33.github.io ping statistics ---
5 packets transmitted, 4 received, 20% packet loss, time 4037ms
rtt min/avg/max/mdev = 116.011/152.788/216.261/39.972 ms

# junyu33 @ zjy in ~/Desktop [16:19:53] 
$ ping junyu33.me         
PING junyu33.me (18.140.226.100) 56(84) bytes of data.
64 bytes from ec2-18-140-226-100.ap-southeast-1.compute.amazonaws.com (18.140.226.100): icmp_seq=1 ttl=46 time=135 ms
64 bytes from ec2-18-140-226-100.ap-southeast-1.compute.amazonaws.com (18.140.226.100): icmp_seq=2 ttl=46 time=222 ms
64 bytes from ec2-18-140-226-100.ap-southeast-1.compute.amazonaws.com (18.140.226.100): icmp_seq=3 ttl=46 time=141 ms
64 bytes from ec2-18-140-226-100.ap-southeast-1.compute.amazonaws.com (18.140.226.100): icmp_seq=4 ttl=46 time=121 ms
^C
--- junyu33.me ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3001ms
rtt min/avg/max/mdev = 121.155/154.795/221.652/39.282 ms

To my surprise, the speed didn't improve and was even slightly slower.

Left with no choice, I obediently added the four nameservers provided by Netlify to the CNAME. The results were as follows:

# junyu33 @ zjy in ~/Desktop [16:24:37] 
$ ping junyu33.me        
PING junyu33.me(dns1.p04.nsone.net (2620:4d:4000:6259:7:4:0:1)) 56 data bytes
64 bytes from dns1.p04.nsone.net (2620:4d:4000:6259:7:4:0:1): icmp_seq=1 ttl=53 time=245 ms
64 bytes from dns1.p04.nsone.net (2620:4d:4000:6259:7:4:0:1): icmp_seq=2 ttl=53 time=304 ms
64 bytes from dns1.p04.nsone.net (2620:4d:4000:6259:7:4:0:1): icmp_seq=3 ttl=53 time=225 ms
64 bytes from dns1.p04.nsone.net (2620:4d:4000:6259:7:4:0:1): icmp_seq=4 ttl=53 time=243 ms
^C
--- junyu33.me ping statistics ---
5 packets transmitted, 4 received, 20% packet loss, time 4005ms
rtt min/avg/max/mdev = 224.650/254.204/304.193/29.931 ms

It even became slower than before.

My Attempt

However, when I pinged https://junyu33.netlify.app/, the speed was relatively fast. I noticed that DNS resolved it to an IPv6 address. Moreover, due to the abundance of IPv6 addresses, domain names can be mapped one-to-one with IPv6, so this IP should remain stable.

# junyu33 @ zjy in ~/Desktop [16:31:18] 
$ ping junyu33.netlify.app
PING junyu33.netlify.app(2406:da18:880:3800:3cf7:d90b:9468:f4a6 (2406:da18:880:3800:3cf7:d90b:9468:f4a6)) 56 data bytes
64 bytes from 2406:da18:880:3800:3cf7:d90b:9468:f4a6 (2406:da18:880:3800:3cf7:d90b:9468:f4a6): icmp_seq=1 ttl=46 time=92.9 ms
64 bytes from 2406:da18:880:3800:3cf7:d90b:9468:f4a6 (2406:da18:880:3800:3cf7:d90b:9468:f4a6): icmp_seq=2 ttl=46 time=85.3 ms
64 bytes from 2406:da18:880:3800:3cf7:d90b:9468:f4a6 (2406:da18:880:3800:3cf7:d90b:9468:f4a6): icmp_seq=3 ttl=46 time=85.7 ms
64 bytes from 2406:da18:880:3800:3cf7:d90b:9468:f4a6 (2406:da18:880:3800:3cf7:d90b:9468:f4a6): icmp_seq=4 ttl=46 time=131 ms
^C
--- junyu33.netlify.app ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 85.273/98.665/130.809/18.805 ms

Therefore, I changed the previous A Record to an AAAA Record and entered this IPv6 address, then performed another test:

# junyu33 @ zjy in ~/Desktop [16:33:58] 
$ ping junyu33.me
PING junyu33.me (54.255.56.197) 56(84) bytes of data.
64 bytes from ec2-54-255-56-197.ap-southeast-1.compute.amazonaws.com (54.255.56.197): icmp_seq=2 ttl=46 time=91.9 ms
64 bytes from ec2-54-255-56-197.ap-southeast-1.compute.amazonaws.com (54.255.56.197): icmp_seq=3 ttl=46 time=84.5 ms
64 bytes from ec2-54-255-56-197.ap-southeast-1.compute.amazonaws.com (54.255.56.197): icmp_seq=4 ttl=46 time=85.5 ms
64 bytes from ec2-54-255-56-197.ap-southeast-1.compute.amazonaws.com (54.255.56.197): icmp_seq=5 ttl=46 time=88.0 ms
^C
--- junyu33.me ping statistics ---
5 packets transmitted, 4 received, 20% packet loss, time 4031ms
rtt min/avg/max/mdev = 84.479/87.482/91.940/2.873 ms

This achieved an acceleration in access speed.

An Even Simpler Method

Actually, there is a NAMESERVERS option under Domain. Just fill in the four name servers provided by Netlify.

# junyu33 @ zjy in ~/Desktop [17:17:54] 
$ ping junyu33.me

PING junyu33.me(2406:da18:880:3802:371c:4bf1:923b:fc30 (2406:da18:880:3802:371c:4bf1:923b:fc30)) 56 data bytes
64 bytes from 2406:da18:880:3802:371c:4bf1:923b:fc30 (2406:da18:880:3802:371c:4bf1:923b:fc30): icmp_seq=1 ttl=46 time=81.6 ms
64 bytes from 2406:da18:880:3802:371c:4bf1:923b:fc30 (2406:da18:880:3802:371c:4bf1:923b:fc30): icmp_seq=2 ttl=46 time=84.9 ms
64 bytes from 2406:da18:880:3802:371c:4bf1:923b:fc30 (2406:da18:880:3802:371c:4bf1:923b:fc30): icmp_seq=3 ttl=46 time=76.6 ms
64 bytes from 2406:da18:880:3802:371c:4bf1:923b:fc30 (2406:da18:880:3802:371c:4bf1:923b:fc30): icmp_seq=4 ttl=46 time=83.8 ms
^C
--- junyu33.me ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 76.587/81.721/84.858/3.181 ms

At this point, you might encounter SSL certificate-related errors. Simply remove your domain and then add it again.