Merge branch 'main' into main

This commit is contained in:
William Harrison
2024-01-09 08:21:09 +08:00
committed by GitHub
23 changed files with 187 additions and 39 deletions
-26
View File
@@ -1,26 +0,0 @@
name: Helper
on:
pull_request:
types:
- closed
jobs:
instructions:
name: instructions
runs-on: ubuntu-latest
steps:
- run: curl https://notify-api.is-a.dev/pr/merged/${{ github.event.pull_request.number }}
if: github.event.action == 'closed' && github.event.pull_request.merged == true
# - uses: actions/checkout@v2
# - name: Comment
# if: github.event.action == 'closed' && github.event.pull_request.merged == true
# uses: actions/github-script@v3
# with:
# github-token: ${{secrets.GITHUB_TOKEN}}
# script: |
# const { hasLabel } = require(`${process.env.GITHUB_WORKSPACE}/scripts/action-utils.js`);
# const { instructions } = require(`${process.env.GITHUB_WORKSPACE}/scripts/reply.js`);
# if (hasLabel(context, 'domain'))
# console.log('Domain');
# await instructions(context, github);
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "jirafey",
"email": "jirafey@tuta.io"
},
"record": {
"TXT": "dh=3c80d94ed181b223255b5fbf35f8fda6a402058f"
}
}
@@ -5,6 +5,6 @@
},
"record": {
"CNAME": "dns.beadman-network.com"
"TXT": "2c9dfbe7c8"
}
}
@@ -0,0 +1,10 @@
{
"owner": {
"username": "is-a-dev",
"email": "phenax5@gmail.com"
},
"record": {
"TXT": "c551c059fb167540ec0498d9011556"
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "alijafari-gd",
"email": "ali.jafari.sn@gmail.com"
},
"record": {
"URL": "https://alijafari.is-a.dev"
}
}
+14
View File
@@ -0,0 +1,14 @@
{
"owner": {
"username": "aayank13",
"email": "aayank1306@gmail.com"
},
"record": {
"A": [
"217.174.245.249",
"51.161.54.161"
],
"MX": ["mail.is-a.dev"],
"TXT": "v=spf1 mx a:mail.is-a.dev ~all"
}
}
+14
View File
@@ -0,0 +1,14 @@
{
"owner": {
"username": "BachNgoH",
"email": "nlmbao2015@gmail.com"
},
"record": {
"A": [
"217.174.245.249",
"51.161.54.161"
],
"MX": ["mail.is-a.dev"],
"TXT": "v=spf1 mx a:mail.is-a.dev ~all"
}
}
+14
View File
@@ -0,0 +1,14 @@
{
"owner": {
"username": "alijafari-gd",
"email": "ali.jafari.sn@gmail.com"
},
"record": {
"A": [
"217.174.245.249",
"51.161.54.161"
],
"MX": ["mail.is-a.dev"],
"TXT": "v=spf1 mx a:mail.is-a.dev ~all"
}
}
+14
View File
@@ -0,0 +1,14 @@
{
"owner": {
"username": "Anubhav-Pathak",
"email": "anubhavpathak99@gmail.com"
},
"record": {
"A": [
"217.174.245.249",
"51.161.54.161"
],
"MX": ["mail.is-a.dev"],
"TXT": "v=spf1 mx a:mail.is-a.dev ~all"
}
}
+11
View File
@@ -0,0 +1,11 @@
{
"description": "blek is a dev",
"owner": {
"username": "b1ek",
"email": "me@blek.codes"
},
"record": {
"A": [ "185.130.226.115" ],
"AAAA": [ "2a05:b40:0:570:4563:92af:9a56:7fc8" ]
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "DarindaDraX",
"email": "123kishanvish@gmail.com"
},
"record": {
"A": ["69.30.249.53"]
}
}
+14
View File
@@ -0,0 +1,14 @@
{
"owner": {
"username": "dinuhifi",
"email": "dinesh23110077@snuchennai.edu.in"
},
"record": {
"A": [
"217.174.245.249",
"51.161.54.161"
],
"MX": ["mail.is-a.dev"],
"TXT": "v=spf1 mx a:mail.is-a.dev ~all"
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "xiaozhu2007",
"email": "lz19986912007@163.com"
},
"record": {
"CNAME": "hashnode.network"
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "vuthanhtrung2010",
"email": "vuthanhtrungsuper@gmail.com"
},
"record": {
"A": ["69.30.249.53"]
}
}
+1 -1
View File
@@ -1,6 +1,6 @@
{
"owner": {
"username": "Nikhil",
"username": "nikxso",
"email": "nikhilsoniya123@gmail.com",
"discord": "nikxso#0000"
},
+12
View File
@@ -0,0 +1,12 @@
{
"owner": {
"username": "saptarshihalder",
"email": "saptarshihalder69@gmail.com",
"discord": "747718545307336797"
},
"record": {
"CNAME": "saptarshihalder.github.io"
}
}
+1 -1
View File
@@ -6,6 +6,6 @@
"email": "pandeysiddhant21@gmail.com"
},
"record": {
"URL": "https://siddhantt.netlify.app"
"URL": "https://siddhantt.vercel.app/"
}
}
+1 -1
View File
@@ -4,6 +4,6 @@
"email": "vuthanhtrungsuper@gmail.com"
},
"record": {
"A": ["69.30.249.53"]
"CNAME": "manage.uptime.trung.is-a.dev"
}
}
+14
View File
@@ -0,0 +1,14 @@
{
"owner": {
"username": "cmdwm",
"email": "will@willm.xyz"
},
"record": {
"A": [
"217.174.245.249",
"51.161.54.161"
],
"MX": ["mail.is-a.dev"],
"TXT": "v=spf1 mx a:mail.is-a.dev ~all"
}
}
+14
View File
@@ -0,0 +1,14 @@
{
"owner": {
"username": "ZeaZolf",
"email": "ZeaZolfPc@gmail.com"
},
"record": {
"A": [
"217.174.245.249",
"51.161.54.161"
],
"MX": ["mail.is-a.dev"],
"TXT": "v=spf1 mx a:mail.is-a.dev ~all"
}
}
+1 -1
View File
@@ -15,7 +15,7 @@ const toHostList = R.chain(data => {
// URL redirection must contain explicit A record
// Wildcard A record breaks when used with MX
// Ref: https://github.com/is-a-dev/register/issues/2365
if (data.record.URL && data.record.MX || data.name === '@') {
if ((data.record.URL && data.record.MX) || data.name === '@') {
data.record.A = [ DOMAIN_HOST_IP ]
}
+2 -2
View File
@@ -12,7 +12,7 @@ describe('Cpanel client', () => {
describe('fetchzonerecords', () => {
it('should make the correct request', async () => {
const fetch = mockFetch((url, request) => {
expect(url).toBe('https://example.com:2000/json-api/cpanel?customonly=1&domain=a.b&cpanel_jsonapi_user=boy&cpanel_jsonapi_module=ZoneEdit&cpanel_jsonapi_func=fetchzone_records&cpanel_jsonapi_apiversion=2');
expect(url).toBe('https://example.com:2000/json-api/cpanel?customonly=0&domain=a.b&cpanel_jsonapi_user=boy&cpanel_jsonapi_module=ZoneEdit&cpanel_jsonapi_func=fetchzone_records&cpanel_jsonapi_apiversion=2');
expect(request).toEqual({
headers: {
Authorization: 'cpanel boy:boybyebye',
@@ -35,7 +35,7 @@ describe('Cpanel client', () => {
it('should make the correct request with query', async () => {
const fetch = mockFetch((url, request) => {
expect(url).toBe('https://example.com:2000/json-api/cpanel?customonly=1&domain=foobar.boeey&cpanel_jsonapi_user=boy&cpanel_jsonapi_module=ZoneEdit&cpanel_jsonapi_func=fetchzone_records&cpanel_jsonapi_apiversion=2');
expect(url).toBe('https://example.com:2000/json-api/cpanel?customonly=0&domain=foobar.boeey&cpanel_jsonapi_user=boy&cpanel_jsonapi_module=ZoneEdit&cpanel_jsonapi_func=fetchzone_records&cpanel_jsonapi_apiversion=2');
expect(request).toEqual({
headers: {
Authorization: 'cpanel boy:boybyebye',
+4 -6
View File
@@ -59,6 +59,9 @@ const recordToEmailMx = ({ name, address, priority }) => ({
const getHostKey = host =>
`${host.name.toLowerCase()}##${host.type.toLowerCase()}##${host.address.toLowerCase()}`;
const isReserved = (domain) =>
domain.name.startsWith('*') || !VALID_RECORD_TYPES.includes(domain.type)
const diffRecords = (oldRecords, newRecords) => {
const isMatchingRecord = (a, b) => getHostKey(a) === getHostKey(b);
@@ -84,13 +87,9 @@ const executeBatch = (batches) => batches.reduce((promise, batch, index) => {
});
}, Promise.resolve());
const isReserved = (domain) =>
domain.name.startsWith('*') ||
!VALID_RECORD_TYPES.includes(domain.type)
const getDomainService = ({ cpanel }) => {
const fetchZoneRecords = R.compose(
then(R.filter(R.complement(isReserved))),
then(R.reject(isReserved)),
then(R.map(zoneToRecord)),
cpanel.zone.fetch
);
@@ -134,7 +133,6 @@ const getDomainService = ({ cpanel }) => {
batchLazyTasks(BATCH_SIZE),
R.filter(Boolean),
R.map(R.cond([
[R.propEq('name', 'www'), R.always(null)], // Ignore www
[R.propEq('type', 'URL'), addRedirection],
[R.T, addZoneRecord],
])),