diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
deleted file mode 100644
index db971b4..0000000
--- a/.github/CODEOWNERS
+++ /dev/null
@@ -1,4 +0,0 @@
-* @free-domains/owners
-
-# Domains
-/domains/* @free-domains/maintainers
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
deleted file mode 100644
index 9a29626..0000000
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-## Requirements
-- [ ] You have completed your website.
-- [ ] The website is reachable.
-- [ ] The `CNAME` record doesn't contain `https://` or `/`.
-- [ ] There is sufficient information at the `owner` field.
-
-## Description
-
-
-
-## Website Link / Preview
-
diff --git a/.github/labeler.yml b/.github/labeler.yml
deleted file mode 100644
index d0c98da..0000000
--- a/.github/labeler.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-domain:
-- domains/*
-
-scripts:
-- scripts/**
-
-readme:
-- "README.md"
-
-workflows:
-- .github/workflows/**
diff --git a/.github/workflows/label.yml b/.github/workflows/label.yml
deleted file mode 100644
index bfd6c4c..0000000
--- a/.github/workflows/label.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-name: PR
-
-on:
- schedule:
- - cron: "*/10 * * * *"
-
-jobs:
- label:
- name: Labeler
- runs-on: ubuntu-latest
-
- steps:
- - uses: docker://docker.io/ilyam8/periodic-pr-labeler:v0.1.1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- GITHUB_REPOSITORY: ${{ github.repository }}
- LABEL_MAPPINGS_FILE: .github/labeler.yml
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
deleted file mode 100644
index 39c796b..0000000
--- a/.github/workflows/publish.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-name: Publish
-
-on:
- push:
- branches: [main]
- paths:
- - "domains/**"
- - ".github/workflows/publish.yml"
- - "scripts/dns.js"
-
- workflow_dispatch:
-
-concurrency:
- group: ${{ github.ref }}-publish
- cancel-in-progress: false
-
-jobs:
- dns:
- name: DNS
- runs-on: ubuntu-latest
-
- steps:
- - uses: actions/checkout@v3
-
- - name: Create creds.json
- run: echo '{"cloudflare":{"TYPE":"CLOUDFLAREAPI","apitoken":"$CLOUDFLARE_API_TOKEN"}}' > ./creds.json
-
- - name: Publish
- uses: koenrh/dnscontrol-action@v3
- env:
- CLOUDFLARE_API_TOKEN: ${{ secrets.CF_API_TOKEN }}
- with:
- args: push
- config_file: "scripts/dns.js"
diff --git a/.github/workflows/raw-api.yml b/.github/workflows/raw-api.yml
deleted file mode 100644
index b3968fa..0000000
--- a/.github/workflows/raw-api.yml
+++ /dev/null
@@ -1,47 +0,0 @@
-name: Raw API
-
-on:
- push:
- branches: [main]
- paths:
- - "domains/*"
- - ".github/workflows/raw-api.yml"
-
- workflow_dispatch:
-
-concurrency:
- group: ${{ github.ref }}-raw-api
- cancel-in-progress: true
-
-jobs:
- update:
- name: Update
- runs-on: ubuntu-latest
-
- steps:
- - uses: actions/checkout@v4
-
- - uses: actions/checkout@v4
- with:
- repository: free-domains/raw
- path: raw
- token: ${{ secrets.BOT }}
-
- - uses: actions/setup-node@v4
- with:
- node-version: latest
-
- - name: Update Data
- run: node raw/scripts/update.js
-
- - name: Commit
- uses: cpina/github-action-push-to-another-repository@main
- with:
- source-directory: "raw"
- destination-github-username: free-domains
- destination-repository-name: raw
- user-email: 125362033+free-domains-bot@users.noreply.github.com
- user-name: free-domains-bot
- commit-message: "Update Data via free-domains/register"
- env:
- API_TOKEN_GITHUB: ${{ secrets.BOT }}
diff --git a/.github/workflows/validation.yml b/.github/workflows/validation.yml
deleted file mode 100644
index a2fbc10..0000000
--- a/.github/workflows/validation.yml
+++ /dev/null
@@ -1,45 +0,0 @@
-name: Validation
-
-on:
- pull_request:
-
- push:
- branches: [main]
- paths:
- - "domains/**"
- - ".github/workflows/validation.yml"
- - "scripts/dns.js"
-
- workflow_dispatch:
-
-concurrency:
- group: ${{ github.ref }}-validation
- cancel-in-progress: true
-
-jobs:
- dns:
- name: DNS
- runs-on: ubuntu-latest
-
- steps:
- - uses: actions/checkout@v3
-
- - name: DNSControl Check
- uses: koenrh/dnscontrol-action@v3
- with:
- args: check
- config_file: "scripts/dns.js"
-
- json:
- name: JSON
- runs-on: ubuntu-latest
-
- steps:
- - uses: actions/checkout@v3
-
- - name: JSON Syntax Check
- uses: limitusus/json-syntax-check@v2
- with:
- pattern: "\\.json$"
- env:
- BASE: "domains/"
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
deleted file mode 100644
index a06c81e..0000000
--- a/CODE_OF_CONDUCT.md
+++ /dev/null
@@ -1,128 +0,0 @@
-# Contributor Covenant Code of Conduct
-
-## Our Pledge
-
-We as members, contributors, and leaders pledge to make participation in our
-community a harassment-free experience for everyone, regardless of age, body
-size, visible or invisible disability, ethnicity, sex characteristics, gender
-identity and expression, level of experience, education, socio-economic status,
-nationality, personal appearance, race, religion, or sexual identity
-and orientation.
-
-We pledge to act and interact in ways that contribute to an open, welcoming,
-diverse, inclusive, and healthy community.
-
-## Our Standards
-
-Examples of behavior that contributes to a positive environment for our
-community include:
-
-* Demonstrating empathy and kindness toward other people
-* Being respectful of differing opinions, viewpoints, and experiences
-* Giving and gracefully accepting constructive feedback
-* Accepting responsibility and apologizing to those affected by our mistakes,
- and learning from the experience
-* Focusing on what is best not just for us as individuals, but for the
- overall community
-
-Examples of unacceptable behavior include:
-
-* The use of sexualized language or imagery, and sexual attention or
- advances of any kind
-* Trolling, insulting or derogatory comments, and personal or political attacks
-* Public or private harassment
-* Publishing others' private information, such as a physical or email
- address, without their explicit permission
-* Other conduct which could reasonably be considered inappropriate in a
- professional setting
-
-## Enforcement Responsibilities
-
-Community leaders are responsible for clarifying and enforcing our standards of
-acceptable behavior and will take appropriate and fair corrective action in
-response to any behavior that they deem inappropriate, threatening, offensive,
-or harmful.
-
-Community leaders have the right and responsibility to remove, edit, or reject
-comments, commits, code, wiki edits, issues, and other contributions that are
-not aligned to this Code of Conduct, and will communicate reasons for moderation
-decisions when appropriate.
-
-## Scope
-
-This Code of Conduct applies within all community spaces, and also applies when
-an individual is officially representing the community in public spaces.
-Examples of representing our community include using an official e-mail address,
-posting via an official social media account, or acting as an appointed
-representative at an online or offline event.
-
-## Enforcement
-
-Instances of abusive, harassing, or otherwise unacceptable behavior may be
-reported to the community leaders responsible for enforcement at
-william@williamharrison.dev.
-All complaints will be reviewed and investigated promptly and fairly.
-
-All community leaders are obligated to respect the privacy and security of the
-reporter of any incident.
-
-## Enforcement Guidelines
-
-Community leaders will follow these Community Impact Guidelines in determining
-the consequences for any action they deem in violation of this Code of Conduct:
-
-### 1. Correction
-
-**Community Impact**: Use of inappropriate language or other behavior deemed
-unprofessional or unwelcome in the community.
-
-**Consequence**: A private, written warning from community leaders, providing
-clarity around the nature of the violation and an explanation of why the
-behavior was inappropriate. A public apology may be requested.
-
-### 2. Warning
-
-**Community Impact**: A violation through a single incident or series
-of actions.
-
-**Consequence**: A warning with consequences for continued behavior. No
-interaction with the people involved, including unsolicited interaction with
-those enforcing the Code of Conduct, for a specified period of time. This
-includes avoiding interactions in community spaces as well as external channels
-like social media. Violating these terms may lead to a temporary or
-permanent ban.
-
-### 3. Temporary Ban
-
-**Community Impact**: A serious violation of community standards, including
-sustained inappropriate behavior.
-
-**Consequence**: A temporary ban from any sort of interaction or public
-communication with the community for a specified period of time. No public or
-private interaction with the people involved, including unsolicited interaction
-with those enforcing the Code of Conduct, is allowed during this period.
-Violating these terms may lead to a permanent ban.
-
-### 4. Permanent Ban
-
-**Community Impact**: Demonstrating a pattern of violation of community
-standards, including sustained inappropriate behavior, harassment of an
-individual, or aggression toward or disparagement of classes of individuals.
-
-**Consequence**: A permanent ban from any sort of public interaction within
-the community.
-
-## Attribution
-
-This Code of Conduct is adapted from the [Contributor Covenant][homepage],
-version 2.0, available at
-https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
-
-Community Impact Guidelines were inspired by [Mozilla's code of conduct
-enforcement ladder](https://github.com/mozilla/diversity).
-
-[homepage]: https://www.contributor-covenant.org
-
-For answers to common questions about this code of conduct, see the FAQ at
-https://www.contributor-covenant.org/faq. Translations are available at
-https://www.contributor-covenant.org/translations.
diff --git a/MAINTAINERS.md b/MAINTAINERS.md
deleted file mode 100644
index fb05b00..0000000
--- a/MAINTAINERS.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Maintainers
-
-| User | Role(s) |
-|-|-|
-| [William](https://github.com/wdhdev) | Owner / Maintainer |
-| [DIBSTER](https://github.com/DEV-DIBSTER) | Maintainer |
diff --git a/README.md b/README.md
index 6428742..c00b6da 100644
--- a/README.md
+++ b/README.md
@@ -1,115 +1,25 @@
-# 🌐 Free Domains
-Free subdomains for personal sites, open-source projects, and more.
+# 📦 Moved
+Hey everyone, we are excited to announce that we have **merged** with [Open Domains](https://open-domains.net)!
-[](https://github.com/free-domains/register/tree/main/domains)
+> is-a-fullstack.dev subdomains have been **relocated** to the [`open-domains/register`](https://github.com/open-domains/register) repository.
-> [!WARNING]
-> We do not support [Netlify](https://www.netlify.com) or [Vercel](https://vercel.com) due to SSL limitations.
+## ❓ FAQ
-# 📝 Register
-### 🌐 Supported Domains
-- [is-a-fullstack.dev](https://is-a-fullstack.dev)
+### What does this mean for users?
+Open Domains has taken over our project, which means they will be the ones managing the domain(s) we previously offered. Nothing has *actually* changed for the users, just the backend stuff.
+The only noticable difference is that your subdomain file may look a little different as Open Domains has a slightly different format to ours.
-## 📜 Getting Started
-1. Check if your desired domain is available using our [domain checker](https://free-domains.github.io/check).
-2. Select a method below to show instructions on how to register a domain.
+### Will this affect my subdomain?
+It is unlikely. Your subdomain may go down for a few minutes to an hour or two during the migration period, however after that it should be back up.
-
- ⌨️ CLI (recommended)
-
+### How does this benefit the users?
+Open Domains is a bigger project, therefore we can get more people to use our subdomains! It means bigger growth for us and there will be some extra perks for you too.
- 1. Install the CLI
+Some new perks include:
+- NS records
+- PSL Support
+ - `is-a-fullstack.dev` is ***not*** on the [Public Suffix List](https://publicsuffix.org) yet, however we will be applying for PSL status under Open Domains' existing section.
+ - This will mean browsers and services will treat your subdomain almost as an *actual root domain*.
- You can install the CLI by running the following command:
-
- ```bash
- npm install @free-domains/cli -g
- ```
-
- 2. Login to the CLI
-
- Run the following command to login to the CLI and follow the steps.
-
- ```bash
- domains login
- ```
-
- 3. Register a domain
-
- Run the following command and follow the steps to register a subdomain.
-
- ```bash
- domains register
- ```
-
-
-
-
- 📝 Manual
-
-
- 1. **[Fork](https://github.com/free-domains/register/fork)** this repository.
- 2. Add a new file called `example.domain.dev.json` in the `/domains` folder to register the `example` subdomain on the `domain.dev`.
- - A list of supported domains can be found [here](#-supported-domains).
- 3. Edit it to meet your needs.
- - The file listed below is just an **example**, provide a **valid** JSON file with your needs.
- - Make sure to remove any records that aren't needed.
-
- ```json
- {
- "domain": "is-a-fullstack.dev",
- "subdomain": "example",
-
- "owner": {
- "email": "hello@example.com"
- },
-
- "records": {
- "A": ["1.1.1.1", "1.0.0.1"],
-
- "AAAA": ["2606:4700:4700::1111", "2606:4700:4700::1001"],
-
- "CNAME": "example.com",
-
- "MX": [
- {
- "priority": 10,
- "value": "mx.example.com"
- }
- ],
-
- "TXT": [
- {
- "name": "@",
- "value": "example_verification=1234567890"
- }
- ]
- },
-
- "proxied": false
- }
- ```
-
- 4. Your pull request will be reviewed and merged.
- - **Do not** ignore the pull request checklist, this is _required_.
- - Make sure to keep an eye on your pull request in case we need you to make any changes!
- 5. After the pull request is merged, please allow up to 24 hours for the changes to propagate _(in most cases it takes up to 5 minutes)_
- 6. Enjoy your new domain!
-
-
-
-## ⚙️ Domain Settings
-| Setting | Option |
-|-|-|
-| DNSSEC | ✅ |
-| Email | ✅ |
-| SSL/TLS[^1] | Full |
-| Always Use HTTPS[^1] | ✅ |
-| HTTP Strict Transport Security (HSTS) | ✅ |
-| Minimum TLS Version[^1] | 1.0 |
-| Opportunistic Encryption, TLS 1.3[^1] | ✅ |
-| WAF (Web Application Firewall)[^1] | Medium Security Level |
-| Browser Integrity Check[^1] | ✅ |
-| Caching Level, Browser Cache TTL[^1] | Standard, 4 hours |
-
-[^1]: Only available when your domain has `proxied` set to `true`.
+### How can I edit my domain file?
+You will now need to go to the [`open-domains/register`](https://github.com/open-domains/register) repository to register and manage subdomains on is-a-fullstack.dev. (You can check out some of the subdomains they offer as well, if you like :wink:)
diff --git a/SECURITY.md b/SECURITY.md
deleted file mode 100644
index 1aa5fbc..0000000
--- a/SECURITY.md
+++ /dev/null
@@ -1,2 +0,0 @@
-# Security Policy
-For security vulnerabilities, please email william@williamharrison.dev.
diff --git a/domains/README.md b/domains/README.md
deleted file mode 100644
index c00b6da..0000000
--- a/domains/README.md
+++ /dev/null
@@ -1,25 +0,0 @@
-# 📦 Moved
-Hey everyone, we are excited to announce that we have **merged** with [Open Domains](https://open-domains.net)!
-
-> is-a-fullstack.dev subdomains have been **relocated** to the [`open-domains/register`](https://github.com/open-domains/register) repository.
-
-## ❓ FAQ
-
-### What does this mean for users?
-Open Domains has taken over our project, which means they will be the ones managing the domain(s) we previously offered. Nothing has *actually* changed for the users, just the backend stuff.
-The only noticable difference is that your subdomain file may look a little different as Open Domains has a slightly different format to ours.
-
-### Will this affect my subdomain?
-It is unlikely. Your subdomain may go down for a few minutes to an hour or two during the migration period, however after that it should be back up.
-
-### How does this benefit the users?
-Open Domains is a bigger project, therefore we can get more people to use our subdomains! It means bigger growth for us and there will be some extra perks for you too.
-
-Some new perks include:
-- NS records
-- PSL Support
- - `is-a-fullstack.dev` is ***not*** on the [Public Suffix List](https://publicsuffix.org) yet, however we will be applying for PSL status under Open Domains' existing section.
- - This will mean browsers and services will treat your subdomain almost as an *actual root domain*.
-
-### How can I edit my domain file?
-You will now need to go to the [`open-domains/register`](https://github.com/open-domains/register) repository to register and manage subdomains on is-a-fullstack.dev. (You can check out some of the subdomains they offer as well, if you like :wink:)
diff --git a/scripts/dns.js b/scripts/dns.js
deleted file mode 100644
index aad1a1d..0000000
--- a/scripts/dns.js
+++ /dev/null
@@ -1,76 +0,0 @@
-var regNone = NewRegistrar("none");
-var providerCf = DnsProvider(NewDnsProvider("cloudflare"));
-
-var proxy = {
- off: { cloudflare_proxy: "off" },
- on: { cloudflare_proxy: "on" }
-};
-
-function getDomainsList(filesPath) {
- var result = [];
- var files = glob.apply(null, [filesPath, true, ".json"]);
-
- for (var i = 0; i < files.length; i++) {
- var basename = files[i].split("/").reverse()[0];
- var name = basename.split(".")[0];
-
- result.push({ name: name, data: require(files[i]) });
- }
-
- return result;
-}
-
-var domains = getDomainsList("../domains");
-
-var commit = {};
-
-for (var idx in domains) {
- var domainData = domains[idx].data;
- var proxyState = domainData.proxied ? proxy.on : proxy.off;
-
- if (!commit[domainData.domain]) commit[domainData.domain] = [];
-
- if (domainData.records.A) {
- for (var a in domainData.records.A) {
- commit[domainData.domain].push(A(domainData.subdomain, IP(domainData.records.A[a]), proxyState));
- }
- }
-
- if (domainData.records.AAAA) {
- for (var aaaa in domainData.records.AAAA) {
- commit[domainData.domain].push(AAAA(domainData.subdomain, domainData.records.AAAA[aaaa], proxyState));
- }
- }
-
- if (domainData.records.CNAME) {
- commit[domainData.domain].push(CNAME(domainData.subdomain, domainData.records.CNAME + ".", proxyState));
- }
-
- if (domainData.records.MX) {
- for (var mx in domainData.records.MX) {
- commit[domainData.domain].push(MX(domainData.subdomain, domainData.records.MX[mx].priority, domainData.records.MX[mx].value + "."));
- }
- }
-
- // if (domainData.records.NS) {
- // for (var ns in domainData.records.NS) {
- // commit[domainData.domain].push(NS(domainData.subdomain, domainData.records.NS[ns] + "."));
- // }
- // }
-
- if (domainData.records.TXT) {
- for (var txt in domainData.records.TXT) {
- if (domainData.records.TXT[txt].name === "@") {
- commit[domainData.domain].push(TXT(domainData.subdomain, domainData.records.TXT[txt].value));
- } else if (domainData.subdomain === "@") {
- commit[domainData.domain].push(TXT(domainData.records.TXT[txt].name, domainData.records.TXT[txt].value));
- } else {
- commit[domainData.domain].push(TXT(domainData.records.TXT[txt].name + "." + domainData.subdomain, domainData.records.TXT[txt].value));
- }
- }
- }
-}
-
-for (var domainName in commit) {
- D(domainName, regNone, providerCf, commit[domainName]);
-}