diff --git a/README.md b/README.md index ff315f6c..9fce4d7d 100644 --- a/README.md +++ b/README.md @@ -1,47 +1,43 @@ -[![Tests Status][badge-tests]][actions] -[![Deploy Status][badge-deploy]][deploy] - +

Open Domains

-Free subdomains for personal sites, open-source projects, and more. Here is a list of supported domain names: +

Free subdomains for personal sites, open-source projects, and more. Here is a list of supported domain names:

-| Domain name | Features | -|:-------------------------------------:|:---------------------------------------------------------:| -| ⚡ [`*.localplayer.dev`](https://localplayer.dev/) | ![cf][badge-cf] ![dnssec][badge-dnssec] ![ssl][badge-ssl] | -| ⚡ [`*.is-not-a.dev`](https://is-not-a.dev/) | ![cf][badge-cf] ![dnssec][badge-dnssec] ![ssl][badge-ssl] | +## Domains -> Wildcards (like `*.foo.is-not-a.dev`) are supported too, but the reason for their registration should be very clear and described in detail. +| Domain | Features | +|-|-| +| [`is-not-a.dev`](https://is-not-a.dev) | ![cf][badge-cf] ![dnssec][badge-dnssec] | +| [`localplayer.dev`](https://localplayer.dev) | ![cf][badge-cf] ![dnssec][badge-dnssec] | + +Wildcard domains (like `*.example.is-not-a.dev`) are supported too, but the reason for their registration should be very clear and described in detail. [badge-cf]:https://shields.io/badge/%20-cloudflare-blue?logo=cloudflare&style=plastic?cacheSeconds=3600 [badge-dnssec]:https://shields.io/badge/%20-DNSSEC-blue?logo=moleculer&logoColor=white&style=plastic?cacheSeconds=3600 [badge-ssl]:https://shields.io/badge/SSL-Required-blue?style=plastic?cacheSeconds=3600 -## Why? +### Settings -First of all, I want to answer one important question - "Why are you giving out domains for free?". Because sometimes I need domains for my pet projects, and instead of buying new domains every time, I decided to buy one for everyone, and use subdomains. And why not share them with the community? +| Setting | `is-not-a.dev` | `localplayer.dev` | +|-|-|-| +| [DNSSEC][dnssec]| ✅ | ✅ | +| Email | ❌ | ❌ | +| SSL/TLS* | [Full][ssl-full] | [Full][ssl-full] | +| Always Use HTTPS* | ✅ | ✅ | +| HTTP Strict Transport Security (HSTS) | ✅ | ✅ | +| Minimum TLS Version* | 1.2 | 1.2 | +| Opportunistic Encryption, TLS 1.3* | ✅ | ✅ | +| WAF (Web Application Firewall)* | ✅ Medium Security Level | ✅ Medium Security Level | +| Browser Integrity Check* | ✅ | ✅ | +| [Caching Level][caching-levels], Browser Cache TTL * | Standard, 4 hours | Standard, 4 hours | +| [Crawler Hints][crawler-hints]* | ✅ | ✅ | +| [HTTP/2][http2], [HTTP/2 to Origin][http2-to-origin], HTTP/3 (with QUIC) * | ✅ | ✅ | +| [0-RTT Connection Resumption][0rtt]* | ✅ | ✅ | +| [gRPC][grpc], WebSockets* | ✅ | ✅ | +| [Pseudo IPv4][pseudo-ipv4]* | Add header | Add header | +| IP Geolocation (HTTP header `CF-IPCountry`)* | ✅ | ✅ | +| Maximum Upload Size* | 100 MB | 100 MB | -## Domains settings - -| Option | `*.localplayer.dev` | `*.is-not-a.dev` | -|:--------------------------------------------------------------------------:|:-------------------------:|:-------------------------:| -| [DNSSEC][dnssec] | ✅ | ✅ | -| Email | ❌ | ❌ | -| SSL/TLS * | [Full][ssl-full] | [Full][ssl-full] | -| Always Use HTTPS * | ✅ | ✅ | -| HTTP Strict Transport Security (HSTS) | ✅ | ✅ | -| Minimum TLS Version * | TLS 1.2 | TLS 1.2 | -| Opportunistic Encryption, TLS 1.3 * | ✅ | ✅ | -| WAF (Web Application Firewall) * | ✅ (Medium Security Level) | ✅ (Medium Security Level) | -| Browser Integrity Check * | ✅ | ✅ | -| [Caching Level][caching-levels], Browser Cache TTL * | Standard, 4 hours | Standard, 4 hours | -| [Crawler Hints][crawler-hints] * | ✅ | ✅ | -| [HTTP/2][http2], [HTTP/2 to Origin][http2-to-origin], HTTP/3 (with QUIC) * | ✅ | ✅ | -| [0-RTT Connection Resumption][0rtt] * | ✅ | ✅ | -| [gRPC][grpc], WebSockets * | ✅ | ✅ | -| [Pseudo IPv4][pseudo-ipv4] * | Add header | Add header | -| IP Geolocation (HTTP header `CF-IPCountry`) * | ✅ | ✅ | -| Maximum Upload Size * | 100 MB | 100 MB | - -> `*` Available only when proxying (`"proxy": true`) is enabled +\*Only available when your domain has Cloudflare's proxy (`"proxy": true`) enabled [dnssec]:https://developers.cloudflare.com/dns/additional-options/dnssec [ssl-full]:https://developers.cloudflare.com/ssl/origin-configuration/ssl-modes/full/ @@ -54,30 +50,35 @@ First of all, I want to answer one important question - "Why are you giving out [grpc]:https://support.cloudflare.com/hc/en-us/articles/360050483011 [pseudo-ipv4]:https://support.cloudflare.com/hc/en-us/articles/229666767 -# How to get one? +## Register a Domain -1. Star and [fork](https://github.com/open-domains/Register/fork) this repository (follow [this guide](https://github.com/firstcontributions/first-contributions) if you don't know how to make a contributions) -2. Add a new file called `..json` in the `./domains` folder to register `` subdomain -3. Edit it (below is just an **example**, provide a **valid** JSON file with your needs, the format is very strict; format you can [check here](https://jsonlint.com/)): +1. **Star and [Fork](https://github.com/open-domains/register/fork)** this repository (follow [this guide](https://github.com/firstcontributions/first-contributions) if you don't know how to make a contribution) +2. Add a new file called `example.domain.json` in the `/domains` folder to register `example` subdomain +3. Edit it (below is just an **example**, provide a **valid** JSON file with your needs, the format is very strict; format you can [check here](https://jsonlint.com)): ```json { "$schema": "../schemas/domain.schema.json", - "description": "", + + "description": "Project Description", + "domain": "is-not-a.dev", - "subdomain": "", + "subdomain": "example", + "owner": { - "repo": "", - "email": "" + "repo": "https://github.com/username/repo", + "email": "hello@example.com" }, + "record": { - "CNAME": "", - "TXT": ["list", "of", "required", "txt", "records"], - "A": ["list", "of", "IPv4", "addresses", "like", "a", "127.0.0.1"], - "AAAA": ["list", "of", "IPv6", "addresses", "like", "a", "::1"], - "NS": ["list", "of", "nameservers"] + "A": ["1.1.1.1", "1.0.0.1"], + "AAAA": ["::1", "::2"], + "CNAME": "example.com.", + "NS": ["ns1.example.com", "ns2.example.com"], + "TXT": ["example_verification=1234567890"] }, - "proxy": false // disable the CF proxy, proxying is always enabled by default + + "proxy": false } ``` @@ -85,20 +86,11 @@ First of all, I want to answer one important question - "Why are you giving out 5. After the pull request is merged, please allow up to 24 hours for the changes to propagate _(usually, it takes 5..15 minutes)_ 6. Enjoy your new domain! -> Domains, used for illegal purposes will be removed and permanently banned. Please, provide a clear description of your resource in the PR. +*Domains used for illegal purposes will be removed and permanently banned. Please, provide a clear description of your resource in the pull request.* -## If you don't know... +### Why? -- What is GitHub pages and how to set up a custom domain, read the [docs here](https://docs.github.com/en/pages/configuring-a-custom-domain-for-your-github-pages-site) -- The difference between `A`, `CNAME`, and other record types, the article on Wikipedia [is here](https://en.wikipedia.org/wiki/List_of_DNS_record_types) - -> 🔍 A few similar services can be [found here](https://free-for.dev/#/?id=domain). - -[badge-tests]:https://img.shields.io/github/workflow/status/open-domains/Register/tests?label=tests&logo=github&style=for-the-badge -[badge-deploy]:https://img.shields.io/github/workflow/status/open-domains/Register/deploy?label=deploy&logo=github&style=for-the-badge +First of all, I want to answer one important question - "Why are you giving out domains for free?". Because sometimes I need domains for my pet projects, and instead of buying new domains every time, I decided to buy one for everyone, and use subdomains. And why not share them with the community? [actions]:https://github.com/open-domains/Register/actions [deploy]:https://github.com/open-domains/Register/actions/workflows/deploy.yml - -# This repo was forked from -https://github.com/tarampampam/free-domains