Merge branch 'main' into main

This commit is contained in:
subrat kmr authored and GitHub committed 2026-07-29 23:53:56 +05:30
commit 5c55129860
15045 files changed
+132144 -20411

No files matched your search

-6
View File
@@ -1,6 +0,0 @@
DOMAIN_USER=username
DOMAIN_API_KEY=apikey
DOMAIN_API_HOST=api-example.com
DOMAIN_API_PORT=2087
DOMAIN_DOMAIN=example.com
DOMAIN_HOST_IP=69.69.69.69
-1
View File
@@ -1 +0,0 @@
use_nix
-31
View File
@@ -1,31 +0,0 @@
{
"extends": [
"eslint:recommended",
"plugin:node/recommended",
"plugin:json/recommended"
],
"parserOptions": {
"ecmaVersion": 2020
},
"rules": {
"indent": ["error", 2],
"max-len": ["error", {
"code": 100,
"ignoreStrings": true,
"ignoreTemplateLiterals": true,
"ignoreTrailingComments": true
}],
"node/exports-style": ["error", "module.exports"],
"node/file-extension-in-import": ["error", "always"],
"node/prefer-global/buffer": ["error", "always"],
"node/prefer-global/console": ["error", "always"],
"node/prefer-global/process": ["error", "always"],
"node/prefer-global/url-search-params": ["error", "always"],
"node/prefer-global/url": ["error", "always"],
"node/prefer-promises/dns": "error",
"node/prefer-promises/fs": "error",
"no-process-exit": [0],
"node/no-unsupported-features/node-builtins": [0],
"node/no-unsupported-features/es-syntax": [0]
}
}
+6 -3
View File
@@ -1,4 +1,7 @@
* @phenax
* @wdhdev
domains/ @is-a-dev/maintainers
*.md @is-a-dev/maintainers
/domains/ @is-a-dev/maintainers
*.md @is-a-dev/team
TERMS_OF_SERVICE.md @wdhdev
/util/reserved.json @is-a-dev/team
-2
View File
@@ -1,2 +0,0 @@
custom: ["https://www.paypal.me/phenax", "https://www.buymeacoffee.com/phenax"]
liberapay: phenax
+3 -5
View File
@@ -1,14 +1,12 @@
---
name: bug
about: Use this template to report any bugs you've encountered related to the project
title: 'What bug did you encounter?'
title: "What bug did you encounter?"
labels: bug
---
### Your subdomain
### Expected outcome
### Observed outcome
+2 -4
View File
@@ -1,10 +1,8 @@
---
name: question
about: Use this template to ask any questions about the service
title: 'Whats your question'
title: "Whats your question"
labels: question
---
You can elaborate here
### Your question
+5 -4
View File
@@ -1,13 +1,14 @@
---
name: report-abuse
about: Use this template to report abusive domains
title: 'Report abuse'
title: "Report abuse"
labels: report-abuse
---
Domain you want to report:
### Domain
### Reason
Explain why you think this domain is being abused
<!-- Explain why you think this domain is being abused -->
### Proof
<!-- Proof of the domain being abused -->
+2 -2
View File
@@ -1,8 +1,8 @@
---
name: suggestion
about: Use this template for feedbacks and suggestions
title: 'Feedback/suggestion'
title: "Feedback/suggestion"
labels: suggestion
---
### What do you want added?
+3 -5
View File
@@ -1,12 +1,10 @@
---
name: support
about: Use this template if you need any support with your domain
title: 'Support'
title: "Support"
labels: support
---
Your domain name:
Explain any issues you are facing
### Your subdomain
### The issue
+20 -13
View File
@@ -1,14 +1,21 @@
To make our job easier, please spend time to review your application before submitting.
<!--
YOU MUST FILL OUT THIS TEMPLATE FOR YOUR PR TO BE ACCEPTED!
-->
<!-- To check a checkbox, replace [] with [x] -->
#### Add a x between [] if you meet that requirement example `[x]`
- [ ] You're not using Vercel or Netlify.
- [ ] You have completed your website, there's no type of placeholder at the website. **This requirement can be raised if the domain you're registering is for emails**
- Link to website:
- [ ] The website is reachable.
- [ ] The CNAME record doesn't contain any slash.
- [ ] There's enough information at the `owner` field.
- You should have your email presented. If you don't want to share email, you can leave email an empty string (`""`) and add any other social such as Discord/Twitter/etc.
#### Feel free to join our discord server for more updates or any help related to the service :D - https://discord.gg/PZCGHz4RhQ
<!-- Feel free to join the discord server for any help to talk to other developers :) - https://discord.gg/PZCGHz4RhQ -->
# Requirements
<!-- Your domain MUST pass ALL the requirements below, otherwise it WILL BE DENIED. -->
<!-- Change each checkbox to [x] (all lowercase, with no spaces between the brackets) to mark it as completed. -->
- [ ] I **agree** to the [Terms of Service](https://is-a.dev/terms). <!-- Your request MUST follow the TOS to be approved. -->
- [ ] My file is following the [domain structure](https://docs.is-a.dev/domain-structure/). <!-- Your JSON file is in the domains directory, the name is valid, etc. -->
- [ ] My website is **reachable** and **completed**. <!-- We do not permit simple "Hello, world!" or simply copied template websites with minimal changes. -->
- [ ] My website is **software development** related. <!-- Only your root subdomain needs to meet this requirement. -->
- [ ] My website is **not for commercial use**. <!-- Your website's purpose should not be to generate any form of revenue or profit. -->
- [ ] I have provided contact information in the `owner` key. <!-- Provide your email in the `email` field or another platform (e.g. X/Twitter or Discord) for contact. -->
- [ ] I have provided a preview of my website below. <!-- This step is required for your PR to be approved. -->
# Website Preview
<!-- Provide a link AND screenshot of your website below. if not provided your PR will be closed with no questions asked. -->
# Website Purpose
<!-- Please tell us the purpose or motive behind your website. For example, it is a portfolio website, etc. -->
+79
View File
@@ -0,0 +1,79 @@
# GitHub Copilot Instructions for is-a-dev/register
## Repository Purpose
This repository handles pull requests that register new `.is-a.dev` subdomains. Every PR adds or modifies **only** JSON files in the `domains/` directory. These files define DNS records.
Copilot must review **every PR** with these priorities:
1. The PR description **must** exactly match and fully complete the `.github/PULL_REQUEST_TEMPLATE.md`
2. Every JSON file must follow the exact filename rules, JSON schema, and validation rules from https://docs.is-a.dev/domain-structure/
3. If anything is wrong in the PR description **or** any JSON file, post a clear comment using the exact copy-pasta error messages (or very close variations that match the style). Be direct and helpful.
4. Only comment on real issues. Do not approve the PR if any errors exist.
## PR Description / Template Check (Critical)
(unchanged from previous version — keep the same checks and copy-pasta for incomplete template, no preview, inaccessible site, etc.)
## Filename Rules (Strict)
Files **must** be in the `domains/` directory and follow these exact rules:
- Must end in `.json`
- All lowercase letters only (no uppercase anywhere)
- Alphanumeric + dashes/underscores only (no consecutive dashes)
- Filenames (without `.json`) **cannot** match any entry in `util/reserved.json`
Reserved names are listed in `util/reserved.json`. These subdomain names may NOT be registered.
**Invalid filename errors to use verbatim:**
- "File does not end in .json. Make sure the file extension is correct. Reopen this PR when you have this corrected."
- "File is not in the correct directory. Must be in the domains directory. Reopen this PR when you have this corrected."
- "Filenames cannot have uppercase characters. See docs for more information: https://docs.is-a.dev/"
- "Filename is reserved. See util/reserved.json for the full list. Reopen this PR when you have this corrected."
## JSON Schema & Validation Rules (Updated & Expanded)
Every file must be valid JSON and follow this exact structure from https://docs.is-a.dev/domain-structure/:
```json
{
"owner": {
"username": "exact-github-username-of-pr-author",
"email": "optional@email.com"
},
"records": {
// record types here
}
}
```
**Critical rules (enforce strictly):**
- `"owner"."username"` **MUST** exactly match the GitHub username of the person who opened the PR, **unless** the PR author is a trusted maintainer listed in `util/trusted.json`.
Trusted maintainers: STICKnoLOGIC, DEV-DIBSTER, iostpa, orangci, Stef-00012, satr14washere, wdhdev.
- `"records"` is required (note: it must be `"records"`, never `"record"`).
- **CNAME records cannot be used with any other records and vice versa.** Only one record type is allowed if CNAME is present.
- **A records must be an array of strings** (never a single string, object, or scalar value). Example: `"A": ["192.0.2.1"]`
- A records **cannot** contain public DNS resolver IPs (Cloudflare, Google, Quad9, OpenDNS, etc.). Prohibited examples: 1.1.1.1, 1.1.1.2, 1.0.0.1, 8.8.8.8, 8.8.4.4, 9.9.9.9, 149.112.112.112, 208.67.222.222, 208.67.220.220.
- CNAME must be a single lowercase string (no protocols, no paths, no query parameters, no arrays).
- TXT verification records must be paired correctly (separate `_vercel.*.json` for Vercel, proper TXT for GitHub Pages).
- Other record types (AAAA, MX, NS, etc.) must follow the exact array/object formats shown in the docs.
**Use these exact (or matching-style) error messages:**
- "File does not follow proper schema. See docs for more information: https://docs.is-a.dev/"
- "This should be `records` not `record`."
- "Cannot use CNAME in conjunction with other records and vice versa. See docs for more information: https://docs.is-a.dev/"
- "A records must be placed within an array. Example: \"A\": [\"192.0.2.1\"]. Reopen this PR when fixed."
- "A records cannot use public DNS resolver IPs (1.1.1.1, 8.8.8.8, 9.9.9.9, etc.). Reopen this PR when fixed."
- "Invalid username, username does not match the GitHub account that is opening the pull request. See docs for more information: https://docs.is-a.dev/ (trusted maintainers exempt — see util/trusted.json)"
- "Invalid CNAME. CNAME cannot contain protocols, file paths, URL parameters, or anything combination of those. CNAME records must be lowercased. See docs for more information: https://docs.is-a.dev/ Reopen PR when this is fixed."
- All previous verification, JSON, and socials copy-pasta remain valid.
## Verification-Specific Guidance
## General Review Style
- Be concise and use the exact copy-pasta messages whenever they match the issue.
- Always link back to https://docs.is-a.dev/ or the specific guide.
- If the site has "Little content provided" → use the existing copy-pasta.
- For new rule violations, use the exact phrasing above so maintainers instantly recognize the feedback.
- Suggest reopening the PR after fixes.
- You may add a short polite note around the copy-pasta, but keep the core error verbatim.
- Do not approve or merge any PR that has errors.
Follow these instructions on every PR review. This ensures full consistency with the automated tests in `/tests`, the reserved/trusted lists, and maintainer expectations.
-6
View File
@@ -1,6 +0,0 @@
domain:
- domains/*.json
documentation:
- ./*.md
- ./**/*.md
-26
View File
@@ -1,26 +0,0 @@
name: Helper
on:
pull_request:
types:
- closed
jobs:
instructions:
name: instructions
runs-on: ubuntu-latest
steps:
- run: curl https://notify-api.is-a.dev/pr/merged/${{ github.event.pull_request.number }}
if: github.event.action == 'closed' && github.event.pull_request.merged == true
# - uses: actions/checkout@v2
# - name: Comment
# if: github.event.action == 'closed' && github.event.pull_request.merged == true
# uses: actions/github-script@v3
# with:
# github-token: ${{secrets.GITHUB_TOKEN}}
# script: |
# const { hasLabel } = require(`${process.env.GITHUB_WORKSPACE}/scripts/action-utils.js`);
# const { instructions } = require(`${process.env.GITHUB_WORKSPACE}/scripts/reply.js`);
# if (hasLabel(context, 'domain'))
# console.log('Domain');
# await instructions(context, github);
-23
View File
@@ -1,23 +0,0 @@
name: Checks
on: [pull_request]
jobs:
validation:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
- name: Setup node v15
uses: actions/setup-node@v1
with:
node-version: '15'
- name: Install dependencies
uses: borales/actions-yarn@v2.0.0
with:
cmd: install --ignore-engines --frozen-lockfile
- name: Run tests
uses: borales/actions-yarn@v2.0.0
with:
cmd: test
+55
View File
@@ -0,0 +1,55 @@
name: CI
on:
pull_request:
push:
branches: [main]
paths:
- "domains/*"
- "tests/*"
- "util/*"
- ".github/workflows/ci.yml"
workflow_dispatch:
concurrency:
group: ${{ github.ref }}-ci
jobs:
tests:
name: Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- run: npm ci
- name: Fetch PR information
if: github.event_name == 'pull_request'
run: |
echo "PR_AUTHOR=${{ github.event.pull_request.user.login }}" >> $GITHUB_ENV
echo "PR_AUTHOR_ID=${{ github.event.pull_request.user.id }}" >> $GITHUB_ENV
LABELS=$(gh api --jq '[.labels[].name]' /repos/{owner}/{repo}/pulls/${{ github.event.number }})
echo "PR_LABELS=$LABELS" >> $GITHUB_ENV
FILES=$(gh api --jq '[.[] | select(.status != "removed") | .filename]' /repos/{owner}/{repo}/pulls/${{ github.event.number }}/files)
echo "CHANGED_FILES=$FILES" >> $GITHUB_ENV
REMOVED_FILE_DATA=$(gh api --jq '[.[] | select(.status == "removed") | {name: .filename, data: .patch}]' /repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/files)
echo "DELETED_FILES=$REMOVED_FILE_DATA" >> $GITHUB_ENV
env:
GH_TOKEN: ${{ github.token }}
- uses: gacts/install-dnscontrol@890ba3249712c51203ccb7aba63307c0091e921b # v1.3.4
if: github.event_name == 'pull_request' && contains(fromJson(env.CHANGED_FILES), 'dnsconfig.js')
with:
version: 4.14.0
- name: Run DNSControl checks
run: dnscontrol check
if: github.event_name == 'pull_request' && contains(fromJson(env.CHANGED_FILES), 'dnsconfig.js')
- name: Run tests
run: npx ava tests/*.test.js --timeout=1m
+27
View File
@@ -0,0 +1,27 @@
name: DNSControl
on:
push:
branches: [main]
paths:
- ".github/workflows/dnscontrol.yml"
- "dnsconfig.js"
workflow_dispatch:
concurrency:
group: ${{ github.ref }}-dnscontrol
jobs:
tests:
name: Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: gacts/install-dnscontrol@890ba3249712c51203ccb7aba63307c0091e921b # v1.3.4
with:
version: 4.14.0
- name: Run DNSControl checks
run: dnscontrol check
-13
View File
@@ -1,13 +0,0 @@
name: Pull Request Labeler
on:
schedule:
- cron: '*/10 * * * *'
jobs:
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
-34
View File
@@ -1,34 +0,0 @@
name: Publish records
on:
push:
branches: [main]
workflow_dispatch:
name: 'Publish records'
jobs:
publish:
if: github.repository == 'is-a-dev/register'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: borales/actions-yarn@v2.0.0
with:
cmd: install --ignore-engines
- name: Running tests
uses: borales/actions-yarn@v2.0.0
with:
cmd: test
- name: Publishing records
env:
CI: 1
ENV: production
DOMAIN_USER: ${{ secrets.DOMAIN_USER }}
DOMAIN_API_KEY: ${{ secrets.DOMAIN_API_KEY }}
DOMAIN_API_HOST: ${{ secrets.DOMAIN_API_HOST }}
DOMAIN_API_PORT: ${{ secrets.DOMAIN_API_PORT }}
DOMAIN_DOMAIN: ${{ secrets.DOMAIN_DOMAIN }}
DOMAIN_HOST_IP: ${{ secrets.DOMAIN_HOST_IP }}
uses: borales/actions-yarn@v2.0.0
with:
cmd: publish-records
+34
View File
@@ -0,0 +1,34 @@
name: Publish
on:
push:
branches: [main]
paths:
- "domains/*"
- ".github/workflows/publish.yml"
- "util/reserved.json"
- "dnsconfig.js"
workflow_dispatch:
concurrency:
group: ${{ github.ref }}-publish
jobs:
dns:
name: DNS
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: gacts/install-dnscontrol@890ba3249712c51203ccb7aba63307c0091e921b # v1.3.4
with:
version: 4.14.0
- name: Generate creds.json
run: echo '{"cloudflare":{"TYPE":"CLOUDFLAREAPI","apitoken":"$CLOUDFLARE_API_TOKEN"}}' > ./creds.json
- name: Push DNS records
run: dnscontrol push
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
+45
View File
@@ -0,0 +1,45 @@
name: Raw API
on:
push:
branches: [main]
paths:
- "domains/*"
- ".github/workflows/raw-api.yml"
- "util/raw-api.js"
- "util/reserved.json"
workflow_dispatch:
concurrency:
group: ${{ github.ref }}-raw-api
cancel-in-progress: true
jobs:
update:
name: Update
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 20.x
- name: Update Data
run: node util/raw-api.js
- name: Create CNAME
run: echo "raw.is-a.dev" > raw-api/CNAME
- name: Commit
uses: cpina/github-action-push-to-another-repository@55306faa4ed53b815ae49e564af8cfb359d32ae2 # v1.7.3
with:
source-directory: "raw-api"
destination-github-username: is-a-dev
destination-repository-name: raw-api
user-email: "actions@github.com"
user-name: "GitHub Actions"
env:
API_TOKEN_GITHUB: ${{ secrets.BOT }}
+18 -17
View File
@@ -1,21 +1,22 @@
name: StaleBOT
name: Stale
on:
workflow_dispatch:
name: 'Force cleanup'
schedule:
- cron: "30 14 * * *"
schedule:
- cron: "0 12 * * *"
workflow_dispatch:
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 30
days-before-close: 20
stale-issue-message: 'This issue has been marked as stale due to inactivity and will be closed. Comment anything on this issue to prevent it'
stale-pr-message: 'This pull request has been marked as stale due to inactivity and will be closed. Comment anything on this PR to prevent it'
exempt-issue-labels: 'no-stale'
exempt-pr-labels: 'no-stale'
label:
name: Label
runs-on: ubuntu-latest
steps:
- uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f # v10.2.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 3
days-before-close: 2
stale-issue-message: "This issue has been marked as stale due to inactivity and will be closed. Comment anything on this issue to prevent it"
stale-pr-message: "This pull request has been marked as stale due to inactivity and will be closed. Comment anything on this PR to prevent it"
exempt-issue-labels: "no-stale"
exempt-pr-labels: "no-stale"
+133 -2
View File
@@ -1,3 +1,134 @@
node_modules/
*.env.*
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# Snowpack dependency directory (https://snowpack.dev/)
web_modules/
# TypeScript cache
*.tsbuildinfo
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional stylelint cache
.stylelintcache
# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local
# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache
# Next.js build output
.next
out
# Nuxt.js build / generate output
.nuxt
dist
# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public
# vuepress build output
.vuepress/dist
# vuepress v2.x temp and cache directory
.temp
.cache
# Docusaurus cache and generated files
.docusaurus
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# TernJS port file
.tern-port
# Stores VSCode versions used for testing VSCode extensions
.vscode-test
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
# Custom
.DS_Store
*.js
-1
View File
@@ -1 +0,0 @@
Moved to [docs](https://is-a.dev/docs)
+9 -6
View File
@@ -1,9 +1,12 @@
# Code of conduct
# Code of Conduct
This is a Code of Conduct for any interactions in this repository. This includes pull requests, issues, etc.
* **Don't be a dick** - It's not that complicated. Just be nice to people.
* **Don't abuse the service** - This service is intended for developers to get a cleaner URL for their personal websites.
* **No Wrongful Uses Of The Service** - Do not use this site as a way, to promote hacking, scams, fraud, and other illegal activites.
- **Use common sense** - It's not that complicated. Just be nice to people.
- **Don't abuse the service** - This service is intended for developers to get a cleaner URL for their personal websites.
- **No wrongful use** - Do not use this service as a way, to promote hacking, scams, fraud, and other illegal activites.
- **Follow our TOS** - You must follow our [Terms of Service](https://github.com/is-a-dev/register/blob/main/TERMS_OF_SERVICE.md).
If you believe a domain that has been registered using this service is an abuse of this service, you can report it by creating an issue.
The abuse reports will be investigated and the necessary action will be taken!
## Reporting abuse
If you believe a domain that has been registered using this service is abusing our terms, you can report it by creating an issue.
Abuse reports will be investigated and the necessary action will be taken.
+7 -19
View File
@@ -1,24 +1,12 @@
# Contributing
When contributing to this repository, please first discuss the change you wish to make via issue before making a change.
You should also read up on this project's [code of conduct](./CODE_OF_CONDUCT.md).
## Pull requests
You can create an pull request for the following reasons -
* Adding, changing or removing a domain file you own.
* Fixing a bug in the scripts or CI.
* Fix an error in the documentation.
#### Domains
Changes to domain files will follow the given process -
* PR will be reviewed and merged to `main` branch.
* The records will be published as soon as the PR is merged.
* The changes should reflect soon after publishing.
- If the PR template is updated, any pre-existing PRs must follow the updated template, in order to be merged.
- We reserve the right to deny any pull request for any reason.
## Issues
* **Report an abusive domain** - Create a new issue with the label `report-abuse`.
* **Report a problem with your domain** - Create a new issue with the label `support`.
* **Suggestions** - Create a new issue with the label `suggestion`.
* **For any questions** - Create a new issue with the label `question`.
* **Report any other issues related to this repository** - Create a new issue with any label that fits.
- **Report an abusive domain** - Create a new issue with the label `report-abuse`.
- **Report a problem with your domain** - Create a new issue with the label `support`.
- **Suggestions** - Create a new issue with the label `suggestion`.
- **For any questions** - Create a new issue with the label `question`.
- **Report any other issues related to this repository** - Create a new issue with any label that fits.
-21
View File
@@ -1,21 +0,0 @@
FROM ubuntu:20.04
ENV TERM xterm
RUN ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime
RUN apt-get -y update
RUN apt-get install -y nodejs npm curl wget dnsutils certbot --fix-missing
RUN npm i -g n yarn && n 15.11
RUN node -v
WORKDIR /opt/app
COPY yarn.lock .
COPY package.json .
RUN yarn install
CMD ["sh", "-c", "cp -r node_modules code; cd code; tail -f /dev/null"]
+40 -41
View File
@@ -1,57 +1,56 @@
![is-a-dev banner](./media/banner.png)
<!-- <p align="center">
<img alt="is-a.dev Banner" src="https://raw.githubusercontent.com/is-a-dev/register/main/media/banner.png">
</p> -->
<br/>
<p align="center">
<img height="350" alt="is-a.dev Banner" src="https://raw.githubusercontent.com/is-a-dev/register/main/media/banner.png">
</p>
**is-a-dev** is a service that allows developers to get a sweet-looking `.is-a.dev` domain for their personal websites.
<p align="center">
<img alt="Domains" src="https://img.shields.io/github/directory-file-count/is-a-dev/register/domains?color=5c46eb&label=domains&style=for-the-badge">
<img alt="Open Pull Requests" src="https://img.shields.io/github/issues-raw/is-a-dev/register?color=5c46eb&label=issues&style=for-the-badge">
<img alt="Open Issues" src="https://img.shields.io/github/issues-pr-raw/is-a-dev/register?color=5c46eb&label=pull%20requests&style=for-the-badge">
<br>
</p>
<p align="center"> <a href="https://discord.gg/PZCGHz4RhQ"><img src="https://discord.com/api/guilds/830872854677422150/widget.png?style=banner2" alt="Discord"></a></p>
<h1 align="center">is-a.dev</h1>
## Register service
Try our new service to easily register the subdomain of your choice. Visit: https://register.is-a.dev/
<p align="center"><strong>is-a.dev</strong> is a service that allows developers to get a sweet-looking <code>.is-a.dev</code> subdomain for their personal websites.</p>
---
## Announcements
Please join our [Discord server](https://discord.gg/is-a-dev-830872854677422150) for announcements, service updates, and downtime notifications regarding the service.
## How do I register?
* [Fork](https://github.com/is-a-dev/register/fork) this repository.
* Add a new `domains/your-domain-name.json` file directory to register `your-domain-name.is-a.dev`.
* [Read the docs](https://is-a.dev/docs).
* The PR will be reviewed and merged.
* After merging, the changes will take effect within a day!
* That's it! Done! Now go show off your cool `.is-a.dev` domain!
Not all announcements are posted on GitHub[^1], however they will always be posted in our Discord server.
[^1]: We only post announcements on GitHub in the case of a serious incident, which you'll see at the top of this README.
# Register
> If you want a visual guide, check out [this blog post](https://blog.wharrison.com.au/2024/07/is-a-dev/).
## Donations
This project is a free and open source service for developers and will stay that way.
- [Fork](https://github.com/is-a-dev/register/fork) the repository.
- Follow the instructions on our [documentation](https://docs.is-a.dev).
- Do not use AI to generate your request, it **WILL** always get it wrong and will delay you getting a domain.
- Once you open your pull request (PR), it will be reviewed. *Keep an eye on it in case changes are needed!*
- If changes have been requested, please make the specified changes otherwise **you will be rejected**.
- Once your PR is merged, your DNS records should be published with-in a few minutes.
- Enjoy your new `.is-a.dev` subdomain! Please consider leaving a star ⭐️ to help support us!
Please consider donating to help me keep this running forever!
## Spam Pull Requests
With the recent rising of invalid PRs, including PRs generated with AI, we reserve the right to:
Also, consider starring this repo!
- Close these PRs without explanation.
- Block or limit the author's ability to interact with is-a.dev's repositories and resources.
- Remove any existing domains owned by the author if connected to TOS-violating content.
<a href="https://www.buymeacoffee.com/phenax" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-orange.png" alt="Buy Me A Coffee" height="28" width="119"></a>
<a href="https://liberapay.com/phenax" target="_blank"><img src="https://img.shields.io/badge/liberapay-donate-yellow.svg?style=for-the-badge" alt="Liberapay recurring donation button" /></a>
## Report Abuse
If you find any subdomains being abused or breaking our [ToS](https://is-a.dev/terms), please report them by [creating an issue](https://github.com/is-a-dev/register/issues/new?assignees=&labels=report-abuse&projects=&template=report-abuse.md&title=Report+abuse) with relevant evidence.
---
We are supported by Cloudflare's [Project Alexandria](https://www.cloudflare.com/lp/project-alexandria) sponsorship program, we would not be able to operate without their help!
## Similar services
You should also checkout -
* [js.org](https://github.com/js-org/js.org/tree/master) (**NOTE**: `js.org` is specifically for JS focused project)
* [is-a-good.dev](https://github.com/is-a-good-dev/Register)
* [is-not-a.dev](https://is-not-a.dev)
* [cluster.ws & wip.la](https://github.com/Olivr/free-domain)
## Uptime
[![Uptime Robot ratio dns(30 days)](https://img.shields.io/uptimerobot/ratio/m787472645-ec25e3920c7af893a7c66f19?label=uptime%20-%20dns&style=for-the-badge)](https://stats.uptimerobot.com/zY4XKIRVzw)
[![Uptime Robot ratio redirect(30 days)](https://img.shields.io/uptimerobot/ratio/m787472617-240f4d61a5439a87becb2cf9?label=uptime%20-%20redirections&style=for-the-badge)](https://stats.uptimerobot.com/zY4XKIRVzw)
You can check the uptime of the service via [our status dashboard](https://stats.uptimerobot.com/zY4XKIRVzw).
## License
This project is under the [GPL-3.0](./LICENSE) license.
<a href="https://www.cloudflare.com">
<img alt="Cloudflare Logo" src="https://raw.githubusercontent.com/is-a-dev/register/main/media/cloudflare.png" height="48">
</a>
+2 -4
View File
@@ -1,6 +1,4 @@
# Security Policy
## Reporting a Vulnerability
You can report low severity bugs as [issues](https://github.com/is-a-dev/register/issues/new/choose) on this repo.
For higher severity vulnerabilities and bugs, kindly email them to me at [akshay-n0@protonmail.com](mailto:akshay-n0@protonmail.com).
## Reporting a vulnerability
Please report all vulnerabilities to admin@is-a.dev.
+99
View File
@@ -0,0 +1,99 @@
# Terms of Service
Welcome to **is-a.dev** ("our", "us", "we"), a free subdomain service provided to individuals. By using our service, you agree to the following Terms of Service ("Terms"). Please read them carefully.
For questions or concerns about these Terms, please contact us at admin@is-a.dev.
**Last Updated**: 4th June, 2026
## Definitions
The following definitions apply within these Terms of Service:
- **"Service"** refers to the is-a.dev subdomain registration service, website, infrastructure, GitHub repository, and related systems operated by is-a.dev.
- **"User"**, **"you"**, and **"your"** refer to any individual using or accessing the service.
- **"Subdomain"** refers to any subdomain registered under the `is-a.dev` domain.
- **"Root subdomain"** refers to the primary registered subdomain itself, excluding any nested subdomains. For example, `example.is-a.dev` is a root subdomain, while `blog.example.is-a.dev` is a **"nested subdomain"**.
- **"Content"** refers to any website, files, media, software, text, or other material hosted or served using an is-a.dev subdomain.
## 1. Acceptance of Terms
By accessing or using is-a.dev, you acknowledge that you have read, understood, and agree to be bound by these Terms. If you do not agree, you may not use the is-a.dev service.
## 2. Eligibility
To use is-a.dev, you must:
1. Be at least 13 years old;
2. Be an individual person, not an organisation, acting either on your own behalf or as a representative of a group or non-commercial project;
3. Use the service for lawful purposes only;
4. Provide accurate and truthful information when registering.
Subdomains must be registered to an individual GitHub account, and cannot be registered to a GitHub organisation account.
By using is-a.dev, you represent and warrant that you meet these requirements.
## 3. Service Description
is-a.dev allows users to register a subdomain under the "is-a.dev" domain. This service is offered "as-is" without guarantees of uptime, support, or permanence.
Subdomains are intended solely for individuals, software developer groups and non-commercial projects that are related to software development, as long as the project does not engage in activities or serve content that is prohibited by these Terms of Service.
We reserve the right to deny any subdomain registration request for any reason.
## 4. Prohibited Activities
You agree not to use, attempt to use, or permit others to use the is-a.dev service or any related infrastructure for any of the following purposes:
1. Illegal activities
2. Degrading the service's performance or availability
3. Promoting violence or harm
4. Harassment, hate speech, or discrimination
5. Pornography or sexually explicit material
6. Impersonation and misrepresentation
7. Infringing third-party rights
8. Commercial, for-profit, or political purposes
9. Sending unsolicited communications
10. Cryptocurrency and blockchain mining
11. Abusive automation (including but not limited to: "bots", "scrapers", or automated scripts that place excessive load on the service)
12. Proxy or VPN services
13. Hosting websites on root subdomains that are behind a login page (with the exception of login pages for management reasons)
14. Blogs that are not primarily related to software development
15. Conversational AI websites or apps that are similar in functionality to websites or apps such as Claude, Gemini, ChatGPT, etc.
16. Any website that is orientated to courses
*Note: This list is not exhaustive and may be updated or expanded at any time at our discretion.*
Additionally, users must comply with [GitHub's Terms of Service](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service) where applicable.
Violation of this section may result in immediate termination without notice.
## 5. Use of AI (Artificial Intelligence)
The use of AI for creating, designing, or modifying websites is acceptable as long as the website is complete and complies with the prohibited activities guidelines. We are strongly against the usage of AI (such as Claude Code, Codex, OpenClaw, etc) for creating pull requests, and may close the pull request alongside blocking or limiting the author's ability to interact with our repositories and resources, if used.
## 6. Ownership and Intellectual Property
is-a.dev retains all rights, title, and interest in the "is-a.dev" domain and associated systems.
You retain ownership of any content you host on your subdomain. Your hosted content, however, must not infringe on third-party rights.
You grant us permission to use your registration data to operate the service.
## 7. Termination of Service
We reserve the right to terminate your subdomain at any time, for any reason. While we make reasonable efforts to provide notice in advance, we are not obligated to do so.
Any donations made to the service are non-refundable.
## 8. Privacy
We collect and process only the personal data strictly necessary to operate is-a.dev. We do not sell or share your data with third parties for marketing purposes. While we take reasonable precautions, we are not responsible for any data or privacy breaches resulting from the use of our service.
For privacy-related inquiries, please contact us at admin@is-a.dev.
## 9. Disclaimer and Limitation of Liability
The is-a.dev service is provided "as-is" and "as available." We make no warranties, expressed or implied, regarding the service's functionality, reliability, or suitability for any particular purpose.
You use the service at your own risk.
## 10. Indemnification
You agree to indemnify and hold harmless is-a.dev, its operators, and affiliates from any claims, losses, liabilities, or expenses arising from your use of the service or violation of these Terms.
## 11. Governing Law and Jurisdiction
These Terms are governed by the laws of Australia. Any disputes arising out of or relating to these Terms will be subject to the exclusive jurisdiction of the courts of Australia.
## 12. Modification of Terms
We reserve the right to update or modify these Terms at any time. Changes will be effective immediately upon posting. Your continued use of the service constitutes acceptance of the updated Terms.
If changes are made, we will notify users by posting them on our website or Discord server.
-16
View File
@@ -1,16 +0,0 @@
{ nixpkgs ? import <nixpkgs> {} }:
let
inherit (nixpkgs) pkgs;
nixPackages = with pkgs; [
nodejs-16_x
yarn
docker-compose
dnsutils
#certbot
];
in
pkgs.stdenv.mkDerivation {
name = "env";
buildInputs = nixPackages;
}
+169
View File
@@ -0,0 +1,169 @@
var domainName = "is-a.dev";
var registrar = NewRegistrar("none");
var dnsProvider = DnsProvider(NewDnsProvider("cloudflare"));
function getDomainsList(filesPath) {
var result = [];
var files = glob.apply(null, [filesPath, true, ".json"]);
for (var i = 0; i < files.length; i++) {
var name = files[i]
.split("/")
.pop()
.replace(/\.json$/, "");
result.push({ name: name, data: require(files[i]) });
}
return result;
}
var domains = getDomainsList("./domains");
var records = [];
for (var subdomain in domains) {
var subdomainName = domains[subdomain].name;
var data = domains[subdomain].data;
var proxyState = data.proxied ? CF_PROXY_ON : CF_PROXY_OFF;
// Handle A records
if (data.records.A) {
for (var a in data.records.A) {
records.push(A(subdomainName, IP(data.records.A[a]), proxyState));
}
}
// Handle AAAA records
if (data.records.AAAA) {
for (var aaaa in data.records.AAAA) {
records.push(AAAA(subdomainName, data.records.AAAA[aaaa], proxyState));
}
}
// Handle CAA records
if (data.records.CAA) {
for (var caa in data.records.CAA) {
var caaRecord = data.records.CAA[caa];
records.push(CAA(subdomainName, caaRecord.tag, caaRecord.value));
}
}
// Handle CNAME records
if (data.records.CNAME) {
records.push(ALIAS(subdomainName, data.records.CNAME + ".", proxyState));
}
// Handle DS records
if (data.records.DS) {
for (var ds in data.records.DS) {
var dsRecord = data.records.DS[ds];
records.push(
DS(subdomainName, dsRecord.key_tag, dsRecord.algorithm, dsRecord.digest_type, dsRecord.digest)
);
}
}
// Handle MX records
if (data.records.MX) {
for (var mx in data.records.MX) {
var mxRecord = data.records.MX[mx];
if (typeof mxRecord === "string") {
records.push(
MX(subdomainName, 10 + parseInt(mx), data.records.MX[mx] + ".")
);
} else {
records.push(
MX(
subdomainName,
parseInt(mxRecord.priority),
mxRecord.target + "."
)
);
}
}
}
// Handle NS records
if (data.records.NS) {
for (var ns in data.records.NS) {
records.push(NS(subdomainName, data.records.NS[ns] + "."));
}
}
// Handle SRV records
if (data.records.SRV) {
for (var srv in data.records.SRV) {
var srvRecord = data.records.SRV[srv];
records.push(
SRV(subdomainName, srvRecord.priority, srvRecord.weight, srvRecord.port, srvRecord.target + ".")
);
}
}
// Handle TLSA records
if (data.records.TLSA) {
for (var tlsa in data.records.TLSA) {
var tlsaRecord = data.records.TLSA[tlsa];
records.push(
TLSA(
subdomainName,
tlsaRecord.usage,
tlsaRecord.selector,
tlsaRecord.matching_type,
tlsaRecord.certificate
)
);
}
}
// Handle TXT records
if (data.records.TXT) {
if (Array.isArray(data.records.TXT)) {
for (var txt in data.records.TXT) {
records.push(TXT(subdomainName, data.records.TXT[txt].length <= 255 ? "\"" + data.records.TXT[txt] + "\"" : data.records.TXT[txt]));
}
} else {
records.push(TXT(subdomainName, data.records.TXT.length <= 255 ? "\"" + data.records.TXT + "\"" : data.records.TXT));
}
}
// Handle URL records
if (data.records.URL) {
records.push(A(subdomainName, IP("192.0.2.1"), CF_PROXY_ON));
}
}
var reserved = require("./util/reserved.json");
// Handle reserved domains
for (var i = 0; i < reserved.length; i++) {
var subdomainName = reserved[i];
records.push(A(subdomainName, IP("192.0.2.1"), CF_PROXY_ON));
}
// Zone last updated TXT record
records.push(TXT("_zone-updated", "\"" + Date.now().toString() + "\""));
var ignored = [
IGNORE("\\*", "A"),
IGNORE("*._domainkey", "TXT"),
IGNORE("@", "*"),
IGNORE("_acme-challenge", "TXT"),
IGNORE("_discord", "TXT"),
IGNORE("_dmarc", "TXT"),
IGNORE("_gh-is-a-dev-o", "TXT"),
IGNORE("_gh-is-a-dev-o.**", "TXT"),
IGNORE("_github-pages-challenge-is-a-dev", "TXT"),
IGNORE("_github-pages-challenge-is-a-dev.**", "TXT"),
IGNORE("_psl", "TXT")
];
var internal = require("./util/internal.json");
internal.forEach(function(subdomain) {
ignored.push(IGNORE(subdomain, "*"));
});
D(domainName, registrar, dnsProvider, records, ignored);
-8
View File
@@ -1,8 +0,0 @@
version: '3'
services:
dev:
build:
context: .
dockerfile: ./Dockerfile
volumes:
- ./:/opt/app/code
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "FWEEaaaa1",
"email": "gorgonfweman@outlook.com"
},
"records": {
"A": ["216.198.79.1"]
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "S4IL21",
"email": "s4il.is.a.dev@gmail.com"
},
"records": {
"CNAME": "s4il21.github.io"
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "Rayrsn",
"email": "rayrsn@proton.me"
},
"records": {
"URL": "https://rayrsn.me/"
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "benzenma123",
"email": "haidangchauduc@gmail.com"
},
"records": {
"CNAME": "benzenma123.github.io"
}
}
-11
View File
@@ -1,11 +0,0 @@
{
"description": "SatyamV7.is-a.dev",
"repo": "https://github.com/SatyamV7/SatyamV7.github.io",
"owner": {
"username": "SatyamV7",
"email": "satyamverma46@outlook.com"
},
"record": {
"CNAME": "SatyamV7.github.io"
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "FWEEaaaa1",
"email": "gorgonfweman@outlook.com"
},
"records": {
"A": ["128.204.223.115"]
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "Rayrsn",
"email": "rayrsn@proton.me"
},
"records": {
"URL": "https://rayrsn.me/"
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "010101-sans",
"email": "010101sansdev@gmail.com"
},
"records": {
"CNAME": "010101-sans.github.io"
}
}
+8
View File
@@ -0,0 +1,8 @@
{
"owner": {
"username": "Rudransh-K999"
},
"records": {
"CNAME": "rudransh-k999.github.io"
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "0d4vid",
"email": "nonagnidavid@gmail.com"
},
"records": {
"CNAME": "0d4vid.github.io"
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "0spol",
"email": "gaparicio368@gmail.com"
},
"records": {
"CNAME": "0spol.github.io"
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "SkyExploreWasTaken",
"discord": "1049263707177353247"
},
"records": {
"CNAME": "edge.redirect.pizza"
}
}
+4 -8
View File
@@ -1,13 +1,9 @@
{
"owner": {
"username": "pythonmcpi",
"email": "user3456@insomnia247.nl",
"irc": "user3456@irc.insomnia247.nl/#shells",
"discord": "Little Furret#7901",
"note": "That email address is not my main email. It has email forwarding enabled, but the spam filter doesn't like the forwarding. It is probably faster to contact me on Discord or irc."
"username": "FWEEaaaa1",
"email": "gorgonfweman@outlook.com"
},
"description": "I'll probably put some project pages on 0x0.is-a.dev. ¯\\_(ツ)_/¯",
"record": {
"CNAME": "insomnia247.nl"
"records": {
"A": ["128.204.223.115"]
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "barnz2",
"email": "b4rnzie@gmail.com"
},
"records": {
"CNAME": "barnz2.github.io"
}
}
-12
View File
@@ -1,12 +0,0 @@
{
"description": "Yamaishi's website",
"repo": "https://github.com/0x3st/0x3st.github.io",
"owner": {
"username": "0x3st",
"email": "t.yamaishi@qq.com",
"twitter": "TenkutiYamaishi"
},
"record": {
"CNAME": "0x3st.github.io"
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "0x98c9",
"email": "humayanalrosid3@gmail.com"
},
"records": {
"CNAME": "0x98c9.pages.dev"
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "amitgoesbrr",
"email": "amitgoesbrr@gmail.com"
},
"records": {
"A": ["216.198.79.1"]
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "0xarchit",
"email": "0xarchit@proton.me"
},
"records": {
"NS": ["brenna.ns.cloudflare.com", "cartman.ns.cloudflare.com"]
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "0xbitx",
"email": "0xbit25125@gmail.com"
},
"records": {
"CNAME": "0xbitx.github.io"
}
}
+10
View File
@@ -0,0 +1,10 @@
{
"description": "0xdwb",
"repo": "https://github.com/frosimanuel/manuisadev",
"owner": {
"username": "frosimanuel"
},
"records": {
"CNAME": "frosimanuel.github.io"
}
}
+1 -3
View File
@@ -1,11 +1,9 @@
{
"description": "0xflotus' personal developer website",
"repo": "https://github.com/0xflotus/0xflotus.github.io",
"owner": {
"username": "0xflotus",
"email": "0xflotus@gmail.com"
},
"record": {
"records": {
"CNAME": "0xflotus.github.io"
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "0xheartcode",
"email": "0xheartcode@gmail.com"
},
"records": {
"CNAME": "0xheartcode.github.io"
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "0xio32",
"email": "markus.probst@posteo.de"
},
"records": {
"CNAME": "0xio32-is-a-dev.pages.dev"
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "Jery0843",
"email": "jeromeandrewk@proton.me"
},
"records": {
"A": ["216.198.79.1"]
}
}
+10
View File
@@ -0,0 +1,10 @@
{
"description": "Personal Portfolio Hosted on Netlify",
"owner": {
"username": "marufms4",
"email": "marufsm4@gmail.com"
},
"records": {
"A": ["75.2.60.5"]
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "NipunXD",
"email": "aroranipun10@gmail.com"
},
"records": {
"A": ["216.198.79.1"]
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "prathameshrp",
"email": "prathamesh.math@gmail.com"
},
"records": {
"CNAME": "prathameshrp.github.io"
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "satyam-mishra-pce",
"email": "satyam1308mishra@gmail.com"
},
"records": {
"CNAME": "cname.vercel-dns.com"
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "0xshijn",
"email": "0xshiinnn@gmail.com"
},
"records": {
"CNAME": "0xshijn.github.io"
}
}
+1 -3
View File
@@ -1,12 +1,10 @@
{
"description": "0xviel github page",
"repo": "https://github.com/nobuyaki/nobuyaki.github.io",
"owner": {
"username": "nobuyaki",
"email": "contact@0xviel.my.id",
"discord": "445073800850046977"
},
"record": {
"records": {
"CNAME": "nobuyaki.github.io"
}
}
+11
View File
@@ -0,0 +1,11 @@
{
"owner": {
"username": "vinay-ghate",
"email": "vsg0131@gmail.com",
"linkedin": "https://www.linkedin.com/in/vinay-ghate"
},
"records": {
"TXT": ["v=spf1 include:spf.improvmx.com ~all"],
"MX": ["mx1.improvmx.com", "mx2.improvmx.com"]
}
}
+13
View File
@@ -0,0 +1,13 @@
{
"owner": {
"username": "0xzer0x",
"email": "youssefessamasu@gmail.com"
},
"records": {
"MX": ["mx1.forwardemail.net", "mx2.forwardemail.net"],
"TXT": [
"forward-email=youssefessamasu@gmail.com",
"v=spf1 a include:spf.forwardemail.net include:_spf.google.com -all"
]
}
}
+10
View File
@@ -0,0 +1,10 @@
{
"description": "1.is-a.dev",
"owner": {
"username": "i-am-is-a-dev",
"email": "lx737456@gmail.com"
},
"records": {
"A": ["89.106.200.1"]
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "syafiq-dev",
"email": "syafiq.dev@pm.me"
},
"records": {
"A": ["216.198.79.1"]
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "leopku",
"discord": "1168846640464019570"
},
"records": {
"URL": "https://www.himysql.com"
}
}
+11
View File
@@ -0,0 +1,11 @@
{
"description": "Email thingy",
"owner": {
"username": "QuinceTart10",
"discord": "862644161156218891"
},
"records": {
"MX": ["a8aacaa795f68ffd.mx1.emailprofi.seznam.cz", "a8aacaa795f68ffd.mx2.emailprofi.seznam.cz"],
"TXT": "v=spf1 include:spf.seznam.cz ~all"
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "FWEEaaaa1",
"email": "gorgonfweman@outlook.com"
},
"records": {
"A": ["128.204.223.115"]
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "FWEEaaaa1",
"email": "gorgonfweman@outlook.com"
},
"records": {
"A": ["128.204.223.115"]
}
}
@@ -0,0 +1,13 @@
{
"owner": {
"username": "BrianKN019",
"email": "briannkimemia@gmail.com"
},
"proxied": false,
"records": {
"TXT": [
"k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCr6KMgdxxgg7oT3ulMwPJs9RXgXDrI9UWU118pHEMohl3UbL3Jwp4oxp/9N3thh/3WCJnYV134zbEVolZwqaT3JsFEq/mQ/RpW/JnOZ3rnxqJPurb2bcfJol4SDxiWVObzHX31xnANzFcXnq1/5dMK5QvW4Jh7n0fm4+4ywqiy2QIDAQAB"
]
}
}
-13
View File
@@ -1,13 +0,0 @@
{
"description": "redirects to my website",
"repo": "https://github.com/18o4/18o4.github.io",
"owner": {
"username": "18o4",
"email": "",
"discord": "18O4#4350",
"discordUserID": "279894305630453760"
},
"record": {
"URL": "https://18o4.tk"
}
}
@@ -0,0 +1,13 @@
{
"owner": {
"username": "BrianKN019",
"email": "briannkimemia@gmail.com"
},
"proxied": false,
"records": {
"TXT": [
"k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCiNMCaVZh6WwO+RP1NR8f7ce0A0riKZflZAcweAbuEe21uCBT32aZp19gyX9P0yu4X8yVQ3UmQfdfeuvFw240/QtHtDWIzjIQJFu2yiGtNcSz1uuJL4K84n2kMQm6G7C1rA6jfDY0yj4Fr26tgKpEmq7oVH+8V0JYDSmxFr9GcQQIDAQAB"
]
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "1b7e",
"email": "nulldate4@gmail.com"
},
"records": {
"A": ["216.198.79.1"]
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "1ndrajeet",
"email": "omkar.kulkarni.3174@gmail.com"
},
"records": {
"CNAME": "1ndrajeet.vercel.app"
}
}
-11
View File
@@ -1,11 +0,0 @@
{
"description": "Applying for an is-a.dev domain on behalf of my friend so he can use one.",
"repo": "https://github.com/EndingPencil/EndingPencil.github.io",
"owner": {
"username": "EndingPencil",
"email": "watsonsohil@gmail.com"
},
"record": {
"CNAME": "EndingPencil.github.io"
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "TheUselessCreator",
"email": "bot40games2@gmail.com"
},
"records": {
"URL": "https://beeper.is-a.dev"
}
}
+10 -10
View File
@@ -1,10 +1,10 @@
{
"owner": {
"username": "2096779623",
"email": "2096779623@qq.com",
"telegram": "utermux_blog"
},
"record": {
"URL": "https://www.utermux.dev"
}
}
{
"owner": {
"username": "2096779623",
"email": "2096779623@qq.com",
"telegram": "utermux_blog"
},
"records": {
"URL": "https://www.utermux.dev"
}
}
+10
View File
@@ -0,0 +1,10 @@
{
"owner": {
"username": "21Z",
"discord": "780356848737058857"
},
"records": {
"MX": ["mx1.improvmx.com", "mx2.improvmx.com"],
"TXT": "v=spf1 include:spf.improvmx.com ~all"
}
}
+10
View File
@@ -0,0 +1,10 @@
{
"repo": "https://github.com/256javy/256javy.github.io",
"owner": {
"username": "256javy",
"email": "256javiervillalba@gmail.com"
},
"records": {
"CNAME": "256javy.github.io"
}
}
+10
View File
@@ -0,0 +1,10 @@
{
"owner": {
"username": "Nicholas-Tritsaris",
"email": "nicholas.tritsaris13@bk.ru"
},
"records": {
"TXT": "2a86ae1be926415180414c8d47d0173e"
},
"proxied": false
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "2giosangmitom",
"email": "2giosangmitom@gmail.com"
},
"records": {
"CNAME": "2giosangmitom.github.io"
}
}
+8
View File
@@ -0,0 +1,8 @@
{
"owner": {
"username": "TTdznf"
},
"records": {
"CNAME": "twotoxportfolio.onrender.com"
}
}
+12
View File
@@ -0,0 +1,12 @@
{
"owner": {
"username": "dragsbruh",
"email": "dragsbruh@protonmail.com",
"discord": "781445370177126401",
"bluesky": "furina.is-a.dev"
},
"records": {
"URL": "https://furina.is-a.dev"
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "37cut",
"email": "cutt37@outlook.com"
},
"records": {
"URL": "https://cutt37.is-a.dev"
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "3geETR",
"email": "egemacun@gmail.com"
},
"records": {
"CNAME": "3geetr.github.io"
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "3lyly0",
"email": "3lyly00@gmail.com"
},
"records": {
"CNAME": "cname.vercel-dns.com"
}
}
+10
View File
@@ -0,0 +1,10 @@
{
"owner": {
"username": "amrkakashi",
"email": "93amr.kakashi@gmail.com"
},
"records": {
"A": ["216.198.79.1"]
}
}
+10 -11
View File
@@ -1,11 +1,10 @@
{
"description": "3pls0de.is-a.dev.",
"repo": "https://github.com/3pls0de",
"owner": {
"username": "3pls0de",
"email": "naji.aka58@gmail.com"
},
"record": {
"URL": "https://lostpipel.blogspot.com"
}
}
{
"description": "3pls0de.is-a.dev.",
"owner": {
"username": "3pls0de",
"email": "naji.aka58@gmail.com"
},
"records": {
"URL": "https://lostpipel.blogspot.com"
}
}
+23
View File
@@ -0,0 +1,23 @@
{
"owner": {
"username": "LonelyGuy12",
"email": "me@4.is-a.dev",
"discord": "886120777630486538"
},
"records": {
"MX": [
{
"target": "mx1.improvmx.com",
"priority": 10
},
{
"target": "mx2.improvmx.com",
"priority": 20
}
],
"TXT": [
"v=spf1 include:spf.improvmx.com ~all"
],
"URL": "https://lonely.is-a.dev"
}
}
+8
View File
@@ -0,0 +1,8 @@
{
"owner": {
"username": "audtjddld"
},
"records": {
"CNAME": "audtjddld.github.io"
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "9xN",
"email": "0@fbi.ac"
},
"records": {
"CNAME": "9xn.github.io"
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "45i",
"email": "sayakpalit61@gmail.com"
},
"records": {
"CNAME": "45i.github.io"
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "4f4d",
"email": "omchoubey297@gmail.com"
},
"records": {
"CNAME": "4f4d.pages.dev"
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "ahmetunsal",
"email": "web.unsalahmet@gmail.com"
},
"records": {
"A": ["76.76.21.21"]
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "Dong-gi",
"email": "hi.donggi@gmail.com"
},
"records": {
"A": ["167.234.218.7"]
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "Akshay-Arjun",
"email": "akshayvollala779@gmail.com"
},
"records": {
"URL": "https://akshay-arjun.github.io/Akshay-Arjun"
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "4realwilly",
"email": "wholley123@icloud.com"
},
"records": {
"CNAME": "my-website-9et.pages.dev"
}
}
+11
View File
@@ -0,0 +1,11 @@
{
"description": "Personal cybersecurity portfolio",
"owner": {
"repo": "https://github.com/4thul-505/4thul-505.github.io",
"email": "athuljos505@proton.me",
"username": "4thul-505"
},
"records": {
"CNAME": "4thul-505.github.io"
}
}
Loaded 100 of 15045 files, more files were not shown because too many files have changed in this diff. Show more