From 4d0b14e96fd586e7cadf2452a6ad87efa93e8a20 Mon Sep 17 00:00:00 2001 From: William Harrison Date: Thu, 6 Jun 2024 07:50:27 +0800 Subject: [PATCH] delete ci + move announcement --- .github/CODEOWNERS | 4 - .github/PULL_REQUEST_TEMPLATE.md | 14 ---- .github/labeler.yml | 11 --- .github/workflows/label.yml | 17 ---- .github/workflows/publish.yml | 34 -------- .github/workflows/raw-api.yml | 47 ------------ .github/workflows/validation.yml | 45 ----------- CODE_OF_CONDUCT.md | 128 ------------------------------- MAINTAINERS.md | 6 -- README.md | 126 +++++------------------------- SECURITY.md | 2 - domains/README.md | 25 ------ scripts/dns.js | 76 ------------------ 13 files changed, 18 insertions(+), 517 deletions(-) delete mode 100644 .github/CODEOWNERS delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/labeler.yml delete mode 100644 .github/workflows/label.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/raw-api.yml delete mode 100644 .github/workflows/validation.yml delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 MAINTAINERS.md delete mode 100644 SECURITY.md delete mode 100644 domains/README.md delete mode 100644 scripts/dns.js 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)! -[![Domains](https://img.shields.io/github/directory-file-count/free-domains/register/domains?label=domains&style=for-the-badge&type=file)](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]); -}