- Please be sure to go through the list of reserved domains before submitting a request.
To claim your domain, simply create a file in the /zone
folder in this repository named after your domain, and include the records you wish to have added in typical BIND format. See /zone/moderntld
to view moderntld.o
's zone.
We highly recommend setting custom external nameservers instead of putting your A, AAAA, CNAME, etc. records in this repository! Changes to files in this repo are subject to a relatively long Pull Request process, whereas if you use your own external nameservers, you can make changes to your domain instantly!
The files you create in this repository are appended directly to the .o zone. Thus, you should not add records like SOA
to this repo. You should only add records for the domain indicated by the file name. If you want another domain, create another file.
Too complicated? We can also create your zones for you if you create an issue with instructions for us, or email us at jonah@opennic.org
with instructions (if you don't have a GitHub account, for example). However, creating a Pull Request will always be the fastest method.
Steps
- Fork this repo using the Fork button at the top of this page.
- Create a file in
/zone
named after your domain.example.o
would become/zone/example
for instance. - Complete the file with your zone information. (No SOA, only A, AAAA, CNAME, etc. in normal resource record format).
-
At the beginning of each line you should include your domain name, like so:
example IN NS ns1.example.libre.
Not like this:
example.o. IN NS ns1.example.libre.
And not like this:
IN NS ns1.example.libre.
-
- Save your file and submit a Pull Request for this repo.
- Double check to make sure your pull request appears on this page. You need to submit your changes to that page for them to be accepted. Changes to your fork or local copy will not be applied to the zone on OpenNIC!
Example Scenarios
These are the most common scenarios for new zones. Note we use example.o
and other example strings and IP addresses throughout these guides. Change these to match your configuration accordingly.
External Nameservers
Say you want to register example.o
. You have two nameservers already setup on another domain you own, ns1.example.libre
and ns2.example.libre
.
-
Create a file in the
/zone
directory either on GitHub.com's web editor, or in a local copy of this repository. Name itexample
(notexample.o
and not some other name!) to match your domain. -
Add the following two lines to your file. These lines follow the standard format for BIND9 zone records:
example IN NS ns1.example.libre. example IN NS ns2.example.libre.
The first part of each line,
example
, should match your domain name. You should never put anything other than your domain name and any applicable subdomains (likewww.example
) at the beginning of each line.IN NS
indicates the lines are nameserver records. Finally,ns1.example.libre
indicates your external nameserver's hostname. -
Submit your changes in a pull request! If you created your file online the GitHub.com web editor, this is easy! Just click the green "Propose new file" button at the bottom of the page:
External Nameservers with Glue Records
Say you want to register example.o
, and you have two nameservers setup, but you want your nameserver records to be ns1.example.o
and ns2.example.o
. Your two nameserver's IP addresses are 10.10.10.10
and 10.22.10.22
.
-
Create a file in the
/zone
directory either on GitHub.com's web editor, or in a local copy of this repository. Name itexample
(notexample.o
and not some other name!) to match your domain. -
Add the following lines to your file. These lines follow the standard format for BIND9 zone records:
ns1.example IN A 10.10.10.10 ns2.example IN A 10.22.10.22 example IN NS ns1.example.o. example IN NS ns2.example.o.
The first part of each line,
example
, should match your domain name. You should never put anything other than your domain name and any applicable subdomains (likewww.example
) at the beginning of each line. For more information on the syntax of BIND records, read this article: http://csweb.cs.wfu.edu/~torgerse.... -
Submit your changes in a pull request! If you created your file online the GitHub.com web editor, this is easy! Just click the green "Propose new file" button at the bottom of the page:
Creating a Domain Without External Nameservers
You can technically add any records to your domain's file if you don't have or want to operate your own nameservers. We do not recommend this however, because if you need to make changes in the future, you will need to create another pull request in this repository and wait for it to be approved.
If you are okay with these limitations, continue...
Say you want to create example.o
and point it to your webserver at 10.10.10.10
.
-
Create a file in the
/zone
directory either on GitHub.com's web editor, or in a local copy of this repository. Name itexample
(notexample.o
and not some other name!) to match your domain. -
Add the following lines to your file. These lines follow the standard format for BIND9 zone records:
example IN A 10.10.10.10 www.example IN CNAME example.o.
The first part of each line,
example
, should always match your domain name. You should never put anything other than your domain name and any applicable subdomains (likewww.example
) at the beginning of each line. For more information on the syntax of BIND records, read this article: http://csweb.cs.wfu.edu/~torgerse.... -
Submit your changes in a pull request! If you created your file online the GitHub.com web editor, this is easy! Just click the green "Propose new file" button at the bottom of the page: