mirror of
https://github.com/tiennm99/is-a-dev.git
synced 2026-10-13 08:15:41 +00:00
Merge branch 'main' into main
This commit is contained in:
11280 files changed
+98766
-14874
No files matched your search
@@ -1,5 +0,0 @@
|
||||
DOMAIN_USER=username
|
||||
DOMAIN_API_KEY=apikey
|
||||
DOMAIN_API_HOST=api-example.com
|
||||
DOMAIN_API_PORT=2087
|
||||
DOMAIN_DOMAIN=example.com
|
||||
@@ -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]
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
* @phenax
|
||||
* @wdhdev
|
||||
|
||||
domains/ @is-a-dev/maintainers
|
||||
/domains/ @is-a-dev/maintainers
|
||||
*.md @is-a-dev/maintainers
|
||||
@@ -1,2 +0,0 @@
|
||||
custom: ["https://www.paypal.me/phenax", "https://www.buymeacoffee.com/phenax"]
|
||||
liberapay: phenax
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -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 -->
|
||||
@@ -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?
|
||||
@@ -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
|
||||
@@ -0,0 +1,18 @@
|
||||
<!--
|
||||
YOU MUST FILL OUT THIS TEMPLATE FOR YOUR PR TO BE ACCEPTED!
|
||||
-->
|
||||
|
||||
# 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. -->
|
||||
@@ -1,6 +0,0 @@
|
||||
domain:
|
||||
- domains/*.json
|
||||
|
||||
documentation:
|
||||
- ./*.md
|
||||
- ./**/*.md
|
||||
@@ -1,24 +0,0 @@
|
||||
name: Helper
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types:
|
||||
- closed
|
||||
|
||||
jobs:
|
||||
instructions:
|
||||
name: instructions
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- 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);
|
||||
@@ -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
|
||||
@@ -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@v4
|
||||
|
||||
- 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@v4
|
||||
|
||||
- uses: is-a-dev/dnscontrol-action@main
|
||||
with:
|
||||
args: check
|
||||
@@ -1,13 +0,0 @@
|
||||
name: Label
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 * * * *"
|
||||
|
||||
jobs:
|
||||
label:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Labelling pull request
|
||||
uses: actions/labeler@main
|
||||
with:
|
||||
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
@@ -1,33 +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 }}
|
||||
uses: borales/actions-yarn@v2.0.0
|
||||
with:
|
||||
cmd: 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@v4
|
||||
|
||||
- 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
|
||||
@@ -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@v4
|
||||
|
||||
- uses: actions/setup-node@v4
|
||||
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@main
|
||||
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
@@ -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 PR 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@v3
|
||||
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
@@ -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
|
||||
+9
-7
@@ -1,10 +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 pretty URL for their personal websites.
|
||||
* **No Wrongful Uses Of The Service** - Do not use this site as a way, to promote hacking, cheating, committing fraud, and other illegal activites.
|
||||
*(cheating isn't illegal but it is still considered abuse of this service)*
|
||||
- **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
@@ -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.
|
||||
* Currently, the publishing of records is done manually. This will be automated soon with releases.
|
||||
* 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
@@ -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"]
|
||||
|
||||
@@ -1,50 +1,48 @@
|
||||

|
||||
<!-- <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 Octoverse 2025 Banner" src="https://raw.githubusercontent.com/is-a-dev/register/main/media/octoverse-2025/is-a-dev_register_1200x630.jpg">
|
||||
</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>
|
||||
|
||||
<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>
|
||||
|
||||
## How do I register?
|
||||
* Fork this project
|
||||
* Add a new `domains/your-domain-name.json` file directory to register `your-domain-name.is-a.dev`
|
||||
* [Read the docs](./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
|
||||
---
|
||||
|
||||
## Announcements
|
||||
Please join our [Discord server](https://discord.gg/is-a-dev-830872854677422150) for announcements, service updates, and downtime notifications regarding the service.
|
||||
|
||||
Not all announcements are posted on GitHub[^1], however they will always be posted in our Discord server.
|
||||
|
||||
## Donations
|
||||
This project is a free and open source service for developers and will stay that way.
|
||||
[^1]: We only post announcements on GitHub in the case of a serious incident, which you'll see at the top of this README.
|
||||
|
||||
Please consider donating to help me keep this running forever!
|
||||
# Register
|
||||
> If you want a visual guide, check out [this blog post](https://blog.wharrison.com.au/2024/07/is-a-dev/).
|
||||
|
||||
<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>
|
||||
- [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!
|
||||
|
||||
## Report Abuse
|
||||
If you find any subdomains being abused or breaking our TOS, 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)
|
||||
* [thedev.id](https://github.com/fransallen/thedev.id)
|
||||
* [runs-on.tech](https://github.com/aakhilv/runs-on.tech)
|
||||
|
||||
|
||||
|
||||
## Uptime
|
||||
|
||||

|
||||

|
||||
|
||||
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
@@ -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 security@is-a.dev.
|
||||
@@ -0,0 +1,83 @@
|
||||
# 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 support@is-a.dev.
|
||||
|
||||
**Last Updated**: 27th October, 2025
|
||||
|
||||
## 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 is-a.dev.
|
||||
|
||||
## 2. Eligibility
|
||||
To use is-a.dev, you must:
|
||||
|
||||
1. Be at least 13 years old;
|
||||
2. Be an individual or non-commercial project;
|
||||
3. Use the service for lawful purposes only;
|
||||
4. Provide accurate and truthful information when registering.
|
||||
|
||||
All subdomains must be registered to an individual GitHub account, organisations may not be the registered owner of a subdomain.
|
||||
|
||||
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 and non-commercial projects.
|
||||
|
||||
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. Infringe third-party rights
|
||||
8. Commercial, for-profit or political purposes
|
||||
9. Unsolicited communications
|
||||
10. Cryptocurrency and blockchain mining
|
||||
11. Abusive automation
|
||||
12. Proxy or VPN services
|
||||
|
||||
*Note: This list is not extensive 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. 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 third-party rights.
|
||||
|
||||
You grant us permission to use your registration data to operate the service.
|
||||
|
||||
## 6. Termination of Service
|
||||
We reserve the right to terminate your subdomain at any time, for any reason.
|
||||
|
||||
Termination may occur without prior notice. Any donations will not be refunded.
|
||||
|
||||
## 7. Privacy
|
||||
For privacy-related inquiries, please contact us at support@is-a.dev. We are not responsible for any data or privacy breaches resulting from the use of our service.
|
||||
|
||||
We do not collect or process personal data beyond what is necessary to operate the service.
|
||||
|
||||
## 8. 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.
|
||||
|
||||
## 9. 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.
|
||||
|
||||
## 10. Governing Law and Jurisdiction
|
||||
These Terms are governed by the laws of Australia.
|
||||
|
||||
## 11. 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
@@ -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;
|
||||
}
|
||||
+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
|
||||
@@ -1,10 +0,0 @@
|
||||
# How to register
|
||||
You can read the [domains.json file api reference](./domains-json.md) for more information about the json file structure.
|
||||
|
||||
### Websites hosted at
|
||||
* [For github pages users](./hosted-at/github-pages.md)
|
||||
* [For hashnode blogs](./hosted-at/hashnode.md)
|
||||
* [For other services](./hosted-at/others.md)
|
||||
|
||||
### Vercel & Netlify Note
|
||||
You will encounter an SSL certificate issue when using Vercel and Netlify. Neither service will work with our domains. It is recommend to use [Github Pages](https://github.com/is-a-dev/register/blob/add-hosting-warning/docs/hosted-at/github-pages.md) or [Railway](https://railway.app/) instead.
|
||||
@@ -1,113 +0,0 @@
|
||||
# Domains json file
|
||||
The way you register your own domain name is through a pull request.
|
||||
To register `my-domain.is-a.dev`, you need to create a `domains/my-domain.json` file
|
||||
|
||||
### Filename
|
||||
The file name must pass the following criteria -
|
||||
|
||||
> NOTE: You can use `.` (dots) in your file name (for registering `blog.mysubdomain.is-a.dev`) but each of the following criteria must be valid for all part of your subdomain
|
||||
|
||||
* Must be alpha-numeric in lowercase with dashes as seperators
|
||||
* Must be more than 2 characters long
|
||||
* Must have a `.json` file extension
|
||||
|
||||
|
||||
The file needs to have the following fields -
|
||||
|
||||
### owner (required)
|
||||
You need to specify some information about yourself here.
|
||||
This is so that you can be contacted if required.
|
||||
|
||||
In the owner object, the fields `username` and `email` are required. You can however add more information in this object if you need.
|
||||
```json
|
||||
{
|
||||
"owner": {
|
||||
"username": "github-username",
|
||||
"email": "any@email"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
If you don't wish to share your email address here, please share your twitter, discord or any other social media account.
|
||||
```json
|
||||
{
|
||||
"owner": {
|
||||
"username": "github-username",
|
||||
"email": "",
|
||||
"twitter": "twitter-handle"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
### description
|
||||
Describe your domain name and your usage. This is purely for documentation purpose and is optional.
|
||||
|
||||
|
||||
### repo
|
||||
This is a link to your website repository or your github account. This is purely for documentation purpose and is optional.
|
||||
|
||||
|
||||
### record (required)
|
||||
This is where you specify the DNS records you wish to use.
|
||||
|
||||
The supported record types are: `CNAME`, `A`, `URL`, `MX` and `TXT`
|
||||
|
||||
Here's a few different use cases for the given record types -
|
||||
|
||||
* **CNAME**
|
||||
CNAME must be a host name (Eg - `something.tld`). CNAME cannot be used in conjunction with any other record types.
|
||||
```json
|
||||
{
|
||||
"record": {
|
||||
"CNAME": "username.github.io"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
* **A record**
|
||||
A record must be a list of ips
|
||||
```json
|
||||
{
|
||||
"record": {
|
||||
"A": [
|
||||
"999.999.991.999",
|
||||
"999.999.992.999",
|
||||
"999.999.993.999",
|
||||
"999.999.994.999"
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
* **URL redirection**
|
||||
```json
|
||||
{
|
||||
"record": {
|
||||
"URL": "https://my-other-website.com"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
* **MX**
|
||||
MX must be a list of host names
|
||||
```json
|
||||
{
|
||||
"record": {
|
||||
"MX": [
|
||||
"mx1.improvmx.com",
|
||||
"mx2.improvmx.com"
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
* **TXT**
|
||||
TXT can be any string value
|
||||
```json
|
||||
{
|
||||
"record": {
|
||||
"TXT": "hello world"
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -1,28 +0,0 @@
|
||||
# For github pages
|
||||
|
||||
### Creating a github pages repo
|
||||
You can create a github pages website by creating a repo with the name `<your-github-username>.github.io`.
|
||||
For more information about github pages, please read through [their guide](https://guides.github.com/features/pages/).
|
||||
|
||||
|
||||
### Domains file
|
||||
Create a json file inside the `domains` directory (`domains/<subdomain>.json`) with the following contents
|
||||
```json
|
||||
{
|
||||
"description": "Add some description",
|
||||
"repo": "https://github.com/github-username/github-username.github.io",
|
||||
"owner": {
|
||||
"username": "github-username",
|
||||
"email": "any@email",
|
||||
"twitter": "your-twitter-username"
|
||||
},
|
||||
"record": {
|
||||
"CNAME": "github-username.github.io"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Configuring your repo
|
||||
* After the pull request is merged, you will see a 404 error on `your-domain.is-a.dev`. To fix this go to your github page repo's `Settings > Github pages > Custom domain` and add `your-domain.is-a.dev` in the given field
|
||||
* Check the `Enforce HTTPS` checkbox below the custom domain input
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
When you create your Hashnode blog, hashnode provides a free **yourdomain.hashnode.dev** subdomain for you. However, you can set up your own **.is-a.dev** subdomain.
|
||||
|
||||
In this guide, you will learn how to accomplish this.
|
||||
|
||||
---
|
||||
|
||||
1. Log in to your Hashnode account.
|
||||
|
||||
2. Click on your **profile picture** at the bottom-left corner of the page on *desktop* screen or top-right corner on *mobile* screen.
|
||||
|
||||

|
||||
|
||||
3. Click on the **Blog Dashboard** option from the popup modal to access your blog's dashboard.
|
||||
|
||||

|
||||
|
||||
4. Navigate to the **DOMAIN** tab and enter your domain without the **www** or **https://** prefix in the text field provided. Then click on the **Update** button to proceed.
|
||||
|
||||

|
||||
|
||||
5. Go To Your Fork Of The `is-a-dev/register` repo, edit your subdomain's JSON file, make sure you remove any old records, then add this:
|
||||
```json
|
||||
"CNAME": "hashnode.network"
|
||||
```
|
||||
|
||||
Once Done, your hashnode blog is setup to use your subdomain, all you have to do is wait sometime for the DNS to propogate. These changes could take from 1 hour to around 48 hours, so please be patient, It'll most likely be ready within a hour.
|
||||
Enjoy Your Hashnode Blog, With Your Sweet `.is-a.dev` Subdomain! **If You Need More Help:** please read this support article on hashnode support: https://support.hashnode.com/docs/mapping-domain/, this should help you more, if you need more help related to [Hashnode](https://hashnode.com), then please visit the [Hashnode Support Center](https://support.hashnode.com/). Remeber, is-a.dev has no links with hashnode, so please do not create issues on our github, saying that your hashnode blog is having issues, we simply will not respond to them.
|
||||
@@ -1,53 +0,0 @@
|
||||
# For other hosting services
|
||||
|
||||
### Domains file
|
||||
Create a json file inside the `domains` directory (`domains/<subdomain>.json`) with the following contents
|
||||
```json
|
||||
{
|
||||
"description": "Add some description",
|
||||
"repo": "https://github.com/github-username",
|
||||
"owner": {
|
||||
"username": "github-username",
|
||||
"email": "any@email"
|
||||
},
|
||||
"record": {}
|
||||
}
|
||||
```
|
||||
|
||||
### Record
|
||||
In your `record` key of the json file, you need to add one of the following -
|
||||
* CNAME record
|
||||
```json
|
||||
{
|
||||
"record": {
|
||||
"CNAME": "the-domain-you-own.com"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
* A records
|
||||
```json
|
||||
{
|
||||
"record": {
|
||||
"A": [
|
||||
"69.69.69.69",
|
||||
"69.69.69.70"
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
* URL redirection
|
||||
```json
|
||||
{
|
||||
"record": {
|
||||
"URL": "https://your-website.com"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Configuring your server
|
||||
After the pull request is merged, **configure your server** (apache, nginx, whatever) to work with `<subdomain>.is-a.dev`. If you are unsure how to configure your server, you can create an issue for support.
|
||||
|
||||
You should also, include `<subdomain>.is-a.dev` in your **ssl certificate** to get rid of certificate errors
|
||||
|
||||
@@ -1,72 +0,0 @@
|
||||
# Reviewing pull requests
|
||||
There are a few things you'll need to look out for when reviewing pull requests for domain registrations. This list is not exhaustive and will be updated.
|
||||
|
||||
---
|
||||
|
||||
### CI errors
|
||||
A lot of minor issues will be caught in the CI checks
|
||||
* JSON parsing issues
|
||||
* Schema issues
|
||||
|
||||
If the CI is failing, tag the user and comment on the pr.
|
||||
|
||||
---
|
||||
|
||||
### Contents of the website
|
||||
We need to make sure that the contents being hosted via the record being registered is not used for malicious purposes.
|
||||
To do this, we must try our best to verify the contents of website and if required ask some questions regarding the contents in the PR.
|
||||
|
||||
---
|
||||
|
||||
### Invalid email/social link
|
||||
A way to contact the user is important in case we need to inform the users of some changes to the project.
|
||||
Confirm if the email looks valid or the social user name/link works.
|
||||
The user should have either an email or a valid social link.
|
||||
|
||||
❌ `"owner": { "username": "gh-username" }` is invalid as it doesn't contain an email or any social links
|
||||
|
||||
❌ `"email": "28372878+user-name@users.noreply.github.com"` is invalid as the email cannot be used
|
||||
|
||||
✅ `"owner": { "username": "phenax", "twitter": "twitter-username" }` is valid as it contains a social link
|
||||
|
||||
✅ `"owner": { "username": "phenax", "email": "email@gmail.com" }` is valid as it contains an email
|
||||
|
||||
---
|
||||
|
||||
### Invalid CNAME
|
||||
CNAME has to be a hostname. Something like `example.com`.
|
||||
|
||||
❌ `http://example.com` is invalid as it contains a protocol `https://`
|
||||
|
||||
❌ `example.com/some/path` is invalid as it contains the path name `/some/path`
|
||||
|
||||
✅ `example.com` is valid as it is the hostname of the website
|
||||
|
||||
---
|
||||
|
||||
### Invalid A
|
||||
A record has to be an array of ips.
|
||||
|
||||
❌ `"A": "211.211.211.211"` is invalid as it must be an array
|
||||
|
||||
❌ `"A": ["example.com"]` is invalid as it is not an ip address
|
||||
|
||||
✅ `"A": ["211.211.211.211", "211.211.211.212"]` is valid as it is an array of ips
|
||||
|
||||
---
|
||||
|
||||
### Invalid URL
|
||||
The URL must have a protocol (`http://` or `https://`) and must be something like `https://example.com` or `https://example.com/some/path`.
|
||||
|
||||
❌ `example.com` is invalid as it doesn't contain the protocol
|
||||
|
||||
✅ `https://example.com/some/path` is valid as it contains a protocol
|
||||
|
||||
---
|
||||
|
||||
### Only one record type
|
||||
Earlier, is-a-dev used to allow for handling https redirections along with CNAME but the way we handle requests has changed since then.
|
||||
This is why a record file can only contain one record type. Either `CNAME` or `A` or `URL`.
|
||||
|
||||
❌ `"CNAME": "example.com", "URL": "https://something.com"` is invalid as it should only contain one type of record, either CNAME or URL.
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
# Publishing records
|
||||
> NOTE: This is only for maintainers with publishing access
|
||||
|
||||
Currently, the records are published using a manual github actions workflow.
|
||||
When all the PR's are merged and ready, go to `Actions > Publish records` and click on the `Run workflow` button to publish the merged records.
|
||||
|
||||
|
||||
|
||||
Sometimes it may log an error message while publishing saying some record(s) couldn't be published.
|
||||
Usually, the cause is related to some conflict while deleting and re-publishing.
|
||||
In those situations, running the workflow again will fix the issues.
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "S4IL21",
|
||||
"email": "s4il.is.a.dev@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "s4il21.github.io"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "Rayrsn",
|
||||
"email": "rayrsn@proton.me"
|
||||
},
|
||||
"records": {
|
||||
"URL": "https://rayrsn.me/"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "FWEEaaaa1",
|
||||
"email": "gorgonfweman@outlook.com"
|
||||
},
|
||||
"records": {
|
||||
"A": ["128.204.223.115"]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "Rayrsn",
|
||||
"email": "rayrsn@proton.me"
|
||||
},
|
||||
"records": {
|
||||
"URL": "https://rayrsn.me/"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "010101-sans",
|
||||
"email": "010101sansdev@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "010101-sans.github.io"
|
||||
}
|
||||
}
|
||||
@@ -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,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": "officialaritro",
|
||||
"email": "officialaritro204@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "cname.vercel-dns.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,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": "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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "nobuyaki",
|
||||
"email": "contact@0xviel.my.id",
|
||||
"discord": "445073800850046977"
|
||||
},
|
||||
"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": "joaawd",
|
||||
"email": "fmodeteam@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "jaycuh.github.io"
|
||||
}
|
||||
}
|
||||
@@ -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": "1ndrajeet",
|
||||
"email": "omkar.kulkarni.3174@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "1ndrajeet.vercel.app"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "1ypi",
|
||||
"email": "1ypi@proton.me"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "1ypi.github.io"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "TheUselessCreator",
|
||||
"email": "bot40games2@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"URL": "https://beeper.is-a.dev"
|
||||
}
|
||||
}
|
||||
+10
-10
@@ -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"
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
@@ -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,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "RaunakMandal",
|
||||
"email": "iamriju2000@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"TXT": "k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC5eTCgfTZyhQPPjhe2XLgXrtpj4MtiqBKdVv14XN+zvRT8Z+YCXPElsEVDwvLc91G8Lv4kZwgiLaINzeZjd8USQtgwaUx1QJnIeRyAvuq4kkAIFBAL5HsC4zqQAIzjCfAPrc3WhG7FYLZu76hpy3GbKZYAB+kBgTR+QRO79rvrbQIDAQAB"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "Nicholas-Tritsaris",
|
||||
"email": "nicholas.tritsaris13@bk.ru"
|
||||
},
|
||||
"records": {
|
||||
"TXT": "2a86ae1be926415180414c8d47d0173e"
|
||||
},
|
||||
"proxied": false
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "37cut",
|
||||
"email": "cutt37@outlook.com"
|
||||
},
|
||||
"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"]
|
||||
}
|
||||
|
||||
}
|
||||
+10
-11
@@ -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"
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "404Dev-404",
|
||||
"email": "anthonyvaldes318+404@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "404dev-404.github.io"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "9xN",
|
||||
"email": "0@fbi.ac"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "ahmetunsal",
|
||||
"email": "web.unsalahmet@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"A": ["76.76.21.21"]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "Dong-gi",
|
||||
"email": "hi.donggi@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"A": ["167.234.218.7"]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "Akshay-Arjun",
|
||||
"email": "akshayvollala779@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"URL": "https://akshay-arjun.github.io/Akshay-Arjun"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "4realwilly",
|
||||
"email": "wholley123@icloud.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "my-website-9et.pages.dev"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "iam-sigma",
|
||||
"email": "iamsigmaboy@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"A": ["216.198.79.1"]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "MullerIsabella",
|
||||
"email": "AlpineDreamer92@protonmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "suisse.onrender.com"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "harys722",
|
||||
"discord": "1203357768610746385",
|
||||
"email": "contact@harys.is-a.dev"
|
||||
},
|
||||
"records": {
|
||||
"TXT": "5a03e84df9fc4d9fa051a35c56b9d07b"
|
||||
}
|
||||
}
|
||||
Loaded 100 of 11280 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user