mirror of
https://github.com/tiennm99/is-a-dev.git
synced 2026-10-12 18:16:23 +00:00
Merge branch 'main' into dns-patch-branch
This commit is contained in:
15325 files changed
+116305
-27041
No files matched your search
@@ -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,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]
|
||||
}
|
||||
}
|
||||
+5
-5
@@ -1,7 +1,7 @@
|
||||
* @phenax
|
||||
|
||||
/.github/ @wdhdev
|
||||
/.github/CODEOWNERS @phenax
|
||||
* @wdhdev
|
||||
|
||||
/domains/ @is-a-dev/maintainers
|
||||
*.md @is-a-dev/maintainers
|
||||
|
||||
*.md @is-a-dev/team
|
||||
TERMS_OF_SERVICE.md @wdhdev
|
||||
/util/reserved.json @is-a-dev/team
|
||||
@@ -1,2 +0,0 @@
|
||||
custom: ["https://www.paypal.me/phenax", "https://www.buymeacoffee.com/phenax"]
|
||||
liberapay: phenax
|
||||
@@ -1,9 +1,8 @@
|
||||
---
|
||||
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
|
||||
|
||||
@@ -1,9 +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
|
||||
|
||||
---
|
||||
|
||||
### Your question
|
||||
@@ -1,9 +1,8 @@
|
||||
---
|
||||
name: report-abuse
|
||||
about: Use this template to report abusive domains
|
||||
title: 'Report abuse'
|
||||
title: "Report abuse"
|
||||
labels: report-abuse
|
||||
|
||||
---
|
||||
|
||||
### Domain
|
||||
|
||||
@@ -1,9 +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?
|
||||
@@ -1,9 +1,8 @@
|
||||
---
|
||||
name: support
|
||||
about: Use this template if you need any support with your domain
|
||||
title: 'Support'
|
||||
title: "Support"
|
||||
labels: support
|
||||
|
||||
---
|
||||
|
||||
### Your subdomain
|
||||
|
||||
@@ -1,16 +1,21 @@
|
||||
<!-- Please complete this template so we can review your pull request faster. -->
|
||||
<!--
|
||||
YOU MUST FILL OUT THIS TEMPLATE FOR YOUR PR TO BE ACCEPTED!
|
||||
-->
|
||||
|
||||
## Requirements
|
||||
Unless explicitly specified otherwise by a **maintainer** or in the requirement description, your domain must pass **ALL** the indicated requirements above.
|
||||
# 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. -->
|
||||
|
||||
Please note that we reserve the rights not to accept any domain at our own discretion.
|
||||
- [ ] 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. -->
|
||||
|
||||
- [ ] The file is in the `domains` folder and is in the JSON format.
|
||||
- [ ] You have completed your website. <!-- This is not required if the domain you're registering is for emails. -->
|
||||
- [ ] The website is reachable. <!-- This is not required if the domain you're registering is for emails. -->
|
||||
- [ ] You're not using Vercel or Netlify. <!-- This is not required if you're using an URL record. -->
|
||||
- [ ] The CNAME record doesn't contain `https://` or `/`. <!-- This is not required if you are not using a CNAME record. -->
|
||||
- [ ] There is sufficient information at the `owner` field. <!-- You need to have your email presented at `email` field. If you don't want to provide your email for any reason, you can specify another social platform (e.g. Twitter) so we can contact you. -->
|
||||
# Website Preview
|
||||
<!-- Provide a link AND screenshot of your website below. if not provided your PR will be closed with no questions asked. -->
|
||||
|
||||
## Website Link/Preview
|
||||
<!-- Please provide a link or preview of your website below. -->
|
||||
# Website Purpose
|
||||
<!-- Please tell us the purpose or motive behind your website. For example, it is a portfolio website, etc. -->
|
||||
@@ -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.
|
||||
@@ -1,6 +0,0 @@
|
||||
domain:
|
||||
- domains/*.json
|
||||
|
||||
documentation:
|
||||
- ./*.md
|
||||
- ./**/*.md
|
||||
@@ -1,16 +0,0 @@
|
||||
name: Checks
|
||||
on: [pull_request, workflow_dispatch]
|
||||
|
||||
jobs:
|
||||
validation:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
fetch-depth: 0
|
||||
- uses: oven-sh/setup-bun@v1
|
||||
with:
|
||||
bun-version: latest
|
||||
- run: bun install
|
||||
- run: bun test
|
||||
@@ -0,0 +1,52 @@
|
||||
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 install
|
||||
|
||||
- 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 }}
|
||||
|
||||
- name: Run DNSControl tests
|
||||
if: github.event_name == 'pull_request' && contains(fromJson(env.CHANGED_FILES), 'dnsconfig.js')
|
||||
uses: is-a-dev/dnscontrol-action@main
|
||||
with:
|
||||
args: check
|
||||
|
||||
- name: Run tests
|
||||
run: npx ava tests/*.test.js --timeout=1m
|
||||
@@ -0,0 +1,24 @@
|
||||
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: is-a-dev/dnscontrol-action@main
|
||||
with:
|
||||
args: check
|
||||
@@ -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
|
||||
@@ -1,30 +0,0 @@
|
||||
name: Publish records
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
publish:
|
||||
if: github.repository == 'is-a-dev/register'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: oven-sh/setup-bun@v1
|
||||
with:
|
||||
bun-version: latest
|
||||
- run: bun install
|
||||
- run: bun test
|
||||
- name: Publishing records
|
||||
env:
|
||||
CI: 1
|
||||
NODE_ENV: production
|
||||
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 }}
|
||||
run: bun run publish-records
|
||||
@@ -0,0 +1,32 @@
|
||||
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
|
||||
|
||||
- name: Generate creds.json
|
||||
run: echo '{"cloudflare":{"TYPE":"CLOUDFLAREAPI","apitoken":"$CLOUDFLARE_API_TOKEN"}}' > ./creds.json
|
||||
|
||||
- name: Push DNS records
|
||||
uses: is-a-dev/dnscontrol-action@main
|
||||
env:
|
||||
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
||||
with:
|
||||
args: push
|
||||
@@ -6,6 +6,8 @@ on:
|
||||
paths:
|
||||
- "domains/*"
|
||||
- ".github/workflows/raw-api.yml"
|
||||
- "util/raw-api.js"
|
||||
- "util/reserved.json"
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
@@ -19,20 +21,17 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
repository: is-a-dev/raw-api
|
||||
path: raw-api
|
||||
token: ${{ secrets.BOT }}
|
||||
|
||||
- uses: actions/setup-node@v4
|
||||
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
||||
with:
|
||||
node-version: 20.x
|
||||
|
||||
- name: Update Data
|
||||
run: node raw-api/scripts/update.js
|
||||
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@main
|
||||
@@ -40,8 +39,7 @@ jobs:
|
||||
source-directory: "raw-api"
|
||||
destination-github-username: is-a-dev
|
||||
destination-repository-name: raw-api
|
||||
user-email: 106927495+is-a-dev-bot@users.noreply.github.com
|
||||
user-name: is-a-dev-bot
|
||||
commit-message: "Update Data via is-a-dev/register"
|
||||
user-email: "actions@github.com"
|
||||
user-name: "GitHub Actions"
|
||||
env:
|
||||
API_TOKEN_GITHUB: ${{ secrets.BOT }}
|
||||
+18
-17
@@ -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: 7
|
||||
days-before-close: 3
|
||||
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
-3
@@ -1,4 +1,134 @@
|
||||
node_modules/
|
||||
*.env.production
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
is-a-dev-cert/
|
||||
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
|
||||
+2
-1
@@ -4,8 +4,9 @@ This is a Code of Conduct for any interactions in this repository. This includes
|
||||
- **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).
|
||||
|
||||
## 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.
|
||||
|
||||
The abuse reports will be investigated and the necessary action will be taken.
|
||||
Abuse reports will be investigated and the necessary action will be taken.
|
||||
+2
-11
@@ -1,17 +1,8 @@
|
||||
# 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](https://github.com/is-a-dev/register/blob/main/CODE_OF_CONDUCT.md).
|
||||
|
||||
## Pull requests
|
||||
- Adding, changing or removing a domain file you own.
|
||||
- Fixing a bug in the scripts or CI.
|
||||
- Fix an error in the documentation.
|
||||
|
||||
#### Domains
|
||||
- Your pull request will be reviewed and merged into `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`.
|
||||
|
||||
-22
@@ -1,22 +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 apt-get install -y unzip
|
||||
|
||||
RUN bash -c "curl -fsSL https://bun.sh/install | bash -s 'bun-v1.0.15'"
|
||||
|
||||
RUN ~/.bun/bin/bun -v
|
||||
|
||||
WORKDIR /opt/app
|
||||
|
||||
COPY bun.lockb .
|
||||
COPY package.json .
|
||||
|
||||
RUN ~/.bun/bin/bun install
|
||||
|
||||
CMD ["sh", "-c", "cp -r node_modules code; cd code; tail -f /dev/null"]
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
# is-a.dev Team
|
||||
| Name | GitHub | Role |
|
||||
|:-:|-|-|
|
||||
| Akshay | [@phenax](https://github.com/phenax) | Owner |
|
||||
| William | [@wdhdev](https://github.com/wdhdev) | Admin |
|
||||
| CuteDog5695 | [@CuteDog5695](https://github.com/CuteDog5695) | Maintainer |
|
||||
| Daniel | [@hackermondev](https://github.com/hackermondev) | Maintainer |
|
||||
| DIBSTER | [@DEV-DIBSTER](https://github.com/DEV-DIBSTER) | Maintainer |
|
||||
| Mahir | [@mtgsquad](https://github.com/mtgsquad) | Maintainer |
|
||||
| Om | [@TerraPlayz](https://github.com/TerraPlayz) | Maintainer |
|
||||
| Stef | [@Stef-00012](https://github.com/Stef-00012) | Maintainer |
|
||||
@@ -1,51 +1,55 @@
|
||||
<!-- <p align="center">
|
||||
<img alt="is-a.dev Banner" src="https://raw.githubusercontent.com/is-a-dev/register/main/media/banner.png">
|
||||
</p> -->
|
||||
|
||||
<p align="center">
|
||||
<img alt="is-a-dev Banner" src="https://raw.githubusercontent.com/is-a-dev/register/main/media/banner.png">
|
||||
<img height="350" alt="is-a.dev Banner" src="https://raw.githubusercontent.com/is-a-dev/register/main/media/banner.png">
|
||||
</p>
|
||||
|
||||
<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>
|
||||
|
||||
<h1 align="center">is-a.dev</h1>
|
||||
|
||||
<p align="center"><strong>is-a-dev</strong> is a service that allows developers to get a sweet-looking ".is-a.dev" domain for their personal websites.</p>
|
||||
<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>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://discord.gg/is-a-dev-830872854677422150"><img alt="Discord Server" src="https://invidget.switchblade.xyz/is-a-dev-830872854677422150"></a>
|
||||
</p>
|
||||
---
|
||||
|
||||
## Issues
|
||||
If you have any problems, feel free to [open a issue](https://github.com/is-a-dev/register/issues/new/choose).
|
||||
## Announcements
|
||||
Please join our [Discord server](https://discord.gg/is-a-dev-830872854677422150) for announcements, service updates, and downtime notifications regarding the service.
|
||||
|
||||
If you have an issue that contains confidental infomation, send an email to security@maintainers.is-a.dev.
|
||||
Not all announcements are posted on GitHub[^1], however they will always be posted in our Discord server.
|
||||
|
||||
## Register
|
||||
[^1]: We only post announcements on GitHub in the case of a serious incident, which you'll see at the top of this README.
|
||||
|
||||
### Manual Registration
|
||||
- [Fork](https://github.com/is-a-dev/register/fork) this repository.
|
||||
- Add a new file called `your-domain-name.json` in the `domains` folder to register `your-domain-name.is-a.dev`.
|
||||
- [Read the documentation](https://www.is-a.dev/docs).
|
||||
- Your pull request will be reviewed and merged. *Make sure to keep an eye on it incase we need you to make any changes!*
|
||||
- After the pull request is merged, please allow up to 24 hours for the changes to propagate.
|
||||
- Enjoy your new `.is-a.dev` domain!
|
||||
# Register
|
||||
> If you want a visual guide, check out [this blog post](https://blog.wharrison.com.au/2024/07/is-a-dev/).
|
||||
|
||||
### Automated Registration
|
||||
#### *When using the manage site, please ensure your records are valid. Please do NOT "test" out the manage site and create invalid PRs, it wastes maintainers' time.*
|
||||
- [Fork](https://github.com/is-a-dev/register/fork) the repository.
|
||||
- Follow the instructions on our [documentation](https://docs.is-a.dev).
|
||||
- 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!
|
||||
|
||||
Easiest method: Use the [manage website](https://manage.is-a.dev), sign in with your GitHub account and click the register page in the navbar. Fill out some questions and it will all happen automatically!
|
||||
## Spam Pull Requests
|
||||
With the recent rising of invalid PRs, including PRs generated with AI, we reserve the right to:
|
||||
|
||||
Another method is to join our [Discord server](https://discord.gg/PZCGHz4RhQ), head to the commands channel and run `/register`. The bot will ask you a few questions then will generate your PR and domain automatically. The bot also allows for domain deletion and editing.
|
||||
- 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.
|
||||
|
||||
## Status
|
||||
You can check the uptime of our services on our [status dashboard](https://is-a-dev.wdh.gg).
|
||||
## 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.
|
||||
|
||||
### Donate
|
||||
If you like this project, please consider donating so we can keep this project running forever!
|
||||
---
|
||||
|
||||
<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"></a>
|
||||
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
|
||||
If you want to find services similar to is-a.dev, take a look on [Free For Life](https://github.com/wdhdev/free-for-life#domains).
|
||||
<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>
|
||||
+1
-3
@@ -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 repository.
|
||||
|
||||
However, for **higher severity vulnerabilities and bugs**, please email security@maintainers.is-a.dev.
|
||||
Please report all vulnerabilities to admin@is-a.dev.
|
||||
@@ -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.
|
||||
-15
@@ -1,15 +0,0 @@
|
||||
{ nixpkgs ? import <nixpkgs> {} }:
|
||||
let
|
||||
inherit (nixpkgs) pkgs;
|
||||
|
||||
nixPackages = with pkgs; [
|
||||
yarn
|
||||
docker-compose
|
||||
dnsutils
|
||||
bun
|
||||
];
|
||||
in
|
||||
pkgs.stdenv.mkDerivation {
|
||||
name = "env";
|
||||
buildInputs = nixPackages;
|
||||
}
|
||||
+170
@@ -0,0 +1,170 @@
|
||||
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"),
|
||||
IGNORE("ns[1-4]", "A,AAAA")
|
||||
];
|
||||
|
||||
var internal = require("./util/internal.json");
|
||||
|
||||
internal.forEach(function(subdomain) {
|
||||
ignored.push(IGNORE(subdomain, "*"));
|
||||
});
|
||||
|
||||
D(domainName, registrar, dnsProvider, records, ignored);
|
||||
@@ -1,8 +0,0 @@
|
||||
version: '3'
|
||||
services:
|
||||
dev:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: ./Dockerfile
|
||||
volumes:
|
||||
- ./:/opt/app/code
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "FWEEaaaa1",
|
||||
"email": "gorgonfweman@outlook.com"
|
||||
},
|
||||
"records": {
|
||||
"A": ["216.198.79.1"]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "S4IL21",
|
||||
"email": "s4il.is.a.dev@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "s4il21.github.io"
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -3,7 +3,7 @@
|
||||
"username": "Rayrsn",
|
||||
"email": "rayrsn@proton.me"
|
||||
},
|
||||
"record": {
|
||||
"URL": "https://rayr.link"
|
||||
"records": {
|
||||
"URL": "https://rayrsn.me/"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "benzenma123",
|
||||
"email": "haidangchauduc@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "benzenma123.github.io"
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "FWEEaaaa1",
|
||||
"email": "gorgonfweman@outlook.com"
|
||||
},
|
||||
"records": {
|
||||
"A": ["128.204.223.115"]
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -3,7 +3,7 @@
|
||||
"username": "Rayrsn",
|
||||
"email": "rayrsn@proton.me"
|
||||
},
|
||||
"record": {
|
||||
"URL": "https://rayr.link"
|
||||
"records": {
|
||||
"URL": "https://rayrsn.me/"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "010101-sans",
|
||||
"email": "010101sansdev@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "010101-sans.github.io"
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "iamxani",
|
||||
"email": "xenpei11@gmail.com"
|
||||
},
|
||||
"record": {
|
||||
"CNAME": "iamxani.github.io"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "Rudransh-K999"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "rudransh-k999.github.io"
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"description": "0ad.is-a.dev",
|
||||
"owner": {
|
||||
"username": "broduer40",
|
||||
"email": "broduer@aogamers.net",
|
||||
"discord": "[AoG+] Broduer#0331"
|
||||
},
|
||||
"record": {
|
||||
"URL": "https://play0ad.com"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "0d4vid",
|
||||
"email": "nonagnidavid@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "0d4vid.github.io"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "0spol",
|
||||
"email": "gaparicio368@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "0spol.github.io"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "SkyExploreWasTaken",
|
||||
"discord": "1049263707177353247"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "edge.redirect.pizza"
|
||||
}
|
||||
}
|
||||
+4
-8
@@ -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"]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "barnz2",
|
||||
"email": "b4rnzie@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "barnz2.github.io"
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "0x1026",
|
||||
"email": "me@hugovidafe.dev"
|
||||
},
|
||||
"record": {
|
||||
"URL": "https://hugovidafe.dev"
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "0x98c9",
|
||||
"email": "humayanalrosid3@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "0x98c9.pages.dev"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "amitgoesbrr",
|
||||
"email": "amitgoesbrr@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"A": ["216.198.79.1"]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "0xarchit",
|
||||
"email": "0xarchit@proton.me"
|
||||
},
|
||||
"records": {
|
||||
"NS": ["brenna.ns.cloudflare.com", "cartman.ns.cloudflare.com"]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "0xbitx",
|
||||
"email": "0xbit25125@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "0xbitx.github.io"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"description": "0xdwb",
|
||||
"repo": "https://github.com/frosimanuel/manuisadev",
|
||||
"owner": {
|
||||
"username": "frosimanuel"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "frosimanuel.github.io"
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "0xheartcode",
|
||||
"email": "0xheartcode@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "0xheartcode.github.io"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "0xio32",
|
||||
"email": "markus.probst@posteo.de"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "0xio32-is-a-dev.pages.dev"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "Jery0843",
|
||||
"email": "jeromeandrewk@proton.me"
|
||||
},
|
||||
"records": {
|
||||
"A": ["216.198.79.1"]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "0xkogami",
|
||||
"email": "wahresna@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "0xkogami.github.io"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"description": "Personal Portfolio Hosted on Netlify",
|
||||
"owner": {
|
||||
"username": "marufms4",
|
||||
"email": "marufsm4@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"A": ["75.2.60.5"]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "prathameshrp",
|
||||
"email": "prathamesh.math@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "prathameshrp.github.io"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "priyanshuthakare",
|
||||
"email": "anshulthakare83@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "priyanshuthakare.github.io"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "satyam-mishra-pce",
|
||||
"email": "satyam1308mishra@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "cname.vercel-dns.com"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "0xshijn",
|
||||
"email": "0xshiinnn@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "0xshijn.github.io"
|
||||
}
|
||||
}
|
||||
+1
-3
@@ -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"
|
||||
}
|
||||
}
|
||||
@@ -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"]
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -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"]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "leopku",
|
||||
"discord": "1168846640464019570"
|
||||
},
|
||||
"records": {
|
||||
"URL": "https://www.himysql.com"
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "FWEEaaaa1",
|
||||
"email": "gorgonfweman@outlook.com"
|
||||
},
|
||||
"records": {
|
||||
"A": ["128.204.223.115"]
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "BrianKN019",
|
||||
"email": "briannkimemia@gmail.com"
|
||||
},
|
||||
"proxied": false,
|
||||
"records": {
|
||||
"TXT": [
|
||||
"k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCiNMCaVZh6WwO+RP1NR8f7ce0A0riKZflZAcweAbuEe21uCBT32aZp19gyX9P0yu4X8yVQ3UmQfdfeuvFw240/QtHtDWIzjIQJFu2yiGtNcSz1uuJL4K84n2kMQm6G7C1rA6jfDY0yj4Fr26tgKpEmq7oVH+8V0JYDSmxFr9GcQQIDAQAB"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "1b7e",
|
||||
"email": "nulldate4@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"A": ["216.198.79.1"]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "1ndrajeet",
|
||||
"email": "omkar.kulkarni.3174@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "1ndrajeet.vercel.app"
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "TheUselessCreator",
|
||||
"email": "bot40games2@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"URL": "https://beeper.is-a.dev"
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "200anxy",
|
||||
"email": "aadarshnair.p@gmail.com"
|
||||
},
|
||||
"record": {
|
||||
"CNAME": "200anxy.github.io"
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "merakesh207",
|
||||
"email": "merakesh207@gmail.com"
|
||||
},
|
||||
"record": {
|
||||
"URL": "https://behance.net/merakesh207"
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
"email": "2096779623@qq.com",
|
||||
"telegram": "utermux_blog"
|
||||
},
|
||||
"record": {
|
||||
"records": {
|
||||
"URL": "https://www.utermux.dev"
|
||||
}
|
||||
}
|
||||
+8
-8
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "21Z",
|
||||
"email": "",
|
||||
"discord": "780356848737058857"
|
||||
},
|
||||
"record": {
|
||||
"CNAME": "21z.github.io"
|
||||
}
|
||||
"owner": {
|
||||
"username": "21Z",
|
||||
"discord": "780356848737058857"
|
||||
},
|
||||
"records": {
|
||||
"MX": ["mx1.improvmx.com", "mx2.improvmx.com"],
|
||||
"TXT": "v=spf1 include:spf.improvmx.com ~all"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"repo": "https://github.com/256javy/256javy.github.io",
|
||||
"owner": {
|
||||
"username": "256javy",
|
||||
"email": "256javiervillalba@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "256javy.github.io"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "Nicholas-Tritsaris",
|
||||
"email": "nicholas.tritsaris13@bk.ru"
|
||||
},
|
||||
"records": {
|
||||
"TXT": "2a86ae1be926415180414c8d47d0173e"
|
||||
},
|
||||
"proxied": false
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "PhoenixOrigin",
|
||||
"email": "phoenixorigin171@gmail.com"
|
||||
},
|
||||
"record": {
|
||||
"A": ["130.162.166.134"]
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "2giosangmitom",
|
||||
"email": "yeuxacucodon.dev@proton.me"
|
||||
},
|
||||
"record": {
|
||||
"CNAME": "2giosangmitom.github.io"
|
||||
}
|
||||
"owner": {
|
||||
"username": "2giosangmitom",
|
||||
"email": "2giosangmitom@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "2giosangmitom.github.io"
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
+1
-3
@@ -1,11 +1,9 @@
|
||||
{
|
||||
"description": "Url redirect to cutt37.is-a.dev",
|
||||
"repo": "https://github.com/37cut/37cut.github.io",
|
||||
"owner": {
|
||||
"username": "37cut",
|
||||
"email": "cutt37@outlook.com"
|
||||
},
|
||||
"record": {
|
||||
"records": {
|
||||
"URL": "https://cutt37.is-a.dev"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "3geETR",
|
||||
"email": "egemacun@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "3geetr.github.io"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "3lyly0",
|
||||
"email": "3lyly00@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "cname.vercel-dns.com"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "amrkakashi",
|
||||
"email": "93amr.kakashi@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"A": ["216.198.79.1"]
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,11 +1,10 @@
|
||||
{
|
||||
"description": "3pls0de.is-a.dev.",
|
||||
"repo": "https://github.com/3pls0de",
|
||||
"owner": {
|
||||
"username": "3pls0de",
|
||||
"email": "naji.aka58@gmail.com"
|
||||
},
|
||||
"record": {
|
||||
"records": {
|
||||
"URL": "https://lostpipel.blogspot.com"
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "4-m4t",
|
||||
"email": "e_serhat@hotmail.com"
|
||||
},
|
||||
"record": {
|
||||
"CNAME": "ambitious-flower-0b346cf0f.4.azurestaticapps.net"
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
+3
-5
@@ -1,10 +1,8 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "404Dev-404",
|
||||
"email": "anthonyvaldes318+404@gmail.com"
|
||||
"username": "audtjddld"
|
||||
},
|
||||
|
||||
"record": {
|
||||
"CNAME": "404dev-404.github.io"
|
||||
"records": {
|
||||
"CNAME": "audtjddld.github.io"
|
||||
}
|
||||
}
|
||||
+2
-4
@@ -1,11 +1,9 @@
|
||||
{
|
||||
"description": "44.is-a.dev",
|
||||
"repo": "https://github.com/9xN/9xN.github.io",
|
||||
"owner": {
|
||||
"username": "9xN",
|
||||
"email": "0@fbi.ac"
|
||||
},
|
||||
"record": {
|
||||
"CNAME": "9xN.github.io"
|
||||
"records": {
|
||||
"CNAME": "9xn.github.io"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "45i",
|
||||
"email": "sayakpalit61@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "45i.github.io"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "4f4d",
|
||||
"email": "omchoubey297@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "4f4d.pages.dev"
|
||||
}
|
||||
}
|
||||
Loaded 100 of 15325 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user