diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index c5c6654566..3747adddcd 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,9 +1,6 @@ -* @phenax +* @phenax @wdhdev /.github/ @wdhdev -/.github/CODEOWNERS @phenax @wdhdev - /domains/ @is-a-dev/maintainers @is-a-dev/trial-maintainers *.md @is-a-dev/maintainers -/MAINTAINERS.md @wdhdev diff --git a/README.md b/README.md index 53b5819ee4..388da51c35 100644 --- a/README.md +++ b/README.md @@ -23,20 +23,22 @@ If you would like to remove your email, remove it from your JSON file and provid Leave the email field there, but just blank. Then add a separate contact method to your file. -Please see more information here: https://github.com/is-a-dev/register/issues/14802 +Please see more information in issue https://github.com/is-a-dev/register/issues/14802. ## Issues If you have any problems, feel free to [open a issue](https://github.com/is-a-dev/register/issues/new/choose). -If you have an issue that contains confidental infomation, send an email to security@maintainers.is-a.dev. +If you have an issue that contains confidental infomation, send an email to security@m.is-a.dev. ## Register ### 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). +> If you want a more visual guide, check out [this blog post](https://wdh.gg/tX3ghge). + +- [Fork](https://github.com/is-a-dev/register/fork) and star 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. +- After the pull request is merged, please allow up to 24 hours for the changes to propagate - Enjoy your new `.is-a.dev` domain! ### Automated Registration diff --git a/SECURITY.md b/SECURITY.md index 048435cb9b..e6b236db72 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -3,4 +3,4 @@ ## 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. +However, for **higher severity vulnerabilities and bugs**, please email security@m.is-a.dev. diff --git a/domains/0.json b/domains/0.json new file mode 100644 index 0000000000..0e948dbeec --- /dev/null +++ b/domains/0.json @@ -0,0 +1,12 @@ +{ + "owner": { + "username": "PogMaster9001", + "email": "", + "discord": "1190052608346435597" + }, + + "record": { + "CNAME": "projectdevs.net" + } + } + diff --git a/domains/1.json b/domains/1.json new file mode 100644 index 0000000000..ccf0df6027 --- /dev/null +++ b/domains/1.json @@ -0,0 +1,10 @@ +{ + "description": "1.is-a.dev", + "owner": { + "username": "i-am-is-a-dev", + "email": "lx737456@gmail.com" + }, + "record": { + "A": ["89.106.200.1"] + } +} diff --git a/domains/1111.json b/domains/1111.json new file mode 100644 index 0000000000..0e948dbeec --- /dev/null +++ b/domains/1111.json @@ -0,0 +1,12 @@ +{ + "owner": { + "username": "PogMaster9001", + "email": "", + "discord": "1190052608346435597" + }, + + "record": { + "CNAME": "projectdevs.net" + } + } + diff --git a/domains/4217803c._improvmx.dhilipan.json b/domains/4217803c._improvmx.dhilipan.json new file mode 100644 index 0000000000..1308b6706d --- /dev/null +++ b/domains/4217803c._improvmx.dhilipan.json @@ -0,0 +1,13 @@ +{ + "owner": { + "username": "MysticalPvE", + "email": "", + "discord": "1229782675678826496", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.K-aVOrk2T-4Wp0VAaLx8W9V1QsToSmJJmlK-jJlb-Zzx6kpwvGMlemfsdLH4XQSksUlk6PD51_Mx7d83HzqgqiYb6zwx2-iSgfEn6fUKWlF09k1fWne_wS0sSjYiz6GluI6qNs9hh9buq19iGPVz9L16KWCvL0xnjQxBjVCiR0Q69p9Vaw3_5b7VEUnKQvomYkdbovZ2p10hzGmnrwtKkA0gboxJnqshcV-eUzav7LZJZOwbzoVPEODqdLbqCOlTBP4IJXNjkwKSNKsnQ6BorPydgmXNv4hCsuga3JKg2M438dLG9NK-H8U8Q4GHLk7sx797WY1EJ8AChvgojqX1Ag.OMEl4nD9pPVbIku9jIFcpA.qV3yol4qlMITrJUHTUtYxGLd7ARn8msshNlY6uMWmf8ZeIe7_RQdG-JV1f-rDEZLZX_FcDsE7c8kpOjy9ulW1uiFZW9lw-f0LEqywyLeZ94.K1K5YV-DWV_hIlL8X9l8jQ" + }, + + "record": { + "TXT": "4217803c2e3e461b9f07eb8be0320a79" + } + } + diff --git a/domains/6.json b/domains/6.json new file mode 100644 index 0000000000..d7c943095c --- /dev/null +++ b/domains/6.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "shockbs", + "email": "apipherng@gmail.com" + }, + "record": { + "URL": "https://shockbs.is-a.dev/" + } +} diff --git a/domains/69.json b/domains/69.json new file mode 100644 index 0000000000..239044d301 --- /dev/null +++ b/domains/69.json @@ -0,0 +1 @@ +{"owner":{"username":"maskduck","email":"","discord":"716134528409665586"},"record":{"CNAME":"maskduck.pages.dev"}} diff --git a/domains/7.json b/domains/7.json new file mode 100644 index 0000000000..1b96267839 --- /dev/null +++ b/domains/7.json @@ -0,0 +1,11 @@ +{ + "description": "7.is.a.dev why not", + "owner": { + "username": "JustDeveloper1", + "email": "justdeveloper@juststudio.is-a.dev", + "discord": "1117482901353812088" + }, + "record": { + "A": ["89.106.200.1"] + } +} diff --git a/domains/@.json b/domains/@.json index 36cd14e7be..4fe4c11334 100644 --- a/domains/@.json +++ b/domains/@.json @@ -2,8 +2,8 @@ "description": "The root domain for is-a.dev website", "repo": "https://github.com/is-a-dev/is-a-dev.github.io", "owner": { - "username": "phenax", - "email": "phenax5@gmail.com" + "username": "is-a-dev", + "email": "" }, "record": { "URL": "http://www.is-a.dev" diff --git a/domains/_discord.akatsuki2555.json b/domains/_discord.akatsuki2555.json new file mode 100644 index 0000000000..1169636d9b --- /dev/null +++ b/domains/_discord.akatsuki2555.json @@ -0,0 +1,10 @@ +{ + "owner": { + "username": "Akatsuki2555", + "email": "akatsuki2555@proton.me", + "discord": "1226900455037075509" + }, + "record": { + "TXT": "dh=30962b6c5cdbbd4629fdf0da9d0bf4c717f065e9" + } +} \ No newline at end of file diff --git a/domains/_discord.blue.json b/domains/_discord.blue.json new file mode 100644 index 0000000000..d83536f919 --- /dev/null +++ b/domains/_discord.blue.json @@ -0,0 +1,10 @@ +{ + "owner": { + "username": "B1ue-Dev", + "email": "b1uedev@outlook.com", + "twitter": "b1uedev" + }, + "record": { + "TXT": "dh=17587955722bcb2745e20304b98cb5cbda716054" + } +} diff --git a/domains/_discord.daamin.json b/domains/_discord.daamin.json new file mode 100644 index 0000000000..6b2e20a5a8 --- /dev/null +++ b/domains/_discord.daamin.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "Daamin909", + "email": "ashai.daamin@gmail.com" + }, + "record": { + "TXT": "dh=bc215d4445233c4ff76582ad1b83c8b277c2713e" + } +} diff --git a/domains/_discord.funn.json b/domains/_discord.funn.json new file mode 100644 index 0000000000..d89e44cc30 --- /dev/null +++ b/domains/_discord.funn.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "funnsam", + "email": "funnsam8@gmail.com" + }, + "record": { + "TXT": "dh=901b963730610d7e0f1d4f29c48658f871d6e71d" + } +} diff --git a/domains/_discord.hilight3r.json b/domains/_discord.hilight3r.json new file mode 100644 index 0000000000..a78cebdb3f --- /dev/null +++ b/domains/_discord.hilight3r.json @@ -0,0 +1,11 @@ +{ + "owner": { + "username": "HIlight3R", + "email": "", + "discord": "632272741000544259", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.lEEbmOZavCkur0apEhD0MigNx6rzV3Kqhd9_Lw4Wxt7U7b0rcV779rEFB1Fm4LdwKAVJJ8_MeDm1jf0y14lGqQotXsvYzRKOCBk5t7vLtS_541WkodNwOPbAUV_g2KBaq6MynjnwX5786OLkuRJE-QnxwflxQRQHtL76xYJV3d7UVmZk0ppSUxyCw5SdSXUp7zgoJiTE2JIshtR5dFULQCyH9QK7gVpNFJBwaoTJeoRsCOy_oYoXVhYysYhX94tubtwKzE4xSDmQW4UbOo8yLRNTIo-PkyuY6cBD4yYvueRcTAd_UChS12Y27QSFhQq78I7WLaE7u4cV060Th1fEmA.9kQc0tIg1PyfXJtKgbiBSQ.uFTPklnOgLBqnu-dg7ZsCEZ_QrMiuyiHY60IgI1X3CdE1kSQckWTdApOQF8AXTC0inYYfmSpfvzP02Rcgo3Z9vyrckWG_ZSJbmfKR2SOpeN_Cq94jwKAZQXW0U45LxB1.cYkl_VljmQbyvurLc7hF6Q" + }, + "record": { + "TXT": "dh=0d11368eef3be6f6195da6a3a1b55663a1bafb38" + } +} diff --git a/domains/_discord.jirafey.json b/domains/_discord.jirafey.json index 3d616f3b50..ca5092c755 100644 --- a/domains/_discord.jirafey.json +++ b/domains/_discord.jirafey.json @@ -1,7 +1,7 @@ { "owner": { "username": "jirafey", - "email": "jirafey@tuta.io" + "email": "e9282425-361f-427d-a3dd-249a564432b9@anonaddy.me" }, "record": { "TXT": "dh=3c80d94ed181b223255b5fbf35f8fda6a402058f" diff --git a/domains/_discord.justdeveloper.json b/domains/_discord.justdeveloper.json new file mode 100644 index 0000000000..fc8da2bd55 --- /dev/null +++ b/domains/_discord.justdeveloper.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "JustDeveloper1", + "email": "lk.qq@ya.ru" + }, + "record": { + "TXT": "dh=a468556178a0bac462fa84043545b67b982e7fe0" + } +} diff --git a/domains/_discord.juststudio.json b/domains/_discord.juststudio.json new file mode 100644 index 0000000000..0ad748f7a7 --- /dev/null +++ b/domains/_discord.juststudio.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "JustStudio7", + "email": "support@juststudio.is-a.dev" + }, + "record": { + "TXT": "dh=33f1a73c2f587fed7b0f3c03f18e1bf4591f8aec" + } +} diff --git a/domains/_discord.korrykatti.json b/domains/_discord.korrykatti.json new file mode 100644 index 0000000000..17edd09178 --- /dev/null +++ b/domains/_discord.korrykatti.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "korrykatti", + "email": "8nctvx7gi@mozmail.com" + }, + "record": { + "TXT": "dh=75cc1a7bea6d033882a519e2d3fb4dd85314d6ec" + } +} diff --git a/domains/_discord.linksrayan.json b/domains/_discord.linksrayan.json new file mode 100644 index 0000000000..f6a20e2ca2 --- /dev/null +++ b/domains/_discord.linksrayan.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "syedrayangames", + "email": "syedrayangames@gmail.com" + }, + "record": { + "TXT": "dh=9978fb189e392bec25b857297f914f34ef65ffb7" + } +} diff --git a/domains/_discord.meywy.json b/domains/_discord.meywy.json new file mode 100644 index 0000000000..c45f63440c --- /dev/null +++ b/domains/_discord.meywy.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "Meywy", + "email": "meywyy@gmail.com" + }, + "record": { + "TXT": "dh=67bbe9b7f65f85288f9235e79cde1dbab8dc825f" + } +} diff --git a/domains/_discord.mxritz.json b/domains/_discord.mxritz.json new file mode 100644 index 0000000000..82aaf865c9 --- /dev/null +++ b/domains/_discord.mxritz.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "Moritz-Deiaco", + "email": "moritz.deiaco@gmail.com" + }, + "record": { + "TXT": "dh=01795372b646a8a36087b00130313eda00b40928" + } +} diff --git a/domains/_discord.sewt.json b/domains/_discord.sewt.json new file mode 100644 index 0000000000..2ab351d094 --- /dev/null +++ b/domains/_discord.sewt.json @@ -0,0 +1,11 @@ +{ + "owner": { + "username": "SkyExploreWasTaken", + "email": "", + "discord": "1049263707177353247", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.JjnXMeB-5yChFwqeTjRtzK3S_0JshRprm7Ix_Yl-zlvBzrR4ZlVNljlNwz5hHd6RwuBC_y5QFA1wpuLY7J9tuvaW_ttJpnbU58UGV2JNs6yR0C6ZBp5S0XR7J0zKoloVPgoN9i4q8SOzJeBQCanVOFzX3d9haVlZxrZFInLbMybS8FegbUdzDuV6s6TB0gA8fpBWx29ftzsLfwVj96tO9gmB0cJAU-URofHxmMBDUCIXDELQdrlRl_sj4kjW3uIKus_lgN7GU55xIvErfpV2_NVZTiuPzOh5HcP7rwWHhDaeKvQL4HeKWxIlrqQhPtQHQTFTgJuh7MmJimD95ixgVg.fhYccie9reT4Mi7XAmEtZA.lNh66dK74iYl7grB--wq1yi-AEKzvkuN7TLOS75XwYxJskb4dSr8TUcM0Y5ZVfR27oMahE1_kerqZOZOtZW58ZFwqoFD0oCFaEm68nwTd3or3uBWcYbZk5ilghu8TpPN.zKRzlPiGTBfNQTbJkCbrGg" + }, + "record": { + "TXT": "dh=a34e8bb281bffd5d738efe81e189ab6ef231ebb5" + } +} diff --git a/domains/_discord.shy.json b/domains/_discord.shy.json new file mode 100644 index 0000000000..d06766437e --- /dev/null +++ b/domains/_discord.shy.json @@ -0,0 +1,10 @@ +{ + "owner": { + "username": "ImShyMike", + "email": "", + "discord": "582648583635992622" + }, + "record": { + "TXT": "dh=4277dadd7134f6e2ee439faf5377801a9eec7b2c" + } +} diff --git a/domains/_discord.xrap1dx.json b/domains/_discord.xrap1dx.json new file mode 100644 index 0000000000..ca3644d28a --- /dev/null +++ b/domains/_discord.xrap1dx.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "xrap1dx", + "email": "sirrapid155@gmail.com" + }, + "record": { + "TXT": "dh=5552cf7dcf2fec81360ac9ee4af0b0a674f1cd33" + } +} diff --git a/domains/_discord.z.json b/domains/_discord.z.json new file mode 100644 index 0000000000..278cf9fb8b --- /dev/null +++ b/domains/_discord.z.json @@ -0,0 +1,11 @@ +{ + "owner": { + "username": "SkyExploreWasTaken", + "email": "", + "discord": "1049263707177353247", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.JjnXMeB-5yChFwqeTjRtzK3S_0JshRprm7Ix_Yl-zlvBzrR4ZlVNljlNwz5hHd6RwuBC_y5QFA1wpuLY7J9tuvaW_ttJpnbU58UGV2JNs6yR0C6ZBp5S0XR7J0zKoloVPgoN9i4q8SOzJeBQCanVOFzX3d9haVlZxrZFInLbMybS8FegbUdzDuV6s6TB0gA8fpBWx29ftzsLfwVj96tO9gmB0cJAU-URofHxmMBDUCIXDELQdrlRl_sj4kjW3uIKus_lgN7GU55xIvErfpV2_NVZTiuPzOh5HcP7rwWHhDaeKvQL4HeKWxIlrqQhPtQHQTFTgJuh7MmJimD95ixgVg.fhYccie9reT4Mi7XAmEtZA.lNh66dK74iYl7grB--wq1yi-AEKzvkuN7TLOS75XwYxJskb4dSr8TUcM0Y5ZVfR27oMahE1_kerqZOZOtZW58ZFwqoFD0oCFaEm68nwTd3or3uBWcYbZk5ilghu8TpPN.zKRzlPiGTBfNQTbJkCbrGg" + }, + "record": { + "TXT": "dh=f84f09e3884eca601066a6e1dba5175f6e82940f" + } +} diff --git a/domains/api.json b/domains/_gh-is-a-dev-o.m.json similarity index 73% rename from domains/api.json rename to domains/_gh-is-a-dev-o.m.json index 1960cb72fe..e7af9390b6 100644 --- a/domains/api.json +++ b/domains/_gh-is-a-dev-o.m.json @@ -5,6 +5,6 @@ }, "record": { - "CNAME": "kco4g0g.wdh.app" + "TXT": "e0ffcded3e" } } diff --git a/domains/_github-pages-challenge-Abaan5467.abaan.json b/domains/_github-pages-challenge-Abaan5467.abaan.json new file mode 100644 index 0000000000..35e940ffb9 --- /dev/null +++ b/domains/_github-pages-challenge-Abaan5467.abaan.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "Abaan5467", + "email": "abaan@metfabproducts.com" + }, + "record": { + "TXT": "325c1344f55d617d4e206517dde06c" + } +} diff --git a/domains/_github-pages-challenge-Akatsuki2555.akatsuki2555.json b/domains/_github-pages-challenge-Akatsuki2555.akatsuki2555.json new file mode 100644 index 0000000000..93f1081138 --- /dev/null +++ b/domains/_github-pages-challenge-Akatsuki2555.akatsuki2555.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "Akatsuki2555", + "email": "Akatsuki2555@proton.me" + }, + "record": { + "TXT": "af66c6734ae2342654c413fbb3b9aa" + } +} \ No newline at end of file diff --git a/domains/_github-pages-challenge-Arch881010.arch.json b/domains/_github-pages-challenge-Arch881010.arch.json index 6946ddb7bd..335a141822 100644 --- a/domains/_github-pages-challenge-Arch881010.arch.json +++ b/domains/_github-pages-challenge-Arch881010.arch.json @@ -3,9 +3,10 @@ "repo": "https://github.com/Arch881010/Arch881010", "owner": { "username": "Arch881010", - "email": "c1yd4.arch@inbox.testmail.app", + "email": "arch@arch1010.dev", "discord": "arch1010", - "discord-id": "410248634593050627" + "discord-id": "410248634593050627", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.kSAiARG7F3TMPQLHtfhtk3dE05kz7As2lA8g_FzeDJHxsc9y68hJe40iZByj83Q-A7wgguTAPkshy34EfXOlnbEW6QGE3nwCdu8BLCDAZFZSDYffesKjYPq7djQpYfIcrwaKQ8BNsPejDVBpfycXULTJKFg6860m6AQeCRBCTKbs1et_J_1LKbD58oCoA2fRjoOcmsfiuv177b0JB5y4YYJvv-ZUxnqfFOYs8z4cYa0sjLz1PHf45ZXI94YaiIGbctnl4-mCWmUyVAEzoZXMMZTpb2yDmkfkXbubaRL8ftl6dXFlsr_s8t5oNNn_qqydjVqHAgoBod7pnX8nnbNB7g.QIJDtBcgQc6abzpqMJEDQQ.yqolPrBs4ixr0g2Sd6FkMHqMg_CXvxV146dDoe4y8yeSmW951Au23QlBGwemyMKQmJv6fNMo7GPctGfxCxgaaL6hXPVbtJ13MdgtO22e5bA.vevEeBUZxq5C7dewSx_YUQ" }, "record": { "TXT": "f7ef0429540150e9e2d26e968dc4de" diff --git a/domains/_github-pages-challenge-Daamin909.daamin.json b/domains/_github-pages-challenge-Daamin909.daamin.json new file mode 100644 index 0000000000..b3738e6d7d --- /dev/null +++ b/domains/_github-pages-challenge-Daamin909.daamin.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "Daamin909", + "email": "ashai.daamin@gmail.com" + }, + "record": { + "TXT": "3c96f2bc76027656f9d05fbdd95026" + } +} diff --git a/domains/_github-pages-challenge-ImShyMike.shymike.json b/domains/_github-pages-challenge-ImShyMike.shymike.json new file mode 100644 index 0000000000..53070340a5 --- /dev/null +++ b/domains/_github-pages-challenge-ImShyMike.shymike.json @@ -0,0 +1,10 @@ +{ + "owner": { + "username": "ImShyMike", + "email": "", + "discord": "582648583635992622" + }, + "record": { + "TXT": "f3bee6548add17e5852c9b567d9a44" + } +} diff --git a/domains/_github-pages-challenge-SkyExploreWasTaken.sewt.json b/domains/_github-pages-challenge-SkyExploreWasTaken.sewt.json new file mode 100644 index 0000000000..5fecfdce76 --- /dev/null +++ b/domains/_github-pages-challenge-SkyExploreWasTaken.sewt.json @@ -0,0 +1,11 @@ +{ + "owner": { + "username": "SkyExploreWasTaken", + "email": "", + "discord": "1049263707177353247", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.JjnXMeB-5yChFwqeTjRtzK3S_0JshRprm7Ix_Yl-zlvBzrR4ZlVNljlNwz5hHd6RwuBC_y5QFA1wpuLY7J9tuvaW_ttJpnbU58UGV2JNs6yR0C6ZBp5S0XR7J0zKoloVPgoN9i4q8SOzJeBQCanVOFzX3d9haVlZxrZFInLbMybS8FegbUdzDuV6s6TB0gA8fpBWx29ftzsLfwVj96tO9gmB0cJAU-URofHxmMBDUCIXDELQdrlRl_sj4kjW3uIKus_lgN7GU55xIvErfpV2_NVZTiuPzOh5HcP7rwWHhDaeKvQL4HeKWxIlrqQhPtQHQTFTgJuh7MmJimD95ixgVg.fhYccie9reT4Mi7XAmEtZA.lNh66dK74iYl7grB--wq1yi-AEKzvkuN7TLOS75XwYxJskb4dSr8TUcM0Y5ZVfR27oMahE1_kerqZOZOtZW58ZFwqoFD0oCFaEm68nwTd3or3uBWcYbZk5ilghu8TpPN.zKRzlPiGTBfNQTbJkCbrGg" + }, + "record": { + "TXT": "6db7bbc1e3f533f3dad4925751cdc7" + } +} diff --git a/domains/_github-pages-challenge-SkyExploreWasTaken.z.json b/domains/_github-pages-challenge-SkyExploreWasTaken.z.json new file mode 100644 index 0000000000..640a0cd3a3 --- /dev/null +++ b/domains/_github-pages-challenge-SkyExploreWasTaken.z.json @@ -0,0 +1,11 @@ +{ + "owner": { + "username": "SkyExploreWasTaken", + "email": "", + "discord": "1049263707177353247", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.JjnXMeB-5yChFwqeTjRtzK3S_0JshRprm7Ix_Yl-zlvBzrR4ZlVNljlNwz5hHd6RwuBC_y5QFA1wpuLY7J9tuvaW_ttJpnbU58UGV2JNs6yR0C6ZBp5S0XR7J0zKoloVPgoN9i4q8SOzJeBQCanVOFzX3d9haVlZxrZFInLbMybS8FegbUdzDuV6s6TB0gA8fpBWx29ftzsLfwVj96tO9gmB0cJAU-URofHxmMBDUCIXDELQdrlRl_sj4kjW3uIKus_lgN7GU55xIvErfpV2_NVZTiuPzOh5HcP7rwWHhDaeKvQL4HeKWxIlrqQhPtQHQTFTgJuh7MmJimD95ixgVg.fhYccie9reT4Mi7XAmEtZA.lNh66dK74iYl7grB--wq1yi-AEKzvkuN7TLOS75XwYxJskb4dSr8TUcM0Y5ZVfR27oMahE1_kerqZOZOtZW58ZFwqoFD0oCFaEm68nwTd3or3uBWcYbZk5ilghu8TpPN.zKRzlPiGTBfNQTbJkCbrGg" + }, + "record": { + "TXT": "7eb5b6034d696256f342136b0289cc" + } +} diff --git a/domains/_github-pages-challenge-Th3-C0der.th3.json b/domains/_github-pages-challenge-Th3-C0der.th3.json new file mode 100644 index 0000000000..4222831f9e --- /dev/null +++ b/domains/_github-pages-challenge-Th3-C0der.th3.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "Th3-C0der", + "email": "Th3Drag8N@proton.me" + }, + "record": { + "TXT": "5eb5141d4526c7035a1a9e1613b3d6" + } +} diff --git a/domains/_github-pages-challenge-funnsam.funn.json b/domains/_github-pages-challenge-funnsam.funn.json new file mode 100644 index 0000000000..ef59f63b65 --- /dev/null +++ b/domains/_github-pages-challenge-funnsam.funn.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "funnsam", + "email": "funnsam8@gmail.com" + }, + "record": { + "TXT": "a81a9e51e2583c003a02eba386cb78" + } +} diff --git a/domains/_github-pages-challenge-hansanaD.hansana.json b/domains/_github-pages-challenge-hansanaD.hansana.json new file mode 100644 index 0000000000..4c6a207bdf --- /dev/null +++ b/domains/_github-pages-challenge-hansanaD.hansana.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "hansanad", + "email": "josephandrew1@logicstreak.com" + }, + "record": { + "TXT": "f5a2e9d9fc400899120ec6e97e3291" + } +} diff --git a/domains/_github-pages-challenge-hilight3r.hilight3r.json b/domains/_github-pages-challenge-hilight3r.hilight3r.json new file mode 100644 index 0000000000..6bdc1b9373 --- /dev/null +++ b/domains/_github-pages-challenge-hilight3r.hilight3r.json @@ -0,0 +1,11 @@ +{ + "owner": { + "username": "HIlight3R", + "email": "", + "discord": "632272741000544259", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.lEEbmOZavCkur0apEhD0MigNx6rzV3Kqhd9_Lw4Wxt7U7b0rcV779rEFB1Fm4LdwKAVJJ8_MeDm1jf0y14lGqQotXsvYzRKOCBk5t7vLtS_541WkodNwOPbAUV_g2KBaq6MynjnwX5786OLkuRJE-QnxwflxQRQHtL76xYJV3d7UVmZk0ppSUxyCw5SdSXUp7zgoJiTE2JIshtR5dFULQCyH9QK7gVpNFJBwaoTJeoRsCOy_oYoXVhYysYhX94tubtwKzE4xSDmQW4UbOo8yLRNTIo-PkyuY6cBD4yYvueRcTAd_UChS12Y27QSFhQq78I7WLaE7u4cV060Th1fEmA.9kQc0tIg1PyfXJtKgbiBSQ.uFTPklnOgLBqnu-dg7ZsCEZ_QrMiuyiHY60IgI1X3CdE1kSQckWTdApOQF8AXTC0inYYfmSpfvzP02Rcgo3Z9vyrckWG_ZSJbmfKR2SOpeN_Cq94jwKAZQXW0U45LxB1.cYkl_VljmQbyvurLc7hF6Q" + }, + "record": { + "TXT": "0c51eaecf1de5c4349169056229f46" + } +} diff --git a/domains/_github-pages-challenge-kunsh13.kunsh13.json b/domains/_github-pages-challenge-kunsh13.kunsh13.json new file mode 100644 index 0000000000..1d8a75d5cb --- /dev/null +++ b/domains/_github-pages-challenge-kunsh13.kunsh13.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "kunsh13", + "email": "kunshmaurya@gmail.com" + }, + "record": { + "TXT": "72d4c5c21140c36045a8acebb81bd3" + } +} diff --git a/domains/_github-pages-challenge-nameisminh.ming.json b/domains/_github-pages-challenge-nameisminh.ming.json new file mode 100644 index 0000000000..9dc22d928a --- /dev/null +++ b/domains/_github-pages-challenge-nameisminh.ming.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "nameisminh", + "email": "buicongminh081104@gmail.com" + }, + "record": { + "TXT": "124480cad3fd4ed9b6cf85747562f6" + } +} diff --git a/domains/_github-pages-challenge-neoapps-dev.neoapps.json b/domains/_github-pages-challenge-neoapps-dev.neoapps.json new file mode 100644 index 0000000000..38bdb13644 --- /dev/null +++ b/domains/_github-pages-challenge-neoapps-dev.neoapps.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "neoapps-dev", + "email": "asd22.info@gmail.com" + }, + "record": { + "TXT": "e18c9ddc220cc83720a8cf6a0d2b2c" + } +} diff --git a/domains/_github-pages-challenge-yunexiz.cat.json b/domains/_github-pages-challenge-yunexiz.cat.json new file mode 100644 index 0000000000..9307de4652 --- /dev/null +++ b/domains/_github-pages-challenge-yunexiz.cat.json @@ -0,0 +1,10 @@ +{ + "owner": { + "username": "yunexiz", + "discord": "1040303561847881729", + "email": "" + }, + "record": { + "TXT": "7b0048087227dc98eb47a46c9f1b43" + } +} diff --git a/domains/_github-pages-challenge-yunexiz.dog.json b/domains/_github-pages-challenge-yunexiz.dog.json new file mode 100644 index 0000000000..253d7ddd77 --- /dev/null +++ b/domains/_github-pages-challenge-yunexiz.dog.json @@ -0,0 +1,10 @@ +{ + "owner": { + "username": "yunexiz", + "discord": "1040303561847881729", + "email": "" + }, + "record": { + "TXT": "5fa47df0612540ae6e92989a4007e9" + } +} diff --git a/domains/_github-pages-challenge-yunexiz.y.json b/domains/_github-pages-challenge-yunexiz.y.json new file mode 100644 index 0000000000..722be64edf --- /dev/null +++ b/domains/_github-pages-challenge-yunexiz.y.json @@ -0,0 +1,10 @@ +{ + "owner": { + "username": "yunexiz", + "discord": "1040303561847881729", + "email": "" + }, + "record": { + "TXT": "e510e7d345184525230751fbbf1e5b" + } +} diff --git a/domains/a.json b/domains/a.json new file mode 100644 index 0000000000..b3f291c15d --- /dev/null +++ b/domains/a.json @@ -0,0 +1,13 @@ +{ + "owner": { + "username": "dhruvakalur", + "email": "", + "discord": "794802369216380949", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.n6sY7FH0bwRVpn5paxjZE9b0AS1bS9fiw6WV4sdfPhfnRrO9vR_Mxznkv_LzM5IWuOPUrNzJ8el1rUP1_BEnafofpoSYWV4J326U0TjFnhOysYjmpJ00oNE_TkBdF-gIlwZ3Ps6X2_i5OwLkWysa6oz7-DPHMA2bN27pC7VV7uMwt8gbvLH7BBgnpgZk7vf9eQ7hb8lgHDfjaeaxfG8PoGnO4SBMxcS_Q9hQxW-z7WsfBTTOeKC8jDg3ql5CCtw4epp61hmMGMD8Fk0ETZTDXVHLRVVLsR78uKwgRm-eifgDRVgycfoGfZpRkdZAWFG5fmAYTAxOxCFj6Efa44n-tA.PzULyP0rlpaGmeRh1tX5pA._J47HD2_nZv5f8j_vl5QZZCxbm6K4_nvrZ4LVcTdjH275xenN3SC3fbM-kQFokjiiKtiaSdZMxokzZtBbDBXHORYh2Z9Ve1ENytjWkmOP3U.YDrfLdRHD6-J3Bb9_7iysA" + }, + + "record": { + "A": ["45.90.12.29"] + } + } + \ No newline at end of file diff --git a/domains/abaan.json b/domains/abaan.json new file mode 100644 index 0000000000..86b1091c3a --- /dev/null +++ b/domains/abaan.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "Abaan5467", + "email": "abaan@metfabproducts.com" + }, + "record": { + "CNAME": "abaan5467.github.io" + } +} diff --git a/domains/ai-y.json b/domains/ai-y.json new file mode 100644 index 0000000000..99101fef51 --- /dev/null +++ b/domains/ai-y.json @@ -0,0 +1,11 @@ +{ + "owner": { + "username": "yunexiz", + "discord": "1040303561847881729", + "email": "" + }, + + "record": { + "CNAME": "ai-y-web.pages.dev" + } +} diff --git a/domains/ajie.json b/domains/ajie.json new file mode 100644 index 0000000000..d38a44c721 --- /dev/null +++ b/domains/ajie.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "AjieDev", + "email": "ajiedev@ajieblogs.eu.org" + }, + "record": { + "CNAME": "ajiedev.pages.dev" + } +} diff --git a/domains/akatsuki2555.json b/domains/akatsuki2555.json new file mode 100644 index 0000000000..d409e9dc88 --- /dev/null +++ b/domains/akatsuki2555.json @@ -0,0 +1,11 @@ +{ + "repo": "https://github.com/Akatsuki2555/Akatsuki2555.github.io", + "owner": { + "username": "Akatsuki2555", + "email": "akatsuki2555@proton.me", + "discord": "1226900455037075509" + }, + "record": { + "CNAME": "akatsuki2555.github.io" + } +} \ No newline at end of file diff --git a/domains/akrm.json b/domains/akrm.json index 17e43b59b8..5c6f594896 100644 --- a/domains/akrm.json +++ b/domains/akrm.json @@ -1,12 +1,12 @@ { - "owner": { - "username": "KemoXtech", - "email": "aljmalrealstate@gmail.com", - "discord": "868339557593137212" - }, - - "record": { - "A": ["65.19.141.67"], - "AAAA": ["2001:470:1:1ee::2009"] - } -} + "owner": { + "username": "KemoXtech", + "email": "aljmalrealstate@gmail.com", + "discord": "868339557593137212" + }, + + "record": { + "A": ["64.62.151.106"], + "AAAA": ["2001:470:1:1ee::2009"] + } + } \ No newline at end of file diff --git a/domains/akshatjain.json b/domains/akshatjain.json new file mode 100644 index 0000000000..3a4ccb3c6c --- /dev/null +++ b/domains/akshatjain.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "akshatjain", + "email": "akshatjain1567@gmail.com" + }, + "record": { + "URL": "https://www.github.com/akshatjaiin" + } +} diff --git a/domains/akxd.json b/domains/akxd.json new file mode 100644 index 0000000000..a5b3b93517 --- /dev/null +++ b/domains/akxd.json @@ -0,0 +1,12 @@ +{ + "description": "Aditya's Portfolio", + "repo": "https://github.com/adityakumarxd", + "owner": { + "username": "adityakumarxd", + "email": "", + "discord": "akxd" + }, + "record": { + "CNAME": "adityakumarxd.github.io" + } +} diff --git a/domains/allancoding.json b/domains/allancoding.json index 158097ebc5..82b0cfda9b 100644 --- a/domains/allancoding.json +++ b/domains/allancoding.json @@ -1,4 +1,6 @@ { + "description": "My main website", + "repo": "https://github.com/allancoding/allancoding.is-a.dev", "owner": { "username": "allancoding", "email": "allancoding.dev@gmail.com", @@ -6,6 +8,13 @@ "discord": "allancoding" }, "record": { - "CNAME": "allancoding.github.io" + "A": [ + "75.2.60.5" + ], + "MX": [ + "mx1.improvmx.com", + "mx2.improvmx.com" + ], + "TXT": "v=spf1 include:spf.improvmx.com include:_spf.google.com ~all" } } diff --git a/domains/angellopomayay.json b/domains/angellopomayay.json new file mode 100644 index 0000000000..8466fe6468 --- /dev/null +++ b/domains/angellopomayay.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "Angello-Pomayay", + "email": "angelopomayay@gmail.com" + }, + "record": { + "CNAME": "angello-pomayay.github.io" + } +} diff --git a/domains/api.shockbs.json b/domains/api.shockbs.json index 6dbe49a35c..a4be3930b4 100644 --- a/domains/api.shockbs.json +++ b/domains/api.shockbs.json @@ -4,6 +4,6 @@ "email": "apipherng@gmail.com" }, "record": { - "CNAME": "apishockbsshockbsxddd.onrender.com" + "A": ["69.30.249.53"] } } diff --git a/domains/app.allancoding.json b/domains/app.allancoding.json new file mode 100644 index 0000000000..131809fe42 --- /dev/null +++ b/domains/app.allancoding.json @@ -0,0 +1,15 @@ +{ + "description": "My app website for diffrent services", + "owner": { + "username": "allancoding", + "email": "allancoding.dev@gmail.com", + "twitter": "allancoding", + "discord": "allancoding" + }, + "record": { + "A": [ + "206.188.218.143" + ] + } + } + \ No newline at end of file diff --git a/domains/aquatica.json b/domains/aquatica.json new file mode 100644 index 0000000000..ed67149223 --- /dev/null +++ b/domains/aquatica.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "UntoldGam", + "email": "charlessbird+github@outlook.com" + }, + "record": { + "A": ["130.162.169.213"] + } +} diff --git a/domains/arafat.json b/domains/arafat.json new file mode 100644 index 0000000000..800dc44397 --- /dev/null +++ b/domains/arafat.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "yasar-arafath", + "email": "1up6i9jv@duck.com" + }, + "record": { + "CNAME": "yasar-arafath.github.io" + } +} diff --git a/domains/arch.json b/domains/arch.json index 68afd2c790..791ffd8716 100644 --- a/domains/arch.json +++ b/domains/arch.json @@ -5,7 +5,8 @@ "username": "Arch881010", "email": "arch@arch1010.dev", "discord": "arch1010", - "discord-id": "410248634593050627" + "discord-id": "410248634593050627", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.kSAiARG7F3TMPQLHtfhtk3dE05kz7As2lA8g_FzeDJHxsc9y68hJe40iZByj83Q-A7wgguTAPkshy34EfXOlnbEW6QGE3nwCdu8BLCDAZFZSDYffesKjYPq7djQpYfIcrwaKQ8BNsPejDVBpfycXULTJKFg6860m6AQeCRBCTKbs1et_J_1LKbD58oCoA2fRjoOcmsfiuv177b0JB5y4YYJvv-ZUxnqfFOYs8z4cYa0sjLz1PHf45ZXI94YaiIGbctnl4-mCWmUyVAEzoZXMMZTpb2yDmkfkXbubaRL8ftl6dXFlsr_s8t5oNNn_qqydjVqHAgoBod7pnX8nnbNB7g.QIJDtBcgQc6abzpqMJEDQQ.yqolPrBs4ixr0g2Sd6FkMHqMg_CXvxV146dDoe4y8yeSmW951Au23QlBGwemyMKQmJv6fNMo7GPctGfxCxgaaL6hXPVbtJ13MdgtO22e5bA.vevEeBUZxq5C7dewSx_YUQ" }, "record": { "CNAME": "arch881010.github.io" diff --git a/domains/ardaninho.json b/domains/ardaninho.json new file mode 100644 index 0000000000..0355642273 --- /dev/null +++ b/domains/ardaninho.json @@ -0,0 +1,12 @@ +{ + "owner": { + "username": "Ardaninho", + "email": "", + "discord": "639439553698201626" + }, + + "record": { + "CNAME": "ardaninho.github.io" + } + } + diff --git a/domains/aryadanech.json b/domains/aryadanech.json new file mode 100644 index 0000000000..31281d2342 --- /dev/null +++ b/domains/aryadanech.json @@ -0,0 +1,11 @@ +{ + "description": "Arya Danech's Personal Portfolio Website", + "repo": "https://github.com/aryad14", + "owner": { + "username": "aryad14", + "email": "aryadanech9@gmail.com" + }, + "record": { + "CNAME": "portfolio-production-d78e.up.railway.app" + } +} \ No newline at end of file diff --git a/domains/ascii.educatedsuddenbucket.json b/domains/ascii.educatedsuddenbucket.json deleted file mode 100644 index b14fc31dca..0000000000 --- a/domains/ascii.educatedsuddenbucket.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "owner": { - "username": "EducatedSuddenBucket", - "email": "educatedsuddenbucket@gmail.com" - }, - "record": { - "A": [ - "185.199.108.153", - "185.199.109.153", - "185.199.110.153", - "185.199.111.153" - ] - } -} diff --git a/domains/averagepce.json b/domains/averagepce.json new file mode 100644 index 0000000000..a0714805f7 --- /dev/null +++ b/domains/averagepce.json @@ -0,0 +1,13 @@ +{ + "owner": { + "username": "FaultyFaulty-glitch", + "email": "faultywindows@gmail.com" + }, + "record": { + "MX": [ + "mx1.improvmx.com", + "mx2.improvmx.com" + ], + "TXT": "v=spf1 include:spf.improvmx.com ~all" + } +} diff --git a/domains/averagepcweb.json b/domains/averagepcweb.json new file mode 100644 index 0000000000..628504cd67 --- /dev/null +++ b/domains/averagepcweb.json @@ -0,0 +1,12 @@ +{ + "owner": { + "username": "FaultyFaulty-glitch", + "email": "", + "discord": "1102928631191322675" + }, + + "record": { + "CNAME": "averagepcweb.pages.dev" + } + } + \ No newline at end of file diff --git a/domains/averse.json b/domains/averse.json new file mode 100644 index 0000000000..a01b730f1e --- /dev/null +++ b/domains/averse.json @@ -0,0 +1,11 @@ +{ + "description": "Personal site", + "repo": "https://github.com/AverseABFun/my-site", + "owner": { + "username": "AverseABFun", + "email": "averse.abfun@gmail.com" + }, + "record": { + "CNAME": "averseabfun.github.io" + } +} diff --git a/domains/b.json b/domains/b.json new file mode 100644 index 0000000000..522a540059 --- /dev/null +++ b/domains/b.json @@ -0,0 +1,11 @@ +{ + "description": "vugiabao1337 subdomain", + "repo": "https://github.com/VuGiaBao1337/vugiabao1337.github.io", + "owner": { + "username": "VuGiaBao1337", + "email": "ahihidiscord@gmail.com" + }, + "record": { + "CNAME": "vugiabao1337.github.io" + } +} diff --git a/domains/baltraz.json b/domains/baltraz.json new file mode 100644 index 0000000000..61d43b7cd8 --- /dev/null +++ b/domains/baltraz.json @@ -0,0 +1,13 @@ +{ + "owner": { + "username": "Killermaschine88", + "email": "", + "discord": "570267487393021969", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.X7V9A3bj7uW7izQvYtaNyn684nE_FBaWC6kn2U-QVBSmP7TFLZkGnRLAfiv748szEf8Ps3JA6p2fUsdSKY5a9iS6D44dU9NAMmPWyX-MAy5aTFyretWktY4pmi6qKKekdcbSIqApUOEQjaOQR6ZTYFILkIFgjmJIioZEBpgDP_TXU2zbckIBr1wfRSgn7Cu9MfdcsAn6L68F7oqilLh1ZgkyU8YHsJbNmcUXjGeYAbcf6h1ZMDt-iE8df7vkJwiKUYR398JwvxSjxF-ip2vFLZ9hzMkyD3q19zJ29NefOEhhIVdOgHl4aV1CFYPWBzkGpMyIg1k1Eiky8BOu2Qo2Fw.u2fm6QjYJ54XYKASbzyZFg.T8FGfq4es9Rnc9Wv6qTczCRl-GtH40ujE6mbmoTQegCPeUatFiUzRghM8-JLthty6hqtu9iIhhlpE_0LC6kKrcCrbF0iUhqIkVd_gGUkJtQ.1rtLCkkF5gtQsek8m5RjUQ" + }, + + "record": { + "A": ["49.13.78.155"] + } + } + \ No newline at end of file diff --git a/domains/beatrack.json b/domains/beatrack.json deleted file mode 100644 index 2965efd677..0000000000 --- a/domains/beatrack.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "owner": { - "username": "UsernameKhoaIsAvailable", - "email": "khoatm20@gmail.com", - "discord": "697058629517443106" - }, - - "record": { - "A": ["42.119.154.148"] - } - } - diff --git a/domains/bhavitha.json b/domains/bhavitha.json new file mode 100644 index 0000000000..ea83c03944 --- /dev/null +++ b/domains/bhavitha.json @@ -0,0 +1,12 @@ +{ + "description": "Portfolio website", + "repo": "https://github.com/nightcoder26/bhavitha", + "owner": { + "username": "nightcoder26", + "email": "", + "twitter": "night_coder26" + }, + "record": { + "CNAME": "nightcoder26.github.io" + } +} diff --git a/domains/blog.saxophone.json b/domains/blog.saxophone.json index 1906b0c007..a24c990a04 100644 --- a/domains/blog.saxophone.json +++ b/domains/blog.saxophone.json @@ -1,10 +1,12 @@ { - "description": "subdomain for my blog", - "owner": { - "username": "saxophone-guy", - "email": "itsarchit@keemail.me" - }, - "record": { - "CNAME": "my-blog-8il5.onrender.com" - } + "description": "subdomain for my blog", + "owner": { + "username": "saxophone-guy", + "email": "itsarchit@keemail.me" + }, + "record": { + "A": [ + "216.24.57.1" + ] + } } diff --git a/domains/bombacat.json b/domains/bombacat.json new file mode 100644 index 0000000000..585e094379 --- /dev/null +++ b/domains/bombacat.json @@ -0,0 +1,10 @@ +{ + "owner": { + "username": "bomba.cat", + "email": "bledion.morina@hotmail.com" + }, + + "record": { + "CNAME": "bomba-cat.github.io" + } +} diff --git a/domains/buko-dev.json b/domains/buko-dev.json new file mode 100644 index 0000000000..c22a3f937b --- /dev/null +++ b/domains/buko-dev.json @@ -0,0 +1,13 @@ +{ + "owner": { + "username": "BukoDEV", + "email": "", + "discord": "539008740826021900", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.YuNXpG0-lTwVQMkxn_FAYLEsDj2ey-_j1nAxH4tGeZJIvCDGyCAIB3PTbOPb9rfmIK718ISh19183EOPVouHX5qGB5yINiTbpwKKVpVkOXodMe9-rfk8BlRPVdLzTHmUYNPCO5lJtnJKXJj0DZ-jKh7ifMzYqdzaDHlOCSkwva9vl09-XX-vNl8PHMVDTO1wQF1ojzmxzaCBjuz_UwE9k_MlOQyz22l2HnBN990OYO63dNiC9hHJVR6V3cBiZTRGq9Xq2SWW2JvXxBeoIZWs0mGV5JHd70YnIl_COowQ2Je3T72VGTUwXK_9eixzBUEOgC8s3wQLFvPh5MJbkS0lPg.cWVq2oSU90LZc8VZSL4IrA.yQ9bwBAobrePb2jcOU5SVKQGuTrx98F1qfhnyu4rhAw2aATjsUBn9lnNavSF-TNcM4FXvS2wASedJlvzVwcCAB2jbWh_MeMteu5j4Ad91MYwMKKxU3J40W7xFce9l3FI.5q01GI-LyojgnwFOo26Tbw" + }, + + "record": { + "A": ["193.111.250.109"] + } + } + \ No newline at end of file diff --git a/domains/c.json b/domains/c.json new file mode 100644 index 0000000000..da3053a49a --- /dev/null +++ b/domains/c.json @@ -0,0 +1,10 @@ +{ + "owner": { + "username": "orxngc", + "discord": "orangc", + "email": "orangc@proton.me" + }, + "record": { + "CNAME": "edge.redirect.pizza" + } +} diff --git a/domains/cat.json b/domains/cat.json new file mode 100644 index 0000000000..1a06bbbaf4 --- /dev/null +++ b/domains/cat.json @@ -0,0 +1,10 @@ +{ + "owner": { + "username": "yunexiz", + "discord": "1040303561847881729", + "email": "" + }, + "record": { + "CNAME": "yunexiz.github.io" + } +} diff --git a/domains/cats.json b/domains/cats.json new file mode 100644 index 0000000000..c0cb32f1de --- /dev/null +++ b/domains/cats.json @@ -0,0 +1,10 @@ +{ + "owner": { + "username": "yunexiz", + "discord": "1040303561847881729", + "email": "" + }, + "record": { + "CNAME": "cat-images.pages.dev" + } +} diff --git a/domains/cdn.shymike.json b/domains/cdn.shymike.json new file mode 100644 index 0000000000..69fd29cbad --- /dev/null +++ b/domains/cdn.shymike.json @@ -0,0 +1,12 @@ +{ + "owner": { + "username": "ImShyMike", + "email": "", + "discord": "582648583635992622" + }, + "record": { + "A": [ + "69.197.135.203" + ] + } +} diff --git a/domains/cdn.trung.json b/domains/cdn.trung.json index 0138cea655..b99730c4e9 100644 --- a/domains/cdn.trung.json +++ b/domains/cdn.trung.json @@ -4,6 +4,6 @@ "email": "vuthanhtrungsuper@gmail.com" }, "record": { - "A": ["37.114.46.15"] + "A": ["35.185.84.140"] } } diff --git a/domains/cdn.xrap1dx.json b/domains/cdn.xrap1dx.json new file mode 100644 index 0000000000..1de1dd0cac --- /dev/null +++ b/domains/cdn.xrap1dx.json @@ -0,0 +1,13 @@ +{ + "description": "making my cdn!!!", + "repo": "https://github.com/xrap1dx?tab=repositories", + "owner": { + "username": "xrap1dx", + "email": "sirrapid155@gmail.com" + }, + "record": { + "A": [ + "69.30.249.53" + ] + } +} diff --git a/domains/chat.vamtic.json b/domains/chat.vamtic.json new file mode 100644 index 0000000000..72e57dc0ff --- /dev/null +++ b/domains/chat.vamtic.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "vamtic", + "email": "vamtic@yahoo.com" + }, + "record": { + "CNAME": "anon.69.mu" + } +} diff --git a/domains/code.trung.json b/domains/code.trung.json index 0138cea655..b99730c4e9 100644 --- a/domains/code.trung.json +++ b/domains/code.trung.json @@ -4,6 +4,6 @@ "email": "vuthanhtrungsuper@gmail.com" }, "record": { - "A": ["37.114.46.15"] + "A": ["35.185.84.140"] } } diff --git a/domains/coopw.json b/domains/coopw.json new file mode 100644 index 0000000000..bd7bb11740 --- /dev/null +++ b/domains/coopw.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "coopw1", + "email": "urchin139@altmail.kr" + }, + "record": { + "CNAME": "coopw.pages.dev" + } +} diff --git a/domains/create.json b/domains/create.json new file mode 100644 index 0000000000..c54d1dfaa0 --- /dev/null +++ b/domains/create.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "VaibhavSys", + "email": "vaibhavsys@protonmail.com" + }, + "record": { + "URL": "https://factory.is-a.dev" + } +} diff --git a/domains/d.json b/domains/d.json new file mode 100644 index 0000000000..5d8a53e7e7 --- /dev/null +++ b/domains/d.json @@ -0,0 +1,12 @@ +{ + "owner": { + "username": "AhNode", + "email": "", + "discord": "704173828187619370" + }, + + "record": { + "A": ["69.197.135.202"] + } + } + diff --git a/domains/daamin.json b/domains/daamin.json new file mode 100644 index 0000000000..7c331f7df3 --- /dev/null +++ b/domains/daamin.json @@ -0,0 +1,11 @@ +{ + "description": "Portfolio Website", + "repo": "https://github.com/Daamin909/website/", + "owner": { + "username": "Daamin909", + "email": "ashai.daamin@gmail.com" + }, + "record": { + "CNAME": "daamin909.github.io" + } +} diff --git a/domains/danilwhale.json b/domains/danilwhale.json new file mode 100644 index 0000000000..66ad214c36 --- /dev/null +++ b/domains/danilwhale.json @@ -0,0 +1,13 @@ +{ + "owner": { + "username": "danilwhale", + "email": "", + "discord": "1191777214467940414", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.TMndiEsl4ECzkNhIvJVzKhARY5P83h9nXwYNjtmb8fy_gr0Xrl6dIgbXdxasHq2R4EFrN8VfElTk5pMEjjAXvIVP0mvXO3pmdunG2hbGNmKqPyyG6ZAB6EwOYnYJS6tKF17MmDwiRRreewgohIKJE7c3oP8oYaXH_mLvo9RI_BxpgRbdblFGZFzkGiTrZL0ju0XjSX5oBrcmFLfX5Rd3P3Lv7ySszZiwvRBLyEoR4v_I1oeS59FhMFJ5nHfdMwwd0X0UP_FUf67C24-vcaGi7Xv3ni4lWEU-skubVXTS2ya1t41VX2T_FD0kEorFAcwC30NcHjRERFMdHYXBMyvGEw.CpiU15hYni_PlE_UWHFCQA.sguibYYksrr1sUw7BqjJXJBmRNA0mOuEhRUaZ4I74H2LD-QC1GdY2wCYLp987GEbRnGiOGiNypsk_hONvHFcH0-0NXYxRL3Nel9gPATShEQ.KWSA5I9S9fXpvGnlkqFs7A" + }, + + "record": { + "CNAME": "danilwhale.github.io" + } + } + \ No newline at end of file diff --git a/domains/demo.mcstatus.json b/domains/demo.mcstatus.json new file mode 100644 index 0000000000..6a7b11a159 --- /dev/null +++ b/domains/demo.mcstatus.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "EducatedSuddenBucket", + "email": "educatedsuddenbucket@gmail.com" + }, + "record": { + "CNAME": "bff5bd034c7fbbeafaaf626f505c8cc5.ipv4.tcpshield.com" + } +} diff --git a/domains/devvault.json b/domains/devvault.json new file mode 100644 index 0000000000..fd8c872427 --- /dev/null +++ b/domains/devvault.json @@ -0,0 +1,11 @@ +{ + "description": "Link for DevVault personal site on GitHub pages", + "repo": "https://github.com/DevVault/devvault.github.io", + "owner": { + "username": "DevVault", + "email": "admin@devvault.ru" + }, + "record": { + "CNAME": "devvault.github.io" + } +} diff --git a/domains/dhilipan.json b/domains/dhilipan.json new file mode 100644 index 0000000000..07c4ee5972 --- /dev/null +++ b/domains/dhilipan.json @@ -0,0 +1,18 @@ +{ + "owner": { + "username": "MysticalPvE", + "email": "", + "discord": "1229782675678826496", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.WPtn_SlHtmPez8jjftkfl-CgWWn-ZYC-SyRJsyxLt-Gn_aEyTjQCgENyWvEpCzShxRpsqd5Np_gpkW8UM1-1MhIm1LjkGB50Aw_DMZK-gZS5KsWEXG8mclQXpIbcBVzI-HlRtHXicgDs-t7TcdL1qefMiisKwedNEUz9UvBxHFoNuA9E37cNrl5Y5j8Cf2E2x3D7eK2FxA3WvKXaMTRj40pitxwXxOGJqFqiv5QFehiIp_0pwtsjlWXm792LsePHIOKONeFy1p6v7HJgUx3WZKI4-5FADx9XqD3s6pS9jC8gOFqL4zllEE5cLVOz1Fy27tQrMn4B_b7qn5UxO1kBYA.ekzBd4v9e5MKBuUB-08ILg.qLhRJw9HYeu7ifjuRQfOUYdplsU6goAZRwazKk8fnW9FU1N6zxPg_2FjU4yoIki6PHZUrb-I5Bwt8FrX6G-3-M3uBQspwQLb5YdUDU-qJQY.KTelr2g7MJZ-b4qOxnJv2A" + }, + "record": { + "A": [ + "75.2.60.5" + ], + "MX": [ + "mx1.improvmx.com", + "mx2.improvmx.com" + ], + "TXT": "v=spf1 include:spf.improvmx.com ~all" + } +} diff --git a/domains/dhruvakalur.json b/domains/dhruvakalur.json new file mode 100644 index 0000000000..ab5e622cc6 --- /dev/null +++ b/domains/dhruvakalur.json @@ -0,0 +1,14 @@ +{ + "description": "My Personal EMAIL", + "owner": { + "username": "dhruvakalur", + "email": "dhruvakalur9@gmail.com" + }, + "record": { + "MX": [ + "mx1.improvmx.com", + "mx2.improvmx.com" + ], + "TXT": "v=spf1 include:spf.improvmx.com ~all" + } +} diff --git a/domains/dishery.json b/domains/dishery.json new file mode 100644 index 0000000000..d4f17e4921 --- /dev/null +++ b/domains/dishery.json @@ -0,0 +1,18 @@ +{ + "owner": { + "username": "legofanlovessayori", + "email": "", + "discord": "805708874178625546" + }, + "record": { + "TXT": [ + "protonmail-verification=4673bc02c41c5ac6445e15835074759576e78e3d", + "v=spf1 include:_spf.protonmail.ch ~all", + "v=DMARC1; p=quarantine" + ], + "MX": [ + "mail.protonmail.ch", + "mailsec.protonmail.ch" + ] + } +} diff --git a/domains/docs.6.json b/domains/docs.6.json new file mode 100644 index 0000000000..883e0729df --- /dev/null +++ b/domains/docs.6.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "shockbs", + "email": "apipherng@gmail.com" + }, + "record": { + "URL": "https://docs.shockbs.is-a.dev/" + } +} diff --git a/domains/docs.shockbs.json b/domains/docs.shockbs.json index ec1085c14b..874b42c4ae 100644 --- a/domains/docs.shockbs.json +++ b/domains/docs.shockbs.json @@ -4,6 +4,5 @@ "email": "apipherng@gmail.com" }, "record": { - "CNAME": "documentationggffddjussdddgghhirrdssh6dd.onrender.com" - } + "CNAME": "documentationggffddjussdddgghhirrdssh6dd.onrender.com" } } diff --git a/domains/dog.json b/domains/dog.json new file mode 100644 index 0000000000..1a06bbbaf4 --- /dev/null +++ b/domains/dog.json @@ -0,0 +1,10 @@ +{ + "owner": { + "username": "yunexiz", + "discord": "1040303561847881729", + "email": "" + }, + "record": { + "CNAME": "yunexiz.github.io" + } +} diff --git a/domains/dogs.json b/domains/dogs.json new file mode 100644 index 0000000000..42168e22b4 --- /dev/null +++ b/domains/dogs.json @@ -0,0 +1,10 @@ +{ + "owner": { + "username": "yunexiz", + "discord": "1040303561847881729", + "email": "" + }, + "record": { + "CNAME": "dog-images.pages.dev" + } +} diff --git a/domains/duck.json b/domains/duck.json index c27d7455e2..38cb2521a3 100644 --- a/domains/duck.json +++ b/domains/duck.json @@ -4,6 +4,6 @@ "email": "serverdeveloper@duck.com" }, "record": { - "CNAME": "glitch.edgeapp.net" + "CNAME": "serverdeveloper9447.github.io" } } diff --git a/domains/e.json b/domains/e.json new file mode 100644 index 0000000000..91f2b142af --- /dev/null +++ b/domains/e.json @@ -0,0 +1,12 @@ +{ + "owner": { + "username": "KennySB-dev", + "email": "", + "discord": "681811851428102145" + }, + + "record": { + "CNAME": "kennysb.xyz" + } + } + \ No newline at end of file diff --git a/domains/educatedsuddenbucket.json b/domains/educatedsuddenbucket.json index 47fad6424f..200cf46538 100644 --- a/domains/educatedsuddenbucket.json +++ b/domains/educatedsuddenbucket.json @@ -1,22 +1,22 @@ { - "owner": { - "username": "EducatedSuddenBucket", - "email": "educatedsuddenbucket@gmail.com" - }, - "record": { - "MX": [ - "mx1.improvmx.com", - "mx2.improvmx.com" - ], - "TXT": [ - "v=spf1 include:spf.improvmx.com ~all", - "google-site-verification=hS8B2hSz-rNk6gLRnwaZjxuJE9rCLU_25X65JsLEczE" - ], - "A": [ - "185.199.108.153", - "185.199.109.153", - "185.199.110.153", - "185.199.111.153" - ] - } + "owner": { + "username": "EducatedSuddenBucket", + "email": "educatedsuddenbucket@gmail.com" + }, + "record": { + "A": [ + "185.199.108.153", + "185.199.109.153", + "185.199.110.153", + "185.199.111.153" + ], + "TXT": [ + "google-site-verification=hS8B2hSz-rNk6gLRnwaZjxuJE9rCLU_25X65JsLEczE", + "v=spf1 include:spf.improvmx.com ~all" + ], + "MX": [ + "mx1.improvmx.com", + "mx2.improvmx.com" + ] + } } diff --git a/domains/egirl.json b/domains/egirl.json new file mode 100644 index 0000000000..d288f22715 --- /dev/null +++ b/domains/egirl.json @@ -0,0 +1,13 @@ +{ "owner": { "username":"mAskDucK", + + + + + "email": "", + "discord": "maskduck" + +}, + +"record": { + "CNAME": "maskduck.pages.dev" + }} diff --git a/domains/ehab.json b/domains/ehab.json index 73d5844e6d..64c1a47643 100644 --- a/domains/ehab.json +++ b/domains/ehab.json @@ -1,9 +1,11 @@ { - "owner": { - "username": "ehabmansour1", - "email": "mansehab990@gmail.com" - }, - "record": { - "CNAME": "ehabmansour1.github.io" - } + "owner": { + "username": "ehabmansour1", + "email": "mansehab990@gmail.com" + }, + "record": { + "A": ["128.204.223.115"], + "TXT": "v=spf1 mx a include:mail9.serv00.com -all", + "MX": "mail9.serv00.com" + } } diff --git a/domains/esb.json b/domains/esb.json index 4792a76cec..0eb39b0e6f 100644 --- a/domains/esb.json +++ b/domains/esb.json @@ -6,6 +6,15 @@ "record": { "A": [ "89.106.200.1" + ], + "TXT": [ + "zoho-verification=zb54408053.zmverify.zoho.in", + "v=spf1 include:zohomail.in ~all" + ], + "MX": [ + "mx.zoho.in", + "mx2.zoho.in", + "mx3.zoho.in" ] } } diff --git a/domains/ewan.json b/domains/ewan.json new file mode 100644 index 0000000000..0348b08d0a --- /dev/null +++ b/domains/ewan.json @@ -0,0 +1,11 @@ +{ + "description": "personal portfolio for dev", + "repo": "https://github.com/Ewan-Dev/ewan-dev.github.io", + "owner": { + "username": "Ewan-Dev", + "email": "lyricizer2@gmail.com" + }, + "record": { + "CNAME": "ewan-dev.github.io" + } +} diff --git a/domains/extensions.trung.json b/domains/extensions.trung.json index 0138cea655..b99730c4e9 100644 --- a/domains/extensions.trung.json +++ b/domains/extensions.trung.json @@ -4,6 +4,6 @@ "email": "vuthanhtrungsuper@gmail.com" }, "record": { - "A": ["37.114.46.15"] + "A": ["35.185.84.140"] } } diff --git a/domains/factory.json b/domains/factory.json new file mode 100644 index 0000000000..ac0f1c0ce9 --- /dev/null +++ b/domains/factory.json @@ -0,0 +1,11 @@ +{ + "description": "Factory for manufacturing is-a-dev domains", + "repo": "https://github.com/VaibhavSys/DomainFactory", + "owner": { + "username": "VaibhavSys", + "email": "vaibhavsys@protonmail.com" + }, + "record": { + "CNAME": "domainfactory.pages.dev" + } +} diff --git a/domains/fake.json b/domains/fake.json index 4800596c39..f9f4f5077f 100644 --- a/domains/fake.json +++ b/domains/fake.json @@ -2,11 +2,11 @@ "description": "site", "repo": "https://github.com/fakename131", "owner": { - "username": "Fake_Name131", + "username": "fakename131", "email": "fake@fake.is-a.dev" }, "record": { - "A": ["185.199.108.153"], + "A": ["75.2.60.5"], "MX": [ "mx1.improvmx.com", "mx2.improvmx.com" diff --git a/domains/faultysden.json b/domains/faultysden.json new file mode 100644 index 0000000000..111af10656 --- /dev/null +++ b/domains/faultysden.json @@ -0,0 +1,12 @@ +{ + "owner": { + "username": "FaultyFaulty-glitch", + "email": "faultywindows+github@gmail.com", + "discord": "1041028534690386051" + }, + + "record": { + "TXT": "google-site-verification=ix1jczu2q87igryc4eaexvdv1vrzjxolu14sjfpsnko" + } + } + \ No newline at end of file diff --git a/domains/whsprr.json b/domains/fent.json similarity index 53% rename from domains/whsprr.json rename to domains/fent.json index 48b3fa9205..ede20a2254 100644 --- a/domains/whsprr.json +++ b/domains/fent.json @@ -1,9 +1,9 @@ { "owner": { - "username": "whsprr-png", + "username": "fentbomb", "email": "musicbotqn@gmail.com" }, "record": { - "CNAME": "whsprr-png.github.io" + "CNAME": "fentbomb.github.io" } } diff --git a/domains/fetches.educatedsuddenbucket.json b/domains/fetches.educatedsuddenbucket.json deleted file mode 100644 index b14fc31dca..0000000000 --- a/domains/fetches.educatedsuddenbucket.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "owner": { - "username": "EducatedSuddenBucket", - "email": "educatedsuddenbucket@gmail.com" - }, - "record": { - "A": [ - "185.199.108.153", - "185.199.109.153", - "185.199.110.153", - "185.199.111.153" - ] - } -} diff --git a/domains/files.allancoding.json b/domains/files.allancoding.json index 158097ebc5..23114485e7 100644 --- a/domains/files.allancoding.json +++ b/domains/files.allancoding.json @@ -1,4 +1,6 @@ { + "description": "My files website", + "repo": "https://github.com/allancoding/files.allancoding.is-a.dev", "owner": { "username": "allancoding", "email": "allancoding.dev@gmail.com", @@ -6,6 +8,8 @@ "discord": "allancoding" }, "record": { - "CNAME": "allancoding.github.io" + "A": [ + "75.2.60.5" + ] } } diff --git a/domains/films.json b/domains/films.json new file mode 100644 index 0000000000..359277b0fc --- /dev/null +++ b/domains/films.json @@ -0,0 +1,13 @@ +{ + "owner": { + "username": "wsmdn", + "email": "", + "discord": "1049856856467722242", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.AM1kF-aodU7n0_bBI28MO7vlg-WccpJAhnV5ltySu602lhBR1Dx3UOD1TskSKmpdBpDXhSOQJ2bQZQ5ouum5txo7kJ42jLOsEr-OhXNREU3pqIE2kfJidObs05iDu2nOFIylFjZGNuYbmJQMPCf0F0KEIbNlgEWKqgPXBuiDOfv8yhi649LbPaj18TCIe04t6pkb77-1lNZiI3ebex4HAbWydF0IKSbijif7FoJbmi_LN6rqYXG-BYRzmdvvCg8FFrDWnTM4KJmc-4dU546kVFtB_GUgMYWl8xSTXKLk9PBHm0Prp3tONhqSMXRIR5Cg-6iVYbkw-Ln0YjYsnrnayQ.u_JCdGcxfWhrAT_7Hh_s2w.uRv4MGy00eRLbLsaHia2fP9FSpuDyGHrb1jF-EWjJ6fjd5XeYw73Up3tiulfQvROZ1li_p5Xfx7RbxaIlEYlA_584ldAutc_AT1YNcg78ck.9dcSw-Ut3ZbG_iO7Vx3-3A" + }, + + "record": { + "CNAME": "nomdn.github.io" + } + } + \ No newline at end of file diff --git a/domains/formuna.json b/domains/formuna.json index ba61c06ba2..853c02e3cd 100644 --- a/domains/formuna.json +++ b/domains/formuna.json @@ -1,12 +1,12 @@ { - "owner": { - "username": "FormunaGit", - "email": "", - "discord": "754657845563097108" - }, - - "record": { - "CNAME": "formunagit.github.io" - } + "description": "My website for my projects", + "repo": "https://github.com/FormunaGit/FormunaGit.github.io", + "owner": { + "username": "FormunaGit", + "email": "", + "discord": "754657845563097108" + }, + "record": { + "CNAME": "formunagit.github.io" } - \ No newline at end of file +} diff --git a/domains/i2.esb.json b/domains/free.json similarity index 100% rename from domains/i2.esb.json rename to domains/free.json diff --git a/domains/img.esb.json b/domains/freefor.json similarity index 100% rename from domains/img.esb.json rename to domains/freefor.json diff --git a/domains/freefordevs.json b/domains/freefordevs.json index b14fc31dca..df4e9ada4d 100644 --- a/domains/freefordevs.json +++ b/domains/freefordevs.json @@ -1,14 +1,11 @@ { - "owner": { - "username": "EducatedSuddenBucket", - "email": "educatedsuddenbucket@gmail.com" - }, - "record": { - "A": [ - "185.199.108.153", - "185.199.109.153", - "185.199.110.153", - "185.199.111.153" - ] - } + "owner": { + "username": "EducatedSuddenBucket", + "email": "educatedsuddenbucket@gmail.com" + }, + "record": { + "A": [ + "216.24.57.1" + ] + } } diff --git a/domains/funn.json b/domains/funn.json new file mode 100644 index 0000000000..dc25bcf3e8 --- /dev/null +++ b/domains/funn.json @@ -0,0 +1,13 @@ +{ + "owner": { + "username": "funnsam", + "email": "funnsam8@gmail.com", + "discord": "684733024612646953", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.ZMW5PjPtfPT7C8JjTRmHq8lQPCfuuqYjzrJDWht6SAT7w7Uf1pocR9OhIsl4fvx3Jw1bcOYsa2KfWbZ_PXLDD6YlRHM86nszS4TPFlo8_DsqJC0IMlXdBtlgqPg0gntNzuZMNg9HLpkRWiXzkXMEMdQ5OJJgVoKtBCpc9Z68aoFw_d8WNKebA1mC04DayucBOulPu1bY2HhZleTvjAlW7_wA-soRF-O9ByL59DtNfUGaJaX7SqvthGz2FSyPqlaw1UOe3fpQdutYG_A97tv_toQOJZy93o2iCcrxSWS3tPFZnu_LVyL-JRmkfaMvzxFakgA3etAOx-ReUnD8TmM3tw.ZqPbIAF9lrCM39_U9KgzHA.PdOPxoSDOoMU9saO4KtrXor5ZIStqTjA8AMrCFatJDiB3iHln7gPkzkhmS-l6w8hwu7T3VLxDe8kfVmxmbenKksumyR6pDicLaw45zb5vfY.srUkRHoxqz9QXW1pzbTo2w" + }, + + "record": { + "CNAME": "funnsam.github.io" + } +} + diff --git a/domains/furqan.json b/domains/furqan.json new file mode 100644 index 0000000000..4391efa0b1 --- /dev/null +++ b/domains/furqan.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "rediffurqan", + "email": "frqnlove8765@gmail.com" + }, + "record": { + "CNAME": "phonesme.onrender.com" + } +} diff --git a/domains/fy.json b/domains/fy.json new file mode 100644 index 0000000000..d8485c6a87 --- /dev/null +++ b/domains/fy.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "bestzwei", + "email": "post@zwei.de.eu.org" + }, + "record": { + "CNAME": "libretranslator.pages.dev" + } +} diff --git a/domains/g.6.json b/domains/g.6.json new file mode 100644 index 0000000000..ff9db082d4 --- /dev/null +++ b/domains/g.6.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "shockbs", + "email": "apipherng@gmail.com" + }, + "record": { + "URL": "https://gg.shockbs.is-a.dev/" + } +} diff --git a/domains/g.json b/domains/g.json new file mode 100644 index 0000000000..334b3759f4 --- /dev/null +++ b/domains/g.json @@ -0,0 +1,11 @@ +{ + "description": "g.is-a.dev", + "owner": { + "username": "GizzyUwU", + "email": "nerop455@gmail.com", + "discord": "gizzyowo" + }, + "record": { + "CNAME": "edge.redirect.pizza" + } +} diff --git a/domains/g.shockbs.json b/domains/g.shockbs.json new file mode 100644 index 0000000000..6d2da5cca5 --- /dev/null +++ b/domains/g.shockbs.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "shockbs", + "email": "apipherng@gmail.com" + }, + "record": { + "CNAME": "ziplineshockbs.onrender.com" + } +} diff --git a/domains/galvanized-square-steel-with-aluminium-frame.json b/domains/galvanized-square-steel-with-aluminium-frame.json new file mode 100644 index 0000000000..5c856434f5 --- /dev/null +++ b/domains/galvanized-square-steel-with-aluminium-frame.json @@ -0,0 +1,10 @@ +{ + "owner": { + "username": "yunexiz", + "discord": "1040303561847881729", + "email": "" + }, + "record": { + "CNAME": "galvanized-square-steel-with-aluminium-frame.pages.dev" + } +} diff --git a/domains/gameserver.ardaninho.json b/domains/gameserver.ardaninho.json new file mode 100644 index 0000000000..a57c2383bd --- /dev/null +++ b/domains/gameserver.ardaninho.json @@ -0,0 +1,12 @@ +{ + "owner": { + "username": "Ardaninho", + "email": "", + "discord": "639439553698201626" + }, + + "record": { + "A": ["23.88.73.88"] + } + } + \ No newline at end of file diff --git a/domains/gg.6.json b/domains/gg.6.json new file mode 100644 index 0000000000..ff9db082d4 --- /dev/null +++ b/domains/gg.6.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "shockbs", + "email": "apipherng@gmail.com" + }, + "record": { + "URL": "https://gg.shockbs.is-a.dev/" + } +} diff --git a/domains/giahuy.json b/domains/giahuy.json new file mode 100644 index 0000000000..433c7d5c28 --- /dev/null +++ b/domains/giahuy.json @@ -0,0 +1,13 @@ +{ + "description": "I Make the Worst Discord Bot on Earth", + "repo": "https://github.com/mtheintrude23/register", + "owner": { + "username": "mtheintrude23", + "email": "hostbotfree@gmail.com", + "discord": "1219514896778133594" +}, + + "record": { + "CNAME": "mtheintrude23.github.io" + } +} diff --git a/domains/gtvolk.json b/domains/gtvolk.json new file mode 100644 index 0000000000..15e7610974 --- /dev/null +++ b/domains/gtvolk.json @@ -0,0 +1,11 @@ +{ + "description": "Link for GTVolk personal site on GitHub pages", + "repo": "https://github.com/GTVolk/gtvolk.github.io", + "owner": { + "username": "GTVolk", + "email": "gtvolk31@gmail.com" + }, + "record": { + "CNAME": "gtvolk.github.io" + } +} diff --git a/domains/hansana.json b/domains/hansana.json new file mode 100644 index 0000000000..e56adb60c3 --- /dev/null +++ b/domains/hansana.json @@ -0,0 +1,12 @@ +{ + "description": "Hansana's Portfolio", + "repo": "https://github.com/hansanaD/hansanad.github.io", + "owner": { + "username": "hansanaD", + "email": "josephandrew1@logicstreak.com", + "twitter": "" + }, + "record": { + "CNAME": "hansanad.github.io" + } +} diff --git a/domains/harshnj.json b/domains/harshnj.json index 0239adcd8c..339032802b 100644 --- a/domains/harshnj.json +++ b/domains/harshnj.json @@ -22,6 +22,9 @@ "mx1.forwardemail.net", "mx2.forwardemail.net" ], - "TXT": "forward-email=harshnj@proton.me" + "TXT": [ + "forward-email=harshnj@proton.me", + "google-site-verification=Eu4i8iW1vck-KlTEnzPMfyc2WI1sgbYrNeATHJiyds0" + ] } -} \ No newline at end of file +} diff --git a/domains/he.json b/domains/he.json index 40f5e67f90..6e9cb67f38 100644 --- a/domains/he.json +++ b/domains/he.json @@ -1,9 +1,10 @@ { "owner": { "username": "Yunexiz", - "email": "yunexiz@aol.com" + "discord": "1040303561847881729", + "email": "" }, "record": { - "A": ["109.71.252.37"] + "CNAME": "yunexiz.pages.dev" } } diff --git a/domains/hilight3r.json b/domains/hilight3r.json new file mode 100644 index 0000000000..963dbaf2d0 --- /dev/null +++ b/domains/hilight3r.json @@ -0,0 +1,11 @@ +{ + "owner": { + "username": "HIlight3R", + "email": "", + "discord": "632272741000544259", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.lEEbmOZavCkur0apEhD0MigNx6rzV3Kqhd9_Lw4Wxt7U7b0rcV779rEFB1Fm4LdwKAVJJ8_MeDm1jf0y14lGqQotXsvYzRKOCBk5t7vLtS_541WkodNwOPbAUV_g2KBaq6MynjnwX5786OLkuRJE-QnxwflxQRQHtL76xYJV3d7UVmZk0ppSUxyCw5SdSXUp7zgoJiTE2JIshtR5dFULQCyH9QK7gVpNFJBwaoTJeoRsCOy_oYoXVhYysYhX94tubtwKzE4xSDmQW4UbOo8yLRNTIo-PkyuY6cBD4yYvueRcTAd_UChS12Y27QSFhQq78I7WLaE7u4cV060Th1fEmA.9kQc0tIg1PyfXJtKgbiBSQ.uFTPklnOgLBqnu-dg7ZsCEZ_QrMiuyiHY60IgI1X3CdE1kSQckWTdApOQF8AXTC0inYYfmSpfvzP02Rcgo3Z9vyrckWG_ZSJbmfKR2SOpeN_Cq94jwKAZQXW0U45LxB1.cYkl_VljmQbyvurLc7hF6Q" + }, + "record": { + "CNAME": "hilight3r.github.io" + } +} diff --git a/domains/hooman.json b/domains/hooman.json new file mode 100644 index 0000000000..0a2d2226df --- /dev/null +++ b/domains/hooman.json @@ -0,0 +1,12 @@ +{ + "description": "my personal site", + "repo": "https://github.com/ThisIsALegitUsername/thisisalegitusername.github.io", + "owner": { + "username": "hooman23", + "discord": "hooman23", + "email": "" + }, + "record": { + "CNAME": "thisisalegitusername.github.io" + } +} diff --git a/domains/horizon.json b/domains/horizon.json new file mode 100644 index 0000000000..3caf9bcc8c --- /dev/null +++ b/domains/horizon.json @@ -0,0 +1,12 @@ +{ + "owner": { + "username": "Horizon1010", + "email": "", + "discord": "877848431983493132" + }, + + "record": { + "CNAME": "lunar-hangout.pages.dev" + } + } + \ No newline at end of file diff --git a/domains/i-am.json b/domains/i-am.json new file mode 100644 index 0000000000..5b296d6420 --- /dev/null +++ b/domains/i-am.json @@ -0,0 +1,10 @@ +{ + "description": "i-am.is-a.dev", + "owner": { + "username": "i-am-is-a-dev", + "email": "lx737456@gmail.com" + }, + "record": { + "A": ["89.106.200.1"] + } +} diff --git a/domains/i.esb.json b/domains/i.esb.json new file mode 100644 index 0000000000..ffcf230cfa --- /dev/null +++ b/domains/i.esb.json @@ -0,0 +1,14 @@ +{ + "owner": { + "username": "EducatedSuddenBucket", + "email": "educatedsuddenbucket@gmail.com" + }, + "record": { + "A": [ + "185.199.108.153", + "185.199.109.153", + "185.199.110.153", + "185.199.111.153" + ] + } +} diff --git a/domains/ixdoggo.json b/domains/ixdoggo.json new file mode 100644 index 0000000000..7d1d87550c --- /dev/null +++ b/domains/ixdoggo.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "xellion-dev", + "email": "xelxtct@gmail.com" + }, + "record": { + "CNAME": "ixdoggo.pages.dev" + } +} diff --git a/domains/j.json b/domains/j.json new file mode 100644 index 0000000000..542a2a56a7 --- /dev/null +++ b/domains/j.json @@ -0,0 +1,10 @@ +{ + "description": "Short link to juststudio.is-a.dev", + "owner": { + "username": "JustStudio7", + "email": "support@juststudio.is-a.dev" + }, + "record": { + "A": ["89.106.200.1"] + } +} diff --git a/domains/janco.json b/domains/janco.json new file mode 100644 index 0000000000..3ed28457eb --- /dev/null +++ b/domains/janco.json @@ -0,0 +1,13 @@ +{ + "owner": { + "username": "JancoNel", + "email": "", + "discord": "1264555376918134796", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.LXD6kezr5CJaRBhFUVB3WcB2IKWzrw1zn6yuWQNmDlGbppbOw7W1GqJWiqePOPHEA_7EVj2f-pvK1WnkFaW4i1g0zpqAPeyNQfyVtlpttW7cyWFJGe_gRoTznaXXvntNw84qOEIIuPqFFloq03Lqdj5Iox736TOefBr5uTSieAj1oJ-qcQS424nnBrremLgjE3mEXY9ORhaTYD3XPdbvX6iYKrDl8ooM_nmkorcZzmoNjCKHDe3p6TML2vuPey_YTX1R0hJGJ1A99VYdBCVhvfEeeEO9Aaxo9Nu-4Um78wMHqtp7oryLHpwOcUzp7a3rAIkjtQaNmiL4jHLoWJFgtw.GWB9aQvdXYxUHmvAYGxK0A.IfxHtkIYUorJIxI7RvkstIB_pGZ-baszSq-IpLE_9arsm3tPTctQbz_Urii0J1-nBvjUaKdkQiWQDa_YBawyT7qber-j-zZlunX-bILrcT4.L4Sb6DK6xcrjwkUsYRmLXw" + }, + + "record": { + "CNAME": "janconel.github.io" + } + } + \ No newline at end of file diff --git a/domains/jariullah.json b/domains/jariullah.json new file mode 100644 index 0000000000..131aa51d6e --- /dev/null +++ b/domains/jariullah.json @@ -0,0 +1,11 @@ +{ + "description": "Personal Portfolio", + "repo": "https://github.com/Mohdjariullah/portfolio1", + "owner": { + "username": "mohdjariullah", + "email": "mohdjariullah@gmail.com" + }, + "record": { + "CNAME": "mohdjariullah.github.io" + } +} diff --git a/domains/jd.json b/domains/jd.json new file mode 100644 index 0000000000..fef85ac0d8 --- /dev/null +++ b/domains/jd.json @@ -0,0 +1,11 @@ +{ + "description": "Short link to justdeveloper.is-a.dev", + "owner": { + "username": "JustDeveloper1", + "email": "justdeveloper@juststudio.is-a.dev", + "discord": "1117482901353812088" + }, + "record": { + "A": ["89.106.200.1"] + } +} diff --git a/domains/joe50097.json b/domains/joe50097.json new file mode 100644 index 0000000000..93f5d50bbb --- /dev/null +++ b/domains/joe50097.json @@ -0,0 +1,16 @@ +{ + "owner": { + "username": "Joe50097", + "email": "zcell9500@gmail.com" + }, + "record": { + "MX": [ + "mx1.improvmx.com", + "mx2.improvmx.com" + ], + "TXT": "v=spf1 include:spf.improvmx.com ~all", + "A": [ + "75.2.60.5" + ] + } +} diff --git a/domains/joinsachinarya.json b/domains/joinsachinarya.json new file mode 100644 index 0000000000..bec22cef16 --- /dev/null +++ b/domains/joinsachinarya.json @@ -0,0 +1,14 @@ +{ + "description": "Portfolio website", + "repo": "https://github.com/joinsachinarya/joinsachinarya.is-a.dev.git", + "owner": { + "username": "joinsachinarya", + "email": "joinsachinarya@gmail.com", + "twitter": "joinsachinarya" + }, + "record": { + "A": [ + "75.2.60.5" + ] + } +} diff --git a/domains/joyal-jijo.json b/domains/joyal-jijo.json new file mode 100644 index 0000000000..55c4a44a58 --- /dev/null +++ b/domains/joyal-jijo.json @@ -0,0 +1,14 @@ +{ + "description": "joyal portfolio", + "repo": "https://github.com/joyal-jij0/portfolio", + "owner": { + "username": "joyal-jij0", + "email": "", + "discord": "joyal_jij0" + }, + "record": { + "A": [ + "75.2.60.5" + ] + } +} \ No newline at end of file diff --git a/domains/just.json b/domains/just.json new file mode 100644 index 0000000000..04c99bd69b --- /dev/null +++ b/domains/just.json @@ -0,0 +1,11 @@ +{ + "description": "Short link to juststudio.is-a.dev", + "owner": { + "username": "JustStudio7", + "email": "support@juststudio.is-a.dev", + "discord": "1117482901353812088" + }, + "record": { + "A": ["89.106.200.1"] + } +} diff --git a/domains/justdev.json b/domains/justdev.json new file mode 100644 index 0000000000..c6539887aa --- /dev/null +++ b/domains/justdev.json @@ -0,0 +1,10 @@ +{ + "description": "Short link to justdeveloer.is-a.dev", + "owner": { + "username": "JustDeveloper1", + "email": "justdeveloper@juststudio.is-a.dev" + }, + "record": { + "A": ["89.106.200.1"] + } +} diff --git a/domains/justdeveloper.json b/domains/justdeveloper.json new file mode 100644 index 0000000000..468029b982 --- /dev/null +++ b/domains/justdeveloper.json @@ -0,0 +1,21 @@ +{ + "description": "JustDeveloper", + "repo": "https://github.com/JustDeveloper1/justdeveloper1.github.io", + "owner": { + "username": "JustDeveloper1", + "email": "justdeveloper@juststudio.is-a.dev", + "discord": "1117482901353812088" + }, + "record": { + "A": [ + "185.199.108.153", + "185.199.109.153", + "185.199.110.153", + "185.199.111.153" + ], + "TXT": [ + "google-site-verification=qBaFslC7xe6gcHiolYEJ32HjpJVk-ZOMbRpu_1zkm_s", + "yandex-verification: 10cec93159ddc69f" + ] + } +} diff --git a/domains/juststudio.json b/domains/juststudio.json new file mode 100644 index 0000000000..4f2722c821 --- /dev/null +++ b/domains/juststudio.json @@ -0,0 +1,27 @@ +{ + "description": "JustStudio.", + "repo": "https://github.com/JustStudio7/juststudio7.github.io", + "owner": { + "username": "JustStudio7", + "email": "support@juststudio.is-a.dev", + "discord": "1117482901353812088" + }, + "record": { + "A": [ + "185.199.108.153", + "185.199.109.153", + "185.199.110.153", + "185.199.111.153" + ], + "MX": [ + "mx.zoho.eu", + "mx2.zoho.eu", + "mx3.zoho.eu" + ], + "TXT": [ + "v=spf1 include:zohomail.eu ~all", + "google-site-verification=qUvCromdvfxnS6LXzcxcha5rEsHUzBxl9nZH6sT3Dk4", + "yandex-verification: aac5928d8d57ade9" + ] + } +} diff --git a/domains/k.json b/domains/k.json new file mode 100644 index 0000000000..3e82368d94 --- /dev/null +++ b/domains/k.json @@ -0,0 +1,10 @@ +{ + "owner": { + "username": "MaskDuck", + "email": "", + "discord": "716134528409665586" + }, + "record": { + "CNAME": "maskduck.pages.dev" + } +} diff --git a/domains/kaizenji2024.json b/domains/kaizenji2024.json new file mode 100644 index 0000000000..7e5186cefa --- /dev/null +++ b/domains/kaizenji2024.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "Kaizenji", + "email": "baratumal6788@gmail.com" + }, + "record": { + "CNAME": "jayceeqti-web.pages.dev" + } + } diff --git a/domains/karacsony.vamtic.json b/domains/karacsony.vamtic.json new file mode 100644 index 0000000000..a0c9ee3042 --- /dev/null +++ b/domains/karacsony.vamtic.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "vamtic", + "email": "vamtic@yahoo.com" + }, + "record": { + "CNAME": "karacsony.pages.dev" + } +} diff --git a/domains/katz.json b/domains/katz.json index 2250333dac..a9b2826ab0 100644 --- a/domains/katz.json +++ b/domains/katz.json @@ -6,7 +6,7 @@ }, "record": { "A": [ - "69.197.135.202" + "69.197.135.205" ] } } diff --git a/domains/kaushalbuccha.json b/domains/kaushalbuccha.json new file mode 100644 index 0000000000..4ccd0ef0a1 --- /dev/null +++ b/domains/kaushalbuccha.json @@ -0,0 +1,14 @@ +{ + "description": "Devloper Portfolio", + "repo": "https://github.com/kaushalbuccha/Portfolio", + "owner": { + "username": "kaushalbuccha", + "email": "kaushaljain741@gmail.com", + "twitter": "kaushalbuccha" + }, + "record": { + "A": [ + "75.2.60.5" + ] + } +} diff --git a/domains/kingofnetflix.json b/domains/kingofnetflix.json new file mode 100644 index 0000000000..94a621fb96 --- /dev/null +++ b/domains/kingofnetflix.json @@ -0,0 +1,12 @@ +{ + "owner": { + "username": "kingofnetflix", + "email": "kingofnetflix@waifu.club" + }, + "description": "personal development work (websites, reverse proxying, etc)", + "record": { + "A": [ + "161.35.97.251" + ] + } +} diff --git a/domains/kito.json b/domains/kito.json new file mode 100644 index 0000000000..0bd1ba082f --- /dev/null +++ b/domains/kito.json @@ -0,0 +1,13 @@ +{ + "owner": { + "username": "KitoMCVN", + "email": "", + "discord": "915876843884777472", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.bWNBxXSrLT81uzEvuFDyDzQ6MUq8Aq3mkVGE9xrhoZ3emFszHFj1sr4hGsNg-X2IJWAYJHNAFuN6ihvsdWNW1fuJIyUpYUfxnwG272uIjq1441itpD61r9GEjhVI9-f9eiA0DCM3mZxf7JABbSZEAAQSjkQNBZy7btbWqAC_fcvaHlh8tTkmn8tiCF6PmYUaU_-OVcVfpLqfE1NG4jWhqDdh6PHy-YJdNSRMggPKW1tgOkAzzPkFDFJbZLGxbRRhPFzsVi64Q4arfkQgTcsJpEGD5RwQvbb3j_lHGtErQvCndbnhcKAOltYpc-DL3Iv8A0iTeUsrpQ8lu-FKPOuVhg.eEabdg4lkJkWzZ9LhlnMAw.BxE4h5-4aIfPNc5C1Fc13n243OxCAOj0p6aWN6sClxRz9osKsmy_ASiLJ-S0thDvWu4-IDNdEvpt2pmjkQe2a4nCDDIZ8Lh9RHzVOZi_hQs.OTiy1ZwmVAWUfoEqGkqCEg" + }, + + "record": { + "CNAME": "kitomc.site" + } + } + \ No newline at end of file diff --git a/domains/kittyneverdies.json b/domains/kittyneverdies.json new file mode 100644 index 0000000000..2f98b1943e --- /dev/null +++ b/domains/kittyneverdies.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "kittyneverdies", + "email": "Catofeyevich@proton.me" + }, + "record": { + "CNAME": "kittyneverdies.github.io" + } +} diff --git a/domains/kokoapi.json b/domains/kokoapi.json new file mode 100644 index 0000000000..0aae2b79b3 --- /dev/null +++ b/domains/kokoapi.json @@ -0,0 +1,12 @@ +{ + "owner": { + "username": "kokofixcomputers", + "email": "", + "discord": "1096839213313446019", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.OVsezriezhfXmczekw7NKD6j1jiTDnkJZaV8hmKUT6jVau-fAM4xsfKuSd55u-ayIYDJTJmqUhOdDcRNGn9qJMQU1swUYKM2IjqV5F39j62OBWCEuvGahVIlvk3qPBrL6BsTnE6U5V6AcL7fk07JR7VQncG_gLo_CsF2D3NkMlvjeJweQKk-PjP5f64lFJxpGo4X6lfRgvYI9IAfyDFCBuXVz1bziA_ZLHMLSGSm6OxJSBBPV42TqlHNYGzRYaEq5gBDnANsuNDVN27pHgDEQjhCxP07U3V5dAL7JcESSlR7QQSng47lwmetAtfMlW2HSeOkBLLpkI82XNDCjwnsXA.Qpc8I5_rOVUFEGrJgh4mnw.aZ_gT11nH1hgU_JXz5a01NBB6CDgcy4i9cgBeqo2j50HuQ00uDzzBDS6M941D0WsCOLnzaQ1XvjXLcFiHKcBuINVPaVNDu0X0Nm2ruoPpfLyS6mRa_efDkm9rwXR3bghgOKkE1wcXTR6LyOkDEhyYg.jmEV6MAXMmLltboCG3yE6w" + }, + + "record": { + "A": ["37.114.46.39"] + } + } diff --git a/domains/kokoauth.json b/domains/kokoauth.json new file mode 100644 index 0000000000..2f6ffbed2d --- /dev/null +++ b/domains/kokoauth.json @@ -0,0 +1,13 @@ +{ + "owner": { + "username": "kokofixcomputers", + "email": "", + "discord": "1096839213313446019", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.siGn-NNc3J0a5tP-qPXfUiXXiLIVsc0rU0Xd0LJ2zn1pvgeLu42wC5CVbz2mPW9PvsxmeOF2FdX4W1ki8dkzxI5tZO3CljQWLsKq26TpVGTApDCXDUEFk80WpmvQK_uBajVrL-0Jaq_teH1coNYFPbH5dp9WmOV3ckgCkqwqP7alY4klkZ9A6GsdkcJ51gbQ1qHp1qZIX7jwBNcOXE0WR5KTNXKeeOGSvHbAGEWhLc96y6TzokyZsC71pkTF0UjrLfB4uylcD0UfEONiwDKc8jjXR3Jz3GnfzgaSqPjRNYqMjXQ5XxPXwjv8t4iCP3cBRNEMM70pFXneFWt3defrMQ.6dpv7unaFwIz_IkI7VerwA.P9NXfPTD2LDNEdOFa-roPC1NDB1WvFiX8Giai3cjpNFYcYHJyH7_7lOV6o4zUoN83Ttt1VaukQKLsMk2kaVedZUPPryAhzVLMJiG7-GiJlW22PgcTkjB67jRjqEdoSo_zS70y1C7KeiLv7ZyY_koGg.2NwhAegHA2i-6E9hhzlXfQ" + }, + + "record": { + "A": ["45.90.12.32"] + } + } + \ No newline at end of file diff --git a/domains/kunsh13.json b/domains/kunsh13.json new file mode 100644 index 0000000000..4e79e94a0b --- /dev/null +++ b/domains/kunsh13.json @@ -0,0 +1,11 @@ +{ + "description": "kunsh13.is-a.dev", + "repo": "https://github.com/kunsh13/iptv", + "owner": { + "username": "kunsh13", + "email": "kunshmaurya@gmail.com" + }, + "record": { + "CNAME": "kunsh13.github.io" + } +} diff --git a/domains/l.json b/domains/l.json new file mode 100644 index 0000000000..c45a313f91 --- /dev/null +++ b/domains/l.json @@ -0,0 +1,11 @@ +{ + "description": "redirect domain", + "repo": "https://github.com/xkcdnerd/xkcdnerd.github.io", + "owner": { + "username": "xkcdnerd", + "email": "evanwang330@gmail.com" + }, + "record": { + "URL": "https://nerd.is-a.dev" + } +} diff --git a/domains/leandrogameplays.json b/domains/leandrogameplays.json new file mode 100644 index 0000000000..bcea816a7b --- /dev/null +++ b/domains/leandrogameplays.json @@ -0,0 +1,17 @@ +{ + "owner": { + "username": "LeandroGameplaysBR", + "email": "leandrogameplays74@outlook.com", + "discord": "351853993443590145", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.bZj78GsosfV-njUz8U1rJxGiVcdUic3W0HrirEAP8066paJbeal5aYkKOyyeTO7hmyatEJgdXr2DGGPexl079J4oawcsXiQYrewOwsc4XeLkpiWmAkMAJlflEy0Lwu_zPIcS6FHbLscjFltjYB0I_VaWH7d1yL-dDdB_9f79LqePpEDVWeSm_tE_K9AvOZWTxjlW-MLgtsF_dZkMCn5ez7gfQxya4KHFY2l9bEREmRe_hr_ZZp12WvNrlF29qW5MFbFQsbrYsDrI-iOxjsY041RJVT7G1abtTkF1bLuFN-5dkHXmcobAgsA9i_Z217_NLhVEfzfhxiEVvhh8bsxt-g.0gki4o65YPpemExFGVKWGQ.5filVxsyk_BErBgcU2nFuEHMtIuNQI1lUXV5oQtFB3Dr3eZCishTmAzyicrT_fu3I_BG1lstU2B3HXIDkza2bwRgOV1QTc0YmXT1jnY17tteTxICfcLkjgwqXYcoakfu.-rWHQPsibUCgYKaPMnP7vQ" + }, + "record": { + "MX": [ + "mx1.improvmx.com", + "mx2.improvmx.com" + ], + "TXT": [ + "v=spf1 include:spf.improvmx.com ~all" + ] + } +} diff --git a/domains/link.vamtic.json b/domains/link.vamtic.json new file mode 100644 index 0000000000..c1ffc9e532 --- /dev/null +++ b/domains/link.vamtic.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "vamtic", + "email": "vamtic@yahoo.com" + }, + "record": { + "CNAME": "cname.short.io" + } +} diff --git a/domains/links.trung.json b/domains/links.trung.json index 0138cea655..b99730c4e9 100644 --- a/domains/links.trung.json +++ b/domains/links.trung.json @@ -4,6 +4,6 @@ "email": "vuthanhtrungsuper@gmail.com" }, "record": { - "A": ["37.114.46.15"] + "A": ["35.185.84.140"] } } diff --git a/domains/lousybot.vulpine.json b/domains/lousybot.vulpine.json new file mode 100644 index 0000000000..508ba76f17 --- /dev/null +++ b/domains/lousybot.vulpine.json @@ -0,0 +1,13 @@ +{ + "owner": { + "username": "VulpineFriend87", + "email": "", + "discord": "911268706112397392", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.r6syW7tNxlBa5qDUur4fffj5IZ_eJk-iOjUdEY0ltdKkaQb4_duvgZdvfL5vEgus1-X6ITfovRqqRdBe0QrCUz0cGZJApqG1mNatuxfLpIvsUs6NJXgUlvtlZNgEIs4quS9nTYkwaf2GN00Dw9HIWiI1kK9Xeka9pF5mawoiEBvUgkIkXIsIsN5o8_UP-RFCA1SPqRm9G5hsgGm4xH5XW8ujrZV-rO3DOq7Y1-3jg9Wu7pchKNWGB1gxwcNtYsJdwPt1rVVHUIRrwRTB0RO5iA-lOKD0uTb0YTqljQRraTm76ED6w5xOy5cF2-dAb93NOIh_BKK-kacf1PW5AzU_WA.0uyS8PftuzxGzQXJ0Ku2ZQ.AkMecMaSNp3FPFR-cVg6ZylxV9UUwjF1P0NIIZaiHyVtr-Xzl4qnbWebKMlZ3rMT8VusovJslRt5wAL8QaPuXBlznTy2drUJUuy6rZ-3l94.WUo41eNKnKL5vZMgoweWPw" + }, + + "record": { + "A": ["69.30.249.53"] + } + } + \ No newline at end of file diff --git a/domains/amberos.json b/domains/luminaos.json similarity index 53% rename from domains/amberos.json rename to domains/luminaos.json index f149378989..f40a1bb761 100644 --- a/domains/amberos.json +++ b/domains/luminaos.json @@ -1,9 +1,9 @@ { "owner": { - "username": "amberOS-win", + "username": "luminaOS-win", "email": "winbo-yml-exe@outlook.com" }, "record": { - "CNAME": "amberos-win.github.io" + "CNAME": "luminaos-win.github.io" } } diff --git a/domains/lumix.json b/domains/lumix.json index 0c1b9a7e8a..7ab1e24b0d 100644 --- a/domains/lumix.json +++ b/domains/lumix.json @@ -1,11 +1,11 @@ { "owner": { "username": "o-lumix", - "email": "lumixofficiel@gmail.com", + "email": "bylumixxx@gmail.com", "discord": "828313756827516949" }, "record": { - "CNAME": "o-lumix.github.io" + "CNAME": "lumix-cmq.pages.dev" } } diff --git a/domains/m.json b/domains/m.json new file mode 100644 index 0000000000..559b318c51 --- /dev/null +++ b/domains/m.json @@ -0,0 +1,10 @@ +{ + "owner": { + "username": "is-a-dev", + "email": "" + }, + "record": { + "MX": ["mail.wdh.gg"], + "TXT": "v=spf1 include:_spf.wdh.gg ~all" + } +} diff --git a/domains/mail.amaankazi.json b/domains/mail.amaankazi.json new file mode 100644 index 0000000000..edf5434c86 --- /dev/null +++ b/domains/mail.amaankazi.json @@ -0,0 +1,11 @@ +{ + "description": "Amaan Kazi's subdomain for mails", + "owner": { + "username": "Amaan-Kazi", + "email": "amaankazi1793@gmail.com" + }, + "record": { + "MX": ["mx1.improvmx.com", "mx2.improvmx.com"], + "TXT": "v=spf1 include:spf.improvmx.com ~all" + } +} diff --git a/domains/mail.shymike.json b/domains/mail.shymike.json new file mode 100644 index 0000000000..f6248a69bc --- /dev/null +++ b/domains/mail.shymike.json @@ -0,0 +1,15 @@ +{ + "owner": { + "username": "ImShyMike", + "email": "" + }, + "record": { + "MX": [ + "mx1.improvmx.com", + "mx2.improvmx.com" + ], + + "TXT": "v=spf1 include:spf.improvmx.com ~all" + } + } + \ No newline at end of file diff --git a/domains/maintainers.json b/domains/maintainers.json index eaff9566de..f305d1c744 100644 --- a/domains/maintainers.json +++ b/domains/maintainers.json @@ -1,14 +1,10 @@ { "owner": { - "username": "is-a-dev", - "email": "" + "username": "is-a-dev", + "email": "" }, "record": { - "URL": "https://team.is-a.dev", - "MX": [ - "mx1.improvmx.com", - "mx2.improvmx.com" - ], - "TXT": "v=spf1 include:spf.improvmx.com ~all" + "MX": ["mail.wdh.gg"], + "TXT": "v=spf1 include:_spf.wdh.gg ~all" } } diff --git a/domains/mak448a.json b/domains/mak448a.json index df469e3b75..2f9ad09408 100644 --- a/domains/mak448a.json +++ b/domains/mak448a.json @@ -1,7 +1,8 @@ { "owner": { "username": "mak448a", - "email": "thracc448@gmail.com" + "email": "", + "discord": "295391820744228867" }, "record": { "CNAME": "mak448a.github.io" diff --git a/domains/malik.json b/domains/malik.json new file mode 100644 index 0000000000..38201e1f74 --- /dev/null +++ b/domains/malik.json @@ -0,0 +1,13 @@ +{ + "owner": { + "username": "Gwilymm", + "email": "", + "discord": "236575185849810944", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.dMI0nCVMnrusA6rZGPce5iBkGP9OpJCD_TGzFTtS1Ko2rDuVGKx-MgjX-GOwprAfcVuyWAFkKg6_ojRzld7lZeZmOxJE8DkOCW7VC-jWVQpZxZPJJFzEsqw4C9HLVSg2jUuhmRst8JzfhLFIvYPxeFv9w9rwQabWWCa9Trj4w9QRqAdwCX-vaVBo53C2D_n_fneAkTyvTHanNbipUNd2B-DbSrVdutzt0Ke-s5CZwKihRHfGB5hRVN0Oo5jviOPN7J2z5Q_8ObKv96uE_Mg0v08hM-bC47e4JLI1YnMl9z1-yq-m4tnSdhct7oBFg8SXehYu5GdvHMGmco6mrB6U_g.FdEs8-xLPtiqUTvLnijCYg.Cp4jo4xgq_zwhJD7HYchf6WysPFYx7E5Nsk6fq1IS_GLnQaIm2sg2qojKEVj9WKM_W97cQp4hRz7GPwAshmlRFiVstyw5pguVksRfE4aUfE.aKO5_Shplf_wnBE5idRQZg" + }, + + "record": { + "A": ["149.56.15.68"] + } + } + \ No newline at end of file diff --git a/domains/manage.uptime.trung.json b/domains/manage.uptime.trung.json index 0138cea655..b99730c4e9 100644 --- a/domains/manage.uptime.trung.json +++ b/domains/manage.uptime.trung.json @@ -4,6 +4,6 @@ "email": "vuthanhtrungsuper@gmail.com" }, "record": { - "A": ["37.114.46.15"] + "A": ["35.185.84.140"] } } diff --git a/domains/maskduck.json b/domains/maskduck.json index 81573292a4..f678bcdbc8 100644 --- a/domains/maskduck.json +++ b/domains/maskduck.json @@ -5,6 +5,6 @@ "discord": "_ngiu.a_" }, "record": { - "CNAME": "maskduck.github.io" + "CNAME": "maskduck.pages.dev" } } diff --git a/domains/maxgiveawaybot.json b/domains/maxgiveawaybot.json new file mode 100644 index 0000000000..5785233887 --- /dev/null +++ b/domains/maxgiveawaybot.json @@ -0,0 +1,13 @@ +{ + "owner": { + "username": "emmu123", + "email": "", + "discord": "863271170228486187", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.U15Blx01XkJwDCgPniImJMBtkqzEzQ_InjZmPuBx2h7RRMPnBgBqUDOgC6r4r0NCARF6iKa5FqP5dJkh2wP2d0fV3opIioWqApLGll1XQOTW5N14yTk3NO9B7Sqa2RVMB-xmxxrXSyILkDXO3WnF4k2JUdoIYJ2E_wd5Mo8CwQpkd3hIfzfroaoSUvmeIR_cDh3KLOoliP-1SFuNn_Yo4sqoFI0xifcQsXAEV9RLaQ5KuJQz9mv6RBeT8C13TxJIt51e4Bb_JXLMyVjz-jiFyuOTIY0Wt3e8ATgXXHovoJkDiP71xcEWA1jzWUGEWE1qC9bmseghh-Ii6_Z4ieWdKA.ddonB5m57O0yCwXStFhsiw.DjqWalsKwjt07LA_Q--Kxda7_hfxAwvgBHtGQphyj7VRCbVT3DBitJmTXvH0fUuJ4oqs4Lr0iWl7gbAi9zxJmKHXWuGJ7D-yDmSQRPwfJYE.RetwqAP8tPc9M0RpGyk26A" + }, + + "record": { + "CNAME": "emmu123.github.io" + } + } + \ No newline at end of file diff --git a/domains/maxgreet.json b/domains/maxgreet.json new file mode 100644 index 0000000000..64627b79c1 --- /dev/null +++ b/domains/maxgreet.json @@ -0,0 +1,15 @@ +{ + "description": "Discord bot features.", + "repo": "https://emmu123.github.io/Max-Greet/", + "owner": { + "username": "emmu123", + "email": "aneenababu71901@gmail.com", + "discord": "863271170228486187", + "repo": "https://emmu123.github.io/Max-Greet/" + }, + + "record": { + "CNAME": "emmu123.github.io" + } + } + diff --git a/domains/maxgreetbot.json b/domains/maxgreetbot.json new file mode 100644 index 0000000000..a184d15bad --- /dev/null +++ b/domains/maxgreetbot.json @@ -0,0 +1,10 @@ +{ + "owner": { + "username": "emmu123", + "email": "aneenababu71901@gmail.com", + "repo": "https://emmu123.github.io/Max-Greet/" + }, + "record": { + "CNAME": "emmu123.github.io" + } +} diff --git a/domains/mc.esb.json b/domains/mc.esb.json index 3c58af7540..6a7b11a159 100644 --- a/domains/mc.esb.json +++ b/domains/mc.esb.json @@ -4,6 +4,6 @@ "email": "educatedsuddenbucket@gmail.com" }, "record": { - "CNAME": "educatedsuddenbucket.duckdns.org" + "CNAME": "bff5bd034c7fbbeafaaf626f505c8cc5.ipv4.tcpshield.com" } } diff --git a/domains/mc.h3l.json b/domains/mc.h3l.json new file mode 100644 index 0000000000..0145ec64c3 --- /dev/null +++ b/domains/mc.h3l.json @@ -0,0 +1,11 @@ +{ + "description": "Documentation for is-a-dev", + "repo": "https://github.com/is-a-dev/docs", + "owner": { + "username": "gvalue-04", + "email": "vaporvault04@gmail.com" + }, + "record": { + "CNAME": "on-clan.gl.at.ply.gg" + } +} diff --git a/domains/mc.json b/domains/mc.json new file mode 100644 index 0000000000..a6716c4d6d --- /dev/null +++ b/domains/mc.json @@ -0,0 +1,13 @@ +{ + "owner": { + "username": "EducatedSuddenBucket", + "email": "", + "discord": "1167825360151380032", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.LSD9kCcuVMiKKvlR-FO7qhiXahKbBdhrtM9wnZpaelPXdjLYvhVOOIGNqpus2aj8DuVjqu3gvaoKqOOCvlxZVe8O22Ef6JqCtu2HWMm4nZbXfpUyxpORZbSXuKg8JOIdX50Tm2Hrx3UwG4xjzbRAK96DUuew4l2qeIyEUrl1ycBpv5CEDPVQz6DN7v1IoWEZlYHup9x9zIjC4U-YR3zjXOTZPjyQul9fQFKXqy9oNsock4u0PTHCJ6q9aNG4WW2_n4gyGxYGXN5IdRxIsIIuXGif_W4u2FbjcSiWPvmN7FND-1jWnvwhYTK6fT0L5j2FJ7SVFanm1wi8Rg8AM2iG6A.oVOsZt9TwDae4njjIkcczw.p2DEVq4W4Wp1FbeEd50P0KQYEtxu_purdwrb5eskPNIhn-UU8V3V4MCcA0IFYSEtWGbjdHy3YtI6NXp_zTE1INyHslf9sBsr1zohyhTzqbHw3FYB_C7ZZioMg6jXrIy2.Yj7_I0i-HKwO8VBpDxpQeA" + }, + + "record": { + "CNAME": "bff5bd034c7fbbeafaaf626f505c8cc5.ipv4.tcpshield.com" + } + } + \ No newline at end of file diff --git a/domains/mc.sono.json b/domains/mc.sono.json index ad2aecda3b..09dcc7b081 100644 --- a/domains/mc.sono.json +++ b/domains/mc.sono.json @@ -4,6 +4,6 @@ "email": "sono.arbeit@gmail.com" }, "record": { - "CNAME": "time-nation.joinmc.link" + "CNAME": "f30e650e-c871-4081-bcac-de9791d361f3.shield.neoprotect.ovh" } } diff --git a/domains/meywy.json b/domains/meywy.json new file mode 100644 index 0000000000..87a6c494e7 --- /dev/null +++ b/domains/meywy.json @@ -0,0 +1,19 @@ +{ + "description": "Portfolio", + "repo": "https://github.com/Meywy/meywy.github.io", + "owner": { + "username": "Meywy", + "email": "meywyy@gmail.com", + "discord": "923162990419791913" + }, + "record": { + "MX": [ + "mx1.improvmx.com.", + "mx2.improvmx.com." + ], + "TXT": "v=spf1 include:spf.improvmx.com ~all", + "A": [ + "75.2.60.5" + ] + } +} diff --git a/domains/milu.json b/domains/milu.json new file mode 100644 index 0000000000..20fdbd50fc --- /dev/null +++ b/domains/milu.json @@ -0,0 +1,12 @@ +{ + "owner": { + "username": "milanmarton", + "email": "", + "discord": "312899549670801410" + }, + + "record": { + "CNAME": "milu-eor.pages.dev" + } + } + \ No newline at end of file diff --git a/domains/mjclavillas.json b/domains/mjclavillas.json new file mode 100644 index 0000000000..2b335e7754 --- /dev/null +++ b/domains/mjclavillas.json @@ -0,0 +1,10 @@ +{ + "description": "", + "owner": { + "username": "mjclavillas", + "email": "mjdc1337@gmail.com" + }, + "record": { + "CNAME": "mjclavillas.github.io" + } +} diff --git a/domains/mjdc.json b/domains/mjdc.json new file mode 100644 index 0000000000..2b335e7754 --- /dev/null +++ b/domains/mjdc.json @@ -0,0 +1,10 @@ +{ + "description": "", + "owner": { + "username": "mjclavillas", + "email": "mjdc1337@gmail.com" + }, + "record": { + "CNAME": "mjclavillas.github.io" + } +} diff --git a/domains/mohdjariullah.json b/domains/mohdjariullah.json new file mode 100644 index 0000000000..b9abd94bb9 --- /dev/null +++ b/domains/mohdjariullah.json @@ -0,0 +1,12 @@ +{ + "description": "Personal Portfolio", + "repo": "https://github.com/Mohdjariullah/portfolio1/", + "owner": { + "username": "mohdjariullah", + "email": "mohdjariullah@gmail.com", + "twitter": "@mohdjariullah" + }, + "record": { + "CNAME": "mohdjariullah.github.io" + } +} diff --git a/domains/mongodb.trung.json b/domains/mongodb.trung.json index 0138cea655..b99730c4e9 100644 --- a/domains/mongodb.trung.json +++ b/domains/mongodb.trung.json @@ -4,6 +4,6 @@ "email": "vuthanhtrungsuper@gmail.com" }, "record": { - "A": ["37.114.46.15"] + "A": ["35.185.84.140"] } } diff --git a/domains/mrdiamond.json b/domains/mrdiamond.json index a6a93fe3a3..691b44ea17 100644 --- a/domains/mrdiamond.json +++ b/domains/mrdiamond.json @@ -4,6 +4,6 @@ "email": "drewratner27@gmail.com" }, "record": { - "A": ["129.146.158.220"] + "CNAME": "mrdiamond.pages.dev" } } diff --git a/domains/mxritz.json b/domains/mxritz.json new file mode 100644 index 0000000000..c36cab614e --- /dev/null +++ b/domains/mxritz.json @@ -0,0 +1,10 @@ +{ + "description": "Personal Portfolio", + "owner": { + "username": "Moritz-Deiaco", + "email": "moritz.deiaco@gmail.com" + }, + "record": { + "CNAME": "proxy.host.bytes.wtf" + } +} diff --git a/domains/mystic.trung.json b/domains/mystic.trung.json index 0138cea655..b99730c4e9 100644 --- a/domains/mystic.trung.json +++ b/domains/mystic.trung.json @@ -4,6 +4,6 @@ "email": "vuthanhtrungsuper@gmail.com" }, "record": { - "A": ["37.114.46.15"] + "A": ["35.185.84.140"] } } diff --git a/domains/mzn.json b/domains/mzn.json new file mode 100644 index 0000000000..45d33185bf --- /dev/null +++ b/domains/mzn.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "mznking", + "email": "maazinking23@gmail.com" + }, + "record": { + "CNAME": "mzn-king.onrender.com" + } +} diff --git a/domains/mzykin.json b/domains/mzykin.json new file mode 100644 index 0000000000..b8fdcf5f95 --- /dev/null +++ b/domains/mzykin.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "maxzkn", + "email": "maks.zyk@gmail.com" + }, + "record": { + "CNAME": "mzykin.com" + } +} diff --git a/domains/nam.json b/domains/nam.json deleted file mode 100644 index b581e140ea..0000000000 --- a/domains/nam.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "owner": { - "username": "chadcat7", - "email": "namishpande2007@gmail.com" - }, - "record": { - "CNAME": "chadcat7.github.io" - } -} diff --git a/domains/namra.json b/domains/namra.json new file mode 100644 index 0000000000..d93d64a8de --- /dev/null +++ b/domains/namra.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "njxixi", + "email": "jnamra.nj@gmail.com" + }, + "record": { + "CNAME": "njxixi.github.io" + } +} diff --git a/domains/neoapps.json b/domains/neoapps.json new file mode 100644 index 0000000000..d5f3eea2a9 --- /dev/null +++ b/domains/neoapps.json @@ -0,0 +1,10 @@ +{ + "description": "NEOAPPS", + "owner": { + "username": "neoapps-dev", + "email": "asd22.info@gmail.com" + }, + "record": { + "URL": "https://neoapps-dev.github.io/web" + } +} diff --git a/domains/nexfilms.json b/domains/nexfilms.json new file mode 100644 index 0000000000..a17be18d1e --- /dev/null +++ b/domains/nexfilms.json @@ -0,0 +1,12 @@ +{ + "owner": { + "username": "nexos20levrai", + "email": "", + "discord": "610847328680673302" + }, + + "record": { + "A": ["5.181.187.182"] + } + } + \ No newline at end of file diff --git a/domains/nexflix.json b/domains/nexflix.json new file mode 100644 index 0000000000..a17be18d1e --- /dev/null +++ b/domains/nexflix.json @@ -0,0 +1,12 @@ +{ + "owner": { + "username": "nexos20levrai", + "email": "", + "discord": "610847328680673302" + }, + + "record": { + "A": ["5.181.187.182"] + } + } + \ No newline at end of file diff --git a/domains/nexproxymanager.json b/domains/nexproxymanager.json new file mode 100644 index 0000000000..a17be18d1e --- /dev/null +++ b/domains/nexproxymanager.json @@ -0,0 +1,12 @@ +{ + "owner": { + "username": "nexos20levrai", + "email": "", + "discord": "610847328680673302" + }, + + "record": { + "A": ["5.181.187.182"] + } + } + \ No newline at end of file diff --git a/domains/nexsphere.json b/domains/nexsphere.json deleted file mode 100644 index f08b7b4041..0000000000 --- a/domains/nexsphere.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "owner": { - "username": "nexos20levrai", - "email": "nexos.dons@gmail.com" - }, - "record": { - "A": ["146.19.168.239"] - } -} diff --git a/domains/ngvgb.json b/domains/ngvgb.json new file mode 100644 index 0000000000..f663a706a9 --- /dev/null +++ b/domains/ngvgb.json @@ -0,0 +1,13 @@ +{ + "owner": { + "username": "NgVGB-Workspace", + "email": "", + "discord": "905671220333264966", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.PRdSIXpK3bfSVItlR4zG6y6YC0KwWF8fALLRJoKYHEiMUwTFQvi48kgvzveCVwUBuYJWQBMCYWBVstMTtR32JBnpQFMNVUnh3m3sFWKIiuydQL7JPzimMLZQ9WvTtEl3AUF-5DZaH_uX4_2CSxs-c0JfEG7n0vnjKRdOZ-31wtitEAvUolUiKcwoQKX6clvSiNN3l9pSVhP3ufyt9JN_caHya1xQrk8X9Ijaf9EYctXZFwXaf4KUJ44QcJZ1erfKh6FykNUtkkO0GV4V1XZlYZS8TaETta5k7GR3fJi_V9MKSCtiR5dG15KARX485akLI5ZYqqcRp7fH2xaLEOQCCQ.3pFuR0GZ8XBQGaFFIpFv9w.xuvztR8HsOO6zzPNpo_8sDQJimmQj79swKQqYi5blxu7Cpmdf_sLVw0SNmCCOVBPJJ-tyexWUEA7iXk36cDiB_iF9mkdb14Mwegb-0zFEQg.fDszk-8TV4Idc_CIIKOa_A" + }, + + "record": { + "CNAME": "ngvgb-workspace.github.io" + } + } + \ No newline at end of file diff --git a/domains/nothazz.json b/domains/nothazz.json new file mode 100644 index 0000000000..4ed62c8745 --- /dev/null +++ b/domains/nothazz.json @@ -0,0 +1,11 @@ +{ + "description": "My personal site", + "repo": "https://github.com/nothazz/nothazz.github.io", + "owner": { + "username": "nothazz", + "email": "hazz73963@gmail.com" + }, + "record": { + "CNAME": "nothazz.github.io" + } +} diff --git a/domains/nulitas.json b/domains/nulitas.json new file mode 100644 index 0000000000..45657366b3 --- /dev/null +++ b/domains/nulitas.json @@ -0,0 +1,11 @@ +{ + "owner": { + "username": "nulitas", + "email": "ndrakita@gmail.com", + "discord": "@nulitas" + }, + + "record": { + "CNAME": "nulitas.github.io" + } +} diff --git a/domains/nvrxstdwrth.json b/domains/nvrxstdwrth.json new file mode 100644 index 0000000000..fc107f74ba --- /dev/null +++ b/domains/nvrxstdwrth.json @@ -0,0 +1,13 @@ +{ + "owner": { + "username": "HIlight3R", + "email": "", + "discord": "632272741000544259", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.WwWL6rfhXZA0dVr8hvLSkevzpSY1ETrC-HjSa2C7RLxujUUwlyIwjhugowOuLMIGn2j_nJLy0vmFf-NrekykpLpsJdbQ5KeeW-YnnGL5Oj9waXYeBqofQ9HMGNERSmMdZig6gkRXcGu_mSbkqByt6Hye4StQ_5OzUOw5-IRnhZEWZmdW92rsiHbPb1FxQZ_0JzO3pusOwpIm3du9SbOLOS8EYp5wCjxJJQWIhQVbbf2zz38-kklX5XkL9aIJgyMVXdPUN0OwWG3zkVuAsofQamwsT9PM3cmNcij4v4VDRy23hkViQuBSkExUW5-GANGHsgmvULxc2XLt-34FPPpcGQ.o_hc0F4i2CbgXEizGhwbfA.Gq3lOGxqc_cmX5sQ_Qh1iZ_GXeuSPmnjhGimjVn5gjQXMBVcgn7EFWtEmNjMgvZ84GXfUTVdSjGSI1YIZf0eY6rizgkVojxDgrop0SSoAdvtHjcTxS-tlO9oUQxH5fa9.T5TSx4g4kGrd6g8KwX_T-g" + }, + + "record": { + "A": ["65.21.61.55"] + } + } + \ No newline at end of file diff --git a/domains/o.json b/domains/o.json new file mode 100644 index 0000000000..b08792abe0 --- /dev/null +++ b/domains/o.json @@ -0,0 +1,13 @@ +{ + "owner": { + "username": "omsenjalia", + "email": "om@maintainers.is-a.dev" + }, + "record": { + "MX": [ + "mx1.improvmx.com", + "mx2.improvmx.com" + ], + "TXT": "v=spf1 include:spf.improvmx.com ~all" + } +} diff --git a/domains/ofer.json b/domains/ofer.json new file mode 100644 index 0000000000..a2ee9c1d61 --- /dev/null +++ b/domains/ofer.json @@ -0,0 +1,11 @@ +{ + "description": "Ofer Sadan", + "repo": "https://github.com/ofersadan85/portfolio", + "owner": { + "username": "ofersadan85", + "email": "ofersadan85@gmail.com" + }, + "record": { + "URL": "https://ofersadan85.github.io/portfolio/" + } +} diff --git a/domains/ohdy.json b/domains/ohdy.json index 52e6b9bdd8..a837e86bd8 100644 --- a/domains/ohdy.json +++ b/domains/ohdy.json @@ -4,6 +4,14 @@ "email": "ohdy518@gmail.com" }, "record": { - "CNAME": "ohdy518.pages.dev" + "A": [ + "172.66.47.126", + "172.66.44.130" + ], + "MX": [ + "mx1.forwardemail.net", + "mx2.forwardemail.net" + ], + "TXT": "forward-email=ohdy518@gmail.com" } } diff --git a/domains/om.json b/domains/om.json index b8d18b76e8..b08792abe0 100644 --- a/domains/om.json +++ b/domains/om.json @@ -1,7 +1,7 @@ { "owner": { - "username": "TerraPlayz", - "email": "omsenjalia+github@gmail.com" + "username": "omsenjalia", + "email": "om@maintainers.is-a.dev" }, "record": { "MX": [ diff --git a/domains/overshifted.json b/domains/overshifted.json new file mode 100644 index 0000000000..9cb6180476 --- /dev/null +++ b/domains/overshifted.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "OverShifted", + "email": "prowidgs@gmail.com" + }, + "record": { + "CNAME": "overshifted.github.io" + } +} diff --git a/domains/owl.json b/domains/owl.json index ad32c30117..8a953d3ef2 100644 --- a/domains/owl.json +++ b/domains/owl.json @@ -4,6 +4,6 @@ "email": "" }, "record": { - "CNAME": "ksk8c0w.wdh.app" + "CNAME": "p2pb.dev" } } diff --git a/domains/p.json b/domains/p.json new file mode 100644 index 0000000000..6f9d794832 --- /dev/null +++ b/domains/p.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "Priyansxu", + "email": "cloudypriyanshu@gmail.com" + }, + "record": { + "CNAME": "pusxoo.onrender.com" + } +} diff --git a/domains/p2m.json b/domains/p2m.json new file mode 100644 index 0000000000..b7e29cdbea --- /dev/null +++ b/domains/p2m.json @@ -0,0 +1,13 @@ +{ + "description": "Domain name for me and my friends for our french minecraft server", + "repo": "https://github.com/Philipou/register", + "owner": { + "username": "Philipou", + "email": "philippe.lestrohan@les4vents.eu" + }, + "record": { + "A": [ + "91.224.149.29" + ] + } +} diff --git a/domains/pancystudio.json b/domains/pancystudio.json new file mode 100644 index 0000000000..f629e97b11 --- /dev/null +++ b/domains/pancystudio.json @@ -0,0 +1,13 @@ +{ + "owner": { + "username": "ImTurbis", + "email": "", + "discord": "711329342193664012", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.YzG5hvJGZpP7QEGLttKRRJ3aa_voQNqUebTs1wZb7kD-XVzdggqVkYzmW9nVppmqunMUZ9PumQGb_2LdjaB1UskfrxRb7z0NXdycFgZ2n44ADDhAFaYruOTLznglg02ni5htnfwmQSJtPjSMRa65foPNBGCqQFdQYCsx0DaD84havLlCvHMUdKZOgaJWgO75kfaf2toO7cbK_EXl17EN53gH54zixIKMNwSi_Ug8mEScECN_HJ7cRM5yu91IVdyQiwxemT5Ze01bAl6KmlCmJWcnO2-9qqvuv82K2WxHoKlLU-nmI77jJ_vr0w6rkxYeb1zW28LV6EKKCKfU1oYAog.B6Ik8FFPJoBvR9YZCw3dMw.xyWEoyFUZwTLIGiacwhtx0k3LJgQEd3vxuHZ9z9eAAHtSfJzeTzWvxCLiDnJ4Qwq00sDbfR0PNzvGBc9IoI002h0pBnAwp9cMDZHZk5biGo.enRsEf6i-7nlTeVgZSgGZA" + }, + + "record": { + "A": ["69.30.249.53"] + } + } + \ No newline at end of file diff --git a/domains/panel.xrap1dx.json b/domains/panel.xrap1dx.json new file mode 100644 index 0000000000..e72f1038b6 --- /dev/null +++ b/domains/panel.xrap1dx.json @@ -0,0 +1,14 @@ +{ + "description": "making my cdn!!!", + "repo": "https://github.com/xrap1dx?tab=repositories", + "owner": { + "username": "xrap1dx", + "discord": "xrap1dx", + "email": "" + }, + "record": { + "A": [ + "69.30.249.53" + ] + } +} diff --git a/domains/piker.json b/domains/piker.json new file mode 100644 index 0000000000..934c5bc40d --- /dev/null +++ b/domains/piker.json @@ -0,0 +1,10 @@ +{ + "owner": { + "username": "Piker98988", + "email": "piker98@tutanota.com" + }, + + "record": { + "CNAME": "pikerdevdomain.pages.dev" + } +} diff --git a/domains/plague.json b/domains/plague.json index ded2d166a0..e7cbda39cf 100644 --- a/domains/plague.json +++ b/domains/plague.json @@ -1,12 +1,12 @@ { "description": "My souper personal domain.", - "repo": "https://github.com/pl4g/pl4g.github.io", + "repo": "https://github.com/pl4gue/pl4gue.github.io", "owner": { - "username": "pl4g", + "username": "pl4gue", "email": "viniciuslucianocardoso@gmail.com", "discord": "plague🥣#8408" }, "record": { - "CNAME": "pl4g.github.io" + "CNAME": "pl4gue.github.io" } } diff --git a/domains/playwithbmr.json b/domains/playwithbmr.json new file mode 100644 index 0000000000..c654b25a0c --- /dev/null +++ b/domains/playwithbmr.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "RXHGGAMES", + "email": "syedyaseerali854@gmail.com" + }, + "record": { + "TXT": "dh=cfc3889fbceb43413a724b4e1358c080e2644716" + } +} diff --git a/domains/pog.json b/domains/pog.json new file mode 100644 index 0000000000..0e948dbeec --- /dev/null +++ b/domains/pog.json @@ -0,0 +1,12 @@ +{ + "owner": { + "username": "PogMaster9001", + "email": "", + "discord": "1190052608346435597" + }, + + "record": { + "CNAME": "projectdevs.net" + } + } + diff --git a/domains/pogmaster.json b/domains/pogmaster.json new file mode 100644 index 0000000000..0e948dbeec --- /dev/null +++ b/domains/pogmaster.json @@ -0,0 +1,12 @@ +{ + "owner": { + "username": "PogMaster9001", + "email": "", + "discord": "1190052608346435597" + }, + + "record": { + "CNAME": "projectdevs.net" + } + } + diff --git a/domains/pogmaster9001.json b/domains/pogmaster9001.json new file mode 100644 index 0000000000..0e948dbeec --- /dev/null +++ b/domains/pogmaster9001.json @@ -0,0 +1,12 @@ +{ + "owner": { + "username": "PogMaster9001", + "email": "", + "discord": "1190052608346435597" + }, + + "record": { + "CNAME": "projectdevs.net" + } + } + diff --git a/domains/pokey.json b/domains/pokey.json new file mode 100644 index 0000000000..d5b90541ee --- /dev/null +++ b/domains/pokey.json @@ -0,0 +1,13 @@ +{ + "owner": { + "username": "Pokeylooted", + "email": "", + "discord": "469808869426724865", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.YwtcHwpMZkKBYbgs0mxj-7NxjIGcUOrXLTJmxRNtVUAENnuLfqfoGn0-l4CeYdFvYSxBYv2ElPgXrvmfynv5w7bUclrf8k7nc2EEKaXgddisH4nHH1EhCDZ3S7N3wVA15MN4PwBehgRJkvNU-ckVpyQ1vMzpXhbeXz8UErfp039VViBrvY5S0V-n43CkDSf3iqtsa9sMDaWh9-I3oYXeMKqCyx-OXBhaY8w9R9f6V4rthWdwu2--gYe1gqEoV29I16wXRVZqpzHgecZV8rmcamLUZUkWSYdrG7ibBjkmzn_1j8Pxe-OBWLtuVpHUnX_PYwour7OPajWzXkAPjIoQAQ.sdtAwCEcrzrn3SV-e277bA.q73Rr_IE9cxfke6WUU-HessDBZZdhUOs9Ga7IK4bWZ1ewgtV7pLzaGDoe8_ukVHf-oo5Ya-QEJaGLglkvBK1IQWUKPpSW9rxzCQSMCpxCkg.9-P9cZ5_qyjMrJ8XMP2-Pg" + }, + + "record": { + "CNAME": "pokeylooted.github.io" + } + } + \ No newline at end of file diff --git a/domains/protoshock.gizzy.json b/domains/protoshock.gizzy.json new file mode 100644 index 0000000000..87bbe1f5b3 --- /dev/null +++ b/domains/protoshock.gizzy.json @@ -0,0 +1,12 @@ +{ + "description": "protoshock.gizzy.is-a.dev", + "owner": { + "username": "GizzyUwU", + "email": "nerop455@gmail.com" + }, + "record": { + "A": [ + "69.197.135.202" + ] + } +} diff --git a/domains/proxy.trung.json b/domains/proxy.trung.json index 0138cea655..b99730c4e9 100644 --- a/domains/proxy.trung.json +++ b/domains/proxy.trung.json @@ -4,6 +4,6 @@ "email": "vuthanhtrungsuper@gmail.com" }, "record": { - "A": ["37.114.46.15"] + "A": ["35.185.84.140"] } } diff --git a/domains/pvyas.json b/domains/pvyas.json new file mode 100644 index 0000000000..4d54cf28e7 --- /dev/null +++ b/domains/pvyas.json @@ -0,0 +1,13 @@ +{ + "owner": { + "username": "parthvyas7", + "email": "", + "discord": "505731689788473347", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.sf0jfkbSFi9mJlIHKGJyHq6aLTTeihBVr4C24pYoXyVydhbwXIsvMjzl6EplTvtAdaaTKAeA2Mvda4Q4_FrbsBdkX3Qd56ByRc4uuLHj-IX_-2W4gJ6EFUZ67Fqx1ePQIZ50SpZw9zLZBhXmExF0bOd3c9xJaf081kgqISRjxYlfy0ITaXjvly9ye2CDAgFN-oyKtRAyoolwiGCywfl-njl-oix02Ezc3EWS0zWVTPIjTyGoAxeeexfobLV0wWQa9P27GsnKQrTfpmmWxWlPLLfUlKmotW2C9bEPWSu5dEWhvCnQDry5tJ2m9IHsoSy27YRiqQLLo-WeQNF7CU9tLg.gf0byOghlGoqNnuHgld42A.EddL6PqoWvCcmqTte698ZKtTyyt_8sqMYIvVciH4GSSbOPxsKtRZkYE73QdBSC-tC0CwX2-nxsAGOSff4VFUSCl7S8p-s8YEmLe2-0g21QmPwyXGVwi1lAMcAY0GODf4.VypDGE8qp8W364yhOfkfNA" + }, + + "record": { + "CNAME": "parthvyas7.github.io" + } + } + \ No newline at end of file diff --git a/domains/qrcode.json b/domains/qrcode.json new file mode 100644 index 0000000000..f721ee5223 --- /dev/null +++ b/domains/qrcode.json @@ -0,0 +1,12 @@ +{ + "description": "My QRCode Webpage Project", + "owner": { + "username": "isobarsmustang0g", + "email": "isobars.mustang_0g@icloud.com" + }, + "record": { + "A": [ + "103.97.126.29" + ] + } +} diff --git a/domains/radim.json b/domains/radim.json new file mode 100644 index 0000000000..1d2237fd37 --- /dev/null +++ b/domains/radim.json @@ -0,0 +1,13 @@ +{ + "owner": { + "username": "radim-codes", + "email": "", + "discord": "1136622247918972968", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.ALR6-kSY_1xcCXWeEFcN3MljHGs64i5CXNdAfaJjL76vrWcIdrbQpq1pxkJ5IUivvK6kO3glLYwGFY2aIMUAUOrNqP6kY8jwGz_jocoI6GsZrNMFG-iivMJH6KfMVflPxsi7S5Gj1h16SodeCYkSY75i_BFRzSuK2R08YAVogKYG0DCjnBy4vPmwGpDBzgvlzC1xcB3cp0xAiSAWGy1_yJ2AhSejJvJLOJjnduJKssiDQTStoh2pFJmFcegTg-d3XyEhPG2CLjlETMy5scK_7TJhfm2B_j7_WoGeqx9bYnhvezq2UL98_SApjQHYW0RqCvc2H8hDyqzz_mUSjqzdjw.twUMfQDP1UG0sSdnIjzl0Q.UlPnydKIKETIKTLQ0FDmnL_JEzfVezFXc3KkY5_Sn3aXpC0GOOhddolmTPmrxU7UX71wlhPJWcDQVVjIzf41IoN0gLSbq_T0GMuQbwq-kp8.v8huc9AakxQ0ROz0eTxxtA" + }, + + "record": { + "CNAME": "radim-codes.github.io" + } + } + \ No newline at end of file diff --git a/domains/rblx.json b/domains/rblx.json new file mode 100644 index 0000000000..fd934b9006 --- /dev/null +++ b/domains/rblx.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "r-b-l-x", + "email": "178317246+r-b-l-x@users.noreply.github.com" + }, + "record": { + "CNAME": "r-b-l-x.github.io" + } +} diff --git a/domains/register-bot.json b/domains/register-bot.json index c937b2ab17..8a953d3ef2 100644 --- a/domains/register-bot.json +++ b/domains/register-bot.json @@ -4,6 +4,6 @@ "email": "" }, "record": { - "A": ["217.174.245.249"] + "CNAME": "p2pb.dev" } } diff --git a/domains/rias.json b/domains/rias.json new file mode 100644 index 0000000000..4fab68481b --- /dev/null +++ b/domains/rias.json @@ -0,0 +1,13 @@ +{ + "owner": { + "username": "RiasZz", + "email": "", + "discord": "245028766387142656", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.Edl4jRGMJSUFF14Y4qub1zHhEj-SrmXcG-eVgF6P_EsOjhgl6e5CDShlDkmMTAkpZBbT5s66KuSrDdmMGAJqgYP4aql0FF5cnj5yX5bM-AZnB_fzi1T1iymqiZvtJEYmKuYO-Djkge0pC5JmgVPFQGQj--AIeFbwuyQts19PrDci_kXquX_dKnXzP7_S61zM1vygbq-YcjnQw8abfRSZ1hoKVeZmDcbFi5KhxDWdgkiToyzOk5gBQ52_IwfzJesWeOtFXwiIJS7NwkIMKS70V9lu5a1C87aab9919ocqWsElrJHCdmQOIwSzmu36TIt51_RvjWsfkPjAtbrBWCiECw.R1diEo6UhieiMS9g_GiqZw.dgoN9oQuZxXM6aanZA9Gkh3Neb-hDbGh_7_vBlf79dvln503TEHDrCN-skUH8r3_uSVMSnSodFQu7rqHJa0z8CV3efig1zj2MZ2YYXMQKlc.I5t1GaMcmY2kqWqAO9yVwg" + }, + + "record": { + "CNAME": "riass.ir" + } + } + \ No newline at end of file diff --git a/domains/rishub.json b/domains/rishub.json index ac68707247..3b584a7183 100644 --- a/domains/rishub.json +++ b/domains/rishub.json @@ -4,6 +4,6 @@ "email": "itsrishub@gmail.com" }, "record": { - "URL": "https://rishub.cc" + "CNAME": "hashnode.network" } } diff --git a/domains/rocky.json b/domains/rocky.json index bd537b18b0..121ad2994e 100644 --- a/domains/rocky.json +++ b/domains/rocky.json @@ -4,6 +4,6 @@ "email": "prodefix.ytb@gmail.com" }, "record": { - "CNAME": "rockybots.betteruptime.com" + "CNAME": "statuspage.betteruptime.com" } } diff --git a/domains/s.json b/domains/s.json new file mode 100644 index 0000000000..7d087ad42f --- /dev/null +++ b/domains/s.json @@ -0,0 +1,10 @@ +{ + "owner": { + "username": "Smartlinuxcoder", + "email": "smartcoder@linuxmail.org", + "discord":"987972818341888021" + }, + "record": { + "CNAME": "proxytwo.smartlinux.xyz" + } +} diff --git a/domains/sahil.json b/domains/sahil.json new file mode 100644 index 0000000000..8f3a82f32c --- /dev/null +++ b/domains/sahil.json @@ -0,0 +1,12 @@ +{ + "description": "For Portfolio", + "repo": "https://github.com/SahilShidruk/My-Portfolio", + "owner": { + "username": "SahilShidruk", + "discord": "1095900069095555133", + "email": "" + }, + "record": { + "CNAME": "sahilshidruk.github.io" + } +} diff --git a/domains/saxophone.json b/domains/saxophone.json index 46ae676045..27aed633fc 100644 --- a/domains/saxophone.json +++ b/domains/saxophone.json @@ -1,17 +1,17 @@ { - "description": "saxophones are the best instrument", - "owner": { - "username": "saxophone-guy", - "email": "itsarchit@keemail.me" - }, - "record": { - "A": [ - "216.24.57.1" - ], - "MX": [ - "mx1.forwardemail.net", - "mx2.forwardemail.net" - ], - "TXT": "forward-email=itsarchit@keemail.me" - } + "description": "saxophones are the best instrument", + "owner": { + "username": "saxophone-guy", + "email": "itsarchit@keemail.me" + }, + "record": { + "A": [ + "216.24.57.1" + ], + "MX": [ + "mx1.forwardemail.net", + "mx2.forwardemail.net" + ], + "TXT": "forward-email=itsarchit@keemail.me" + } } diff --git a/domains/sea-horse-with-really-long-neck-and-fabulous-legs.json b/domains/sea-horse-with-really-long-neck-and-fabulous-legs.json new file mode 100644 index 0000000000..171d71f469 --- /dev/null +++ b/domains/sea-horse-with-really-long-neck-and-fabulous-legs.json @@ -0,0 +1,10 @@ +{ + "owner": { + "username": "yunexiz", + "discord": "1040303561847881729", + "email": "" + }, + "record": { + "CNAME": "sea-horse-with-really-long-neck-and-fabulous-legs.pages.dev" + } +} diff --git a/domains/secure.furqan.json b/domains/secure.furqan.json new file mode 100644 index 0000000000..31ca794803 --- /dev/null +++ b/domains/secure.furqan.json @@ -0,0 +1,9 @@ +{ +"owner": { + "username": "rediffurqan", + "email": "frqnlove8765@gmail.com" + }, + "record": { + "CNAME": "phonesme.onrender.com" + } +} diff --git a/domains/sewt.json b/domains/sewt.json new file mode 100644 index 0000000000..62c22cdafd --- /dev/null +++ b/domains/sewt.json @@ -0,0 +1,22 @@ +{ + "owner": { + "username": "SkyExploreWasTaken", + "email": "", + "discord": "1049263707177353247", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.JjnXMeB-5yChFwqeTjRtzK3S_0JshRprm7Ix_Yl-zlvBzrR4ZlVNljlNwz5hHd6RwuBC_y5QFA1wpuLY7J9tuvaW_ttJpnbU58UGV2JNs6yR0C6ZBp5S0XR7J0zKoloVPgoN9i4q8SOzJeBQCanVOFzX3d9haVlZxrZFInLbMybS8FegbUdzDuV6s6TB0gA8fpBWx29ftzsLfwVj96tO9gmB0cJAU-URofHxmMBDUCIXDELQdrlRl_sj4kjW3uIKus_lgN7GU55xIvErfpV2_NVZTiuPzOh5HcP7rwWHhDaeKvQL4HeKWxIlrqQhPtQHQTFTgJuh7MmJimD95ixgVg.fhYccie9reT4Mi7XAmEtZA.lNh66dK74iYl7grB--wq1yi-AEKzvkuN7TLOS75XwYxJskb4dSr8TUcM0Y5ZVfR27oMahE1_kerqZOZOtZW58ZFwqoFD0oCFaEm68nwTd3or3uBWcYbZk5ilghu8TpPN.zKRzlPiGTBfNQTbJkCbrGg" + }, + + "record": { + "MX": [ + "mx1.improvmx.com", + "mx2.improvmx.com" + ], + "TXT": "v=spf1 include:spf.improvmx.com ~all", + "A": [ + "185.199.108.153", + "185.199.109.153", + "185.199.110.153", + "185.199.111.153" + ] + } + } diff --git a/domains/sf.json b/domains/sf.json new file mode 100644 index 0000000000..cef2b6bb98 --- /dev/null +++ b/domains/sf.json @@ -0,0 +1,13 @@ +{ + "owner": { + "username": "XikiZxGS", + "email": "", + "discord": "1015654462334971925", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.Zh0wnCQid9C4pOjptUVh6ESkNEKZxjJadK8auOvitr7Rx67nfqb_orGsPr9hXGdfOGzLcR1sB3v5KrB-nbqUQUUgGjs9zaKjwi99S_pwZgU3oi9cY2TePWNxM1ZvdCKptiR3C1CMtDbyPOpvsvRSEGyHZtOzdcrTV4OpnR2Hi7X7nD37wR8ZjCS60YhyPPlb8HUr6_Aq2o2RItJUYwZVB1t7BRWdHL-tYwbtZXWiOER6D1nCSj86AT3rKILr5DMbEvh1SOQIJ3pf5D9HtgIW3DgkyrutOEhxn4A8xzytPi-1api0AJJvpGv3Xaj63IttB5meuivJqqrtmL86dZxABA.hh7QLO4KsuZ7-zTiHi8GaA.6EDptXq34bfUr-OXUGTWkq1LTaLq-NNgU2EXgd-4GngxX1QzrxvUenF4wsn6DmQ1yPnmnIGdczioMxdsYk0JyUYbpHaCvOsW-xyH4a_EiMk.YYLgMoT8Z_FUJtmf9ImfRw" + }, + + "record": { + "CNAME": "xikizxgs.github.io" + } + } + \ No newline at end of file diff --git a/domains/shy.json b/domains/shy.json new file mode 100644 index 0000000000..1c35eb032b --- /dev/null +++ b/domains/shy.json @@ -0,0 +1,12 @@ +{ + "owner": { + "username": "ImShyMike", + "email": "", + "discord": "582648583635992622" + }, + + "record": { + "CNAME": "edge.redirect.pizza" + } + } + diff --git a/domains/shymike.json b/domains/shymike.json new file mode 100644 index 0000000000..71a549273c --- /dev/null +++ b/domains/shymike.json @@ -0,0 +1,12 @@ +{ + "owner": { + "username": "ImShyMike", + "email": "", + "discord": "582648583635992622" + }, + + "record": { + "CNAME": "imshymike.github.io" + } + } + diff --git a/domains/skduck.json b/domains/skduck.json index aee4880dbb..93a1a34e6e 100644 --- a/domains/skduck.json +++ b/domains/skduck.json @@ -1,8 +1,8 @@ { "description": "my em@il forwarder", "owner": { - "username": "MaskDuck", - "email": "m@skduck.is-a.dev", + "username": "mAskDucK", + "email": "", "discord": "MaskDuck#1337", "twitter": "MaskDuck1", "reddit": "u/maskduck", diff --git a/domains/sly.json b/domains/sly.json new file mode 100644 index 0000000000..038909964e --- /dev/null +++ b/domains/sly.json @@ -0,0 +1,16 @@ +{ + "description": "Domain name for my personal portfolio website", + "repo": "https://github.com/SlyBouhafs/slybouhafs.github.io", + "owner": { + "username": "SlyBouhafs", + "email": "khmedj+github@gmail.com" + }, + "record": { + "A": ["164.92.183.234"], + "MX": [ + "mx1.improvmx.com", + "mx2.improvmx.com" + ], + "TXT": "v=spf1 include:spf.improvmx.com ~all" + } +} diff --git a/domains/smartlinuxcoder.json b/domains/smartlinuxcoder.json index 8034acf7f4..d6ae1c7a09 100644 --- a/domains/smartlinuxcoder.json +++ b/domains/smartlinuxcoder.json @@ -4,6 +4,6 @@ "email": "smartcoder@linuxmail.org" }, "record": { - "CNAME": "smartlinuxcoder.github.io" + "CNAME": "proxytwo.smartlinux.xyz" } } diff --git a/domains/snbhowmik.json b/domains/snbhowmik.json new file mode 100644 index 0000000000..ee3879be0c --- /dev/null +++ b/domains/snbhowmik.json @@ -0,0 +1,15 @@ +{ + "description": "A Portfolio site for my Academic Career", + "repo": "https://github.com/snbhowmik/portfolio", + "owner": { + "username": "snbhowmik", + "linkedin": "https://www.linkedin.com/in/snbhowmik/", + "reddit": "https://www.reddit.com/user/snbhowmik/", + "email": "snbhowmikac@proton.me" + }, + "record": { + "A": [ + "75.2.60.5" + ] + } +} diff --git a/domains/soestin.json b/domains/soestin.json new file mode 100644 index 0000000000..ebbbce05dc --- /dev/null +++ b/domains/soestin.json @@ -0,0 +1,13 @@ +{ + "owner": { + "username": "soestin", + "email": "", + "discord": "769813729599553567", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.Eq_I4GOjlOB5tFdw0gihpb-s5mNrdbVcGGgjqD9T08EXuXhaCt9w-dzK8H12VZdP_PRzdgJe_nMkm5B6qfUrfcr9D1VdfCr_AsxPw39fH3hxmopIRJojj_t0irp-yw6rXC9wTMqdhaqQ1sEs_38sZV5Hnr4UMsuo3QIPimuDFecrVIreelu8yQzf2c0JmOEST4os6iwlK0Xx4HN_sSa2BxA_xddtLsn1LROSeqlba6r4CXfJxVmFEfqcXuW510-yVhg1O6wIVPz5la9FTgK12HYvx3qDnYnC3cJ5V1few5rJP4OeIby6dte7vtx7zuo3vbKkClFojc1Q9j1UmMReDQ.3I8N4rDWvBuPjEWKvognUA.OrICUOylQgkjUUekVYAQpHdJ5v4L68eAC6X69zwPUEZqRe33Xrjsk0OtCWfm-JDleiEIhUxsAuP_R3IMxTRwQA.cguBkKWaJpafBZkI9uKbOg" + }, + + "record": { + "CNAME": "soestin.github.io" + } + } + \ No newline at end of file diff --git a/domains/somerand0mcat.json b/domains/somerand0mcat.json new file mode 100644 index 0000000000..8b7bf443c1 --- /dev/null +++ b/domains/somerand0mcat.json @@ -0,0 +1,13 @@ +{ + "owner": { + "username": "somerand0mcat", + "email": "", + "discord": "1135918173959491595", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.h9JvX9g-xh8PiBroR0hXIZz17OveuKLPcbid_BhW-ZCQIzx7pWvMV8ha2ozhcHTDiuDi-m3a2Ve1yKywVfx02Vo192JpjSFlTtngTyafnPQDjSeD0x5VTqiwoHb1MA_bH9V5aXfyN3kGL9UrI3jiJVaESCvIaOKdXpWKVrbygy-Dn-AiviBcU95m-eLKcz7PN7ksKOJT_XnvOH38H4WGLpyXUGPTQZGn8XZb2H8lhj01cEZ3qFHlFLt7WFTVIFAC-i67ItX57BDBcS4LrjsAkBC46CLAwpsu9O_o4tMd-z9JBnUVOSGhTzfCSKcNw4FTvNJr4wbQ3EBO_C7nRc1A9w.-7hDX5vHvDvx3zWEsZPE6w.wCq8m-LKtwlJY10BjYmoN82763IjMNgKupRU7JFYk7Os_CGE-QoT2MkfhAiBEeOXs5EJcXFhIS6ZZixQjbtIdxGlYNgUPP-4wTpuFPdgwgm8JHKrk6z2FX5SMiDS_P2ZvBAYpaRRB6vwqhxESrnceQ.Rsy2vQVeH3fjYX0rJTpqtw" + }, + + "record": { + "CNAME": "somerand0mcat.github.io" + } + } + \ No newline at end of file diff --git a/domains/spotify.trung.json b/domains/spotify.trung.json index 0138cea655..b99730c4e9 100644 --- a/domains/spotify.trung.json +++ b/domains/spotify.trung.json @@ -4,6 +4,6 @@ "email": "vuthanhtrungsuper@gmail.com" }, "record": { - "A": ["37.114.46.15"] + "A": ["35.185.84.140"] } } diff --git a/domains/sq.json b/domains/sq.json new file mode 100644 index 0000000000..038ca396cf --- /dev/null +++ b/domains/sq.json @@ -0,0 +1,12 @@ +{ + "description": "sqec's website", + "owner": { + "username": "SquareScreamYT", + "repo": "https://github.com/SquareScreamYT", + "discord": "918475812884344852", + "email": "" + }, + "record": { + "CNAME": "squarescreamyt.github.io" + } +} diff --git a/domains/starshine.json b/domains/starshine.json new file mode 100644 index 0000000000..98cba1276c --- /dev/null +++ b/domains/starshine.json @@ -0,0 +1,12 @@ +{ + "owner": { + "username": "thaddeuskkr", + "email": "", + "discord": "275830234262142978", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.lLFfIW3EiPjgK-i-I5E56ERBvjl-ueM91PRyYM6wRClZzuoAj4nQyqL57dSZjhO_4Hbu4ZubbM1I_NI8Vt4_SlsFmxgL-hrvH9tf7rv-hX-TZtBWT_LQQUmhd1ZViGwELTly797M8VXZ39ER2gDmzruxjh8eQEHBCeJujWuUNicigehUgfk-Pk9rSchVlR3TUcwL-wylY58KvBLQwIeMmqUW2qs_E_iKCwk_8FQH-IUb_4W58r6wBHh6MqiP72Py9ssDbxrV59e1eGrQZXYJJM1rUZHoHzW1KX84FgT0QCGc1cSiV-Sdc3p6WceRY6Tf1akfTNjuga61kpgzluoTxg.QwFk8iYMpzefwXgErTr9cQ.kwMwAIrFDxCKfvSxx3Jpvb6ZkiFcp56BFoBg7KQMsYw4PBK60JNzjpMpgMqZ7jymnYJFTz5img3xLlxBF7UuUy_Z9MgHCHaVR3W7970smoQ.aBJoeQFaHiIyXkpQa1Gx7g" + }, + + "record": { + "A": ["138.2.70.1"] + } +} diff --git a/domains/stats.trung.json b/domains/stats.trung.json index 0138cea655..b99730c4e9 100644 --- a/domains/stats.trung.json +++ b/domains/stats.trung.json @@ -4,6 +4,6 @@ "email": "vuthanhtrungsuper@gmail.com" }, "record": { - "A": ["37.114.46.15"] + "A": ["35.185.84.140"] } } diff --git a/domains/status.6.json b/domains/status.6.json new file mode 100644 index 0000000000..947bf4219d --- /dev/null +++ b/domains/status.6.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "shockbs", + "email": "apipherng@gmail.com" + }, + "record": { + "URL": "https://status.shockbs.is-a.dev/" + } +} diff --git a/domains/status.shockbs.json b/domains/status.shockbs.json index 23826e6389..e1aecf8ea6 100644 --- a/domains/status.shockbs.json +++ b/domains/status.shockbs.json @@ -4,6 +4,5 @@ "email": "apipherng@gmail.com" }, "record": { - "CNAME": "bbbsjsijb8hsbsnakkshdbfdnds.onrender.com" - } + "CNAME": "bbbsjsijb8hsbsnakkshdbfdnds.onrender.com" } } diff --git a/domains/status.trung.json b/domains/status.trung.json index 0138cea655..b99730c4e9 100644 --- a/domains/status.trung.json +++ b/domains/status.trung.json @@ -4,6 +4,6 @@ "email": "vuthanhtrungsuper@gmail.com" }, "record": { - "A": ["37.114.46.15"] + "A": ["35.185.84.140"] } } diff --git a/domains/status.xrap1dx.json b/domains/status.xrap1dx.json new file mode 100644 index 0000000000..4757027751 --- /dev/null +++ b/domains/status.xrap1dx.json @@ -0,0 +1,11 @@ +{ + "description": "making my status page!!!", + "repo": "https://github.com/xrap1dx?tab=repositories", + "owner": { + "username": "xrap1dx", + "email": "sirrapid155@gmail.com" + }, + "record": { + "CNAME": "statuspage.betteruptime.com" + } +} diff --git a/domains/sunn4room.json b/domains/sunn4room.json new file mode 100644 index 0000000000..eb2a4835ab --- /dev/null +++ b/domains/sunn4room.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "sunn4room", + "email": "sunn4room@163.com" + }, + "record": { + "CNAME": "blog-4ke.pages.dev" + } +} diff --git a/domains/sxinar.json b/domains/sxinar.json deleted file mode 100644 index 27a3765d96..0000000000 --- a/domains/sxinar.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "owner": { - "username": "Sxinar", - "email": "130384567+Sxinar@users.noreply.github.com", - "discord": "1247896918957490198" - }, - - "record": { - "A": ["192.30.252.153"] - } -} diff --git a/domains/szczota.json b/domains/szczota.json index 20cfddcaf5..204e77484b 100644 --- a/domains/szczota.json +++ b/domains/szczota.json @@ -1,11 +1,11 @@ { "owner": { - "username": "riviox", - "email": "rivioxyt@hotmail.com", - "discord": "1200520669570539620" + "username": "szczotapl", + "email": "", + "discord": ".szczotapl" }, "record": { - "CNAME": "riviox.github.io" + "CNAME": "szczotapl.github.io" } } diff --git a/domains/t.json b/domains/t.json new file mode 100644 index 0000000000..fc41cce588 --- /dev/null +++ b/domains/t.json @@ -0,0 +1,13 @@ +{ + "owner": { + "username": "trollm8", + "email": "", + "discord": "1266754182082461751", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.N8Vf7tNsfTIJKNaXAqD1t4qLzIqx8ZlybnLmVGjKs6dv3uxFMpKQhznKohFUEtOQlvURIZsKDGUOyFFpo6tzJEFt9Aaocse4xF2P7ud1ZBGLaPBSM7HF7IemNsczePYM-BjzMHvfTu7ryOGlCLvRe7z7M0KzRtImIcpm_ZQf-1aGlAFljd9Gy82Jc2mE9U-gMNU5GgRteegXGeNRHb10oYXWYV4lmLTP_YhvbiCavwTRyTS3SrwzQn78eTcXgwTeGhELj9eEfwTCsGJJfsbZPWAh1QNpm6-Y7HktDiNELbw2QfK3R0gvczybCfXGzj4d7z4Qhchea5X_uXxalGGNfA.VE-Mh6fPXbz7m456qKlh5w.gg7ta9FXClk001IBFL1UiwrYTks-hWzmecKfz9XdA1js4kBarT9MdlAb4UJTyoeyVqQ1uZSe3QLt25A1Kk7pTg.ZEXUDiLNEpaUwlvsx_xiEQ" + }, + + "record": { + "CNAME": "trollm8-redirect.pages.dev" + } + } + \ No newline at end of file diff --git a/domains/taskforce-bot.json b/domains/taskforce-bot.json deleted file mode 100644 index 157395476d..0000000000 --- a/domains/taskforce-bot.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "owner": { - "username": "EducatedSuddenBucket", - "email": "149485703+EducatedSuddenBucket@users.noreply.github.com", - "discord": "1167825360151380032" - }, - - "record": { - "A": ["216.24.57.1"] - } -} diff --git a/domains/tech4file.json b/domains/tech4file.json new file mode 100644 index 0000000000..bfaadf4ece --- /dev/null +++ b/domains/tech4file.json @@ -0,0 +1,13 @@ +{ + "owner": { + "username": "kubsai", + "email": "", + "discord": "477781395922485248", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.rjBMItaMqXDR5sgtxH1YnZZ9mYBhx3cbEQzddCZUiMNBR46LhAZ2AhH8wCbD6SG2zvXxFAs_37Lj-kdKpTwqvslDWBwu-USKw744-I9JSYOo5AOp07XOeMBub_hlhDzTs7c71UEp0Zn2aWcNT164tJZ9FtrrGz1cOlA1FrgOY6IiddK6Kpxc9WNfyKrFcvI36qFxp4Tb8S0Ibybm61KJbstlgbjxwB6KggPTHsywFOhw_Qefe9-QptaoPZRiruXHzvfWYoEzDVjlu7sfXbbyTfla9P6KMldZqhzfYLB1urG-iUnbE5lXWHpPUHS3Hg6-_zWzBIMn65gKfmXrp-uV7A.hW8GxTh4cATNDhwiGbFWyg.JoRpaJgGT1hqgC16L__tz931OK9opx5RmAWfsoe3QHUsiqCQM8xLkxUldZUX_UwYQWD0VZHxkk6KXYFfp2NwtQ.Q4d-6jP2DF2q_-6B8o-u5Q" + }, + + "record": { + "A": ["185.27.134.230"] + } + } + \ No newline at end of file diff --git a/domains/test.trung.json b/domains/test.trung.json index 0138cea655..b99730c4e9 100644 --- a/domains/test.trung.json +++ b/domains/test.trung.json @@ -4,6 +4,6 @@ "email": "vuthanhtrungsuper@gmail.com" }, "record": { - "A": ["37.114.46.15"] + "A": ["35.185.84.140"] } } diff --git a/domains/th3.json b/domains/th3.json new file mode 100644 index 0000000000..d34330feac --- /dev/null +++ b/domains/th3.json @@ -0,0 +1,11 @@ +{ + "description": "Th3-C0der's subdomain", + "repo": "https://github.com/Th3-C0der/Th3-C0der.github.io", + "owner": { + "username": "Th3-C0der", + "email": "Th3Drag8N@proton.me" + }, + "record": { + "CNAME": "th3-c0der.github.io" + } +} diff --git a/domains/ticketkit.json b/domains/ticketkit.json new file mode 100644 index 0000000000..3a230ac410 --- /dev/null +++ b/domains/ticketkit.json @@ -0,0 +1,11 @@ +{ + "owner": { + "username": "blaze-099", + "email": "", + "discord": "1186691290759434350" + }, + "record": { + "CNAME": "ticketsx.netlify.app" + } +} + diff --git a/domains/tiyanof.json b/domains/tiyanof.json new file mode 100644 index 0000000000..65dac000f9 --- /dev/null +++ b/domains/tiyanof.json @@ -0,0 +1,12 @@ +{ + "description": "To make my website more cooler bc is-a.dev domain is cool ngl", + "repo": "https://github.com/tiyanof/tiyanof.github.io", + "owner": { + "username": "tiyanof", + "email": "hannasophia1999@gmail.com", + "twitter": "s00op_" + }, + "record": { + "CNAME": "tiyanof.github.io" + } +} diff --git a/domains/tk.json b/domains/tk.json index 2492440b37..d69fe43fe5 100644 --- a/domains/tk.json +++ b/domains/tk.json @@ -1,9 +1,12 @@ { - "owner": { - "username": "thaddeuskkr", - "email": "thaddeuskkr@gmail.com" - }, - "record": { - "CNAME": "tkkr.tplinkdns.com" - } + "owner": { + "username": "thaddeuskkr", + "email": "", + "discord": "275830234262142978", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.lLFfIW3EiPjgK-i-I5E56ERBvjl-ueM91PRyYM6wRClZzuoAj4nQyqL57dSZjhO_4Hbu4ZubbM1I_NI8Vt4_SlsFmxgL-hrvH9tf7rv-hX-TZtBWT_LQQUmhd1ZViGwELTly797M8VXZ39ER2gDmzruxjh8eQEHBCeJujWuUNicigehUgfk-Pk9rSchVlR3TUcwL-wylY58KvBLQwIeMmqUW2qs_E_iKCwk_8FQH-IUb_4W58r6wBHh6MqiP72Py9ssDbxrV59e1eGrQZXYJJM1rUZHoHzW1KX84FgT0QCGc1cSiV-Sdc3p6WceRY6Tf1akfTNjuga61kpgzluoTxg.QwFk8iYMpzefwXgErTr9cQ.kwMwAIrFDxCKfvSxx3Jpvb6ZkiFcp56BFoBg7KQMsYw4PBK60JNzjpMpgMqZ7jymnYJFTz5img3xLlxBF7UuUy_Z9MgHCHaVR3W7970smoQ.aBJoeQFaHiIyXkpQa1Gx7g" + }, + + "record": { + "CNAME": "tkkr.tplinkdns.com" + } } diff --git a/domains/tlowng.json b/domains/tlowng.json new file mode 100644 index 0000000000..043584104c --- /dev/null +++ b/domains/tlowng.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "longathelstan", + "email": "longaluminium10@gmail.com" + }, + "record": { + "URL": "https://guns.lol/longathelstan" + } +} diff --git a/domains/too-obvious-that.maskduck.json b/domains/too-obvious-that.maskduck.json index 78c5f9e3be..dee070ebf2 100644 --- a/domains/too-obvious-that.maskduck.json +++ b/domains/too-obvious-that.maskduck.json @@ -1,6 +1,6 @@ { "owner": { - "username": "MaskDuck", + "username": "mAskDucK", "email": "", "discord": "maskduck", "twitter": "MaskDuck1", diff --git a/domains/trackstore.json b/domains/trackstore.json new file mode 100644 index 0000000000..eb92f2038e --- /dev/null +++ b/domains/trackstore.json @@ -0,0 +1,11 @@ +{ + "description": "TrackStore is website where people can share and find Hill Climb Racing 2 custom tracks. It is not ready yet, but is actively under development. The email I used is a Proton Mail 'hide my email alias'. For more info on TrackStore, see https://github.com/TrackStore#README", + "repo": "https://github.com/TrackStore/TrackStore.github.io", + "owner": { + "username": "TrackStore", + "email": "imaginary_macaw058@simplelogin.com" + }, + "record": { + "CNAME": "trackstore.github.io" + } +} diff --git a/domains/treizer.json b/domains/treizer.json deleted file mode 100644 index d3f9600830..0000000000 --- a/domains/treizer.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "owner": { - "username": "nexos20levrai", - "email": "nexos.dons@gmail.com" - }, - "record": { - "A": ["193.160.130.98"] - } -} diff --git a/domains/trollm8.json b/domains/trollm8.json new file mode 100644 index 0000000000..28fd6b7281 --- /dev/null +++ b/domains/trollm8.json @@ -0,0 +1,13 @@ +{ + "owner": { + "username": "trollm8", + "email": "", + "discord": "1266754182082461751", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.Tmidf0-ostr7SwvsJgEdvwL8GNzBRuA7akFPycL23OBl4RxlOctbY2tZJhm9AFmd1GW_2cbZs735Lc4fbPYYOqYSg5PuCmPLA1LHrDdAffwQT2nwBZkKstxOWgR9_l0DvStxpyMd86jVgRUujXL0nChFeDA2-us7I0FaQsM4ojDFI2_yovADFT5MoukCYW1GEfu5-gsETTomrovCg2dKOGem8EH1bUhe9DFa0fzkVA9WNpleK5nW-53JC4LYNAttdNTLkzk8J04JMesCpKFNsuuqWJwIyJMhatge0PzKEQr2VQ-_oR9Mf-PJs5Wfrh64HLsV4WmCEgGJfY88vmOISQ.BP-dCaDVgXkrR30NuwAsag.vkx4F6n9o6tw0EQhk_eKzK4Q3PhxZfuoUf2_8sTjakA-vlRC04qXZ9STXkZzDl6XwG8uZbM1FCob-_AhY5ASPQ.fkMZOYZWqGef_gddA379eA" + }, + + "record": { + "CNAME": "trollm8.pages.dev" + } + } + \ No newline at end of file diff --git a/domains/trung.json b/domains/trung.json index 0138cea655..b99730c4e9 100644 --- a/domains/trung.json +++ b/domains/trung.json @@ -4,6 +4,6 @@ "email": "vuthanhtrungsuper@gmail.com" }, "record": { - "A": ["37.114.46.15"] + "A": ["35.185.84.140"] } } diff --git a/domains/u.json b/domains/u.json new file mode 100644 index 0000000000..a1422fcd97 --- /dev/null +++ b/domains/u.json @@ -0,0 +1,14 @@ +{ + "owner": { + "username": "ukrioo", + "email": "u8k50850@gmail.com" + }, + "record": { + "URL": "https://ukrioo.github.io/", + "MX": [ + "mx1.forwardemail.net", + "mx2.forwardemail.net" + ], + "TXT": "forward-email=u8k50850@gmail.com" + } +} diff --git a/domains/unofficial-docs.json b/domains/unofficial-docs.json deleted file mode 100644 index b14fc31dca..0000000000 --- a/domains/unofficial-docs.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "owner": { - "username": "EducatedSuddenBucket", - "email": "educatedsuddenbucket@gmail.com" - }, - "record": { - "A": [ - "185.199.108.153", - "185.199.109.153", - "185.199.110.153", - "185.199.111.153" - ] - } -} diff --git a/domains/uptime.acronical.json b/domains/uptime.acronical.json new file mode 100644 index 0000000000..fa8380b237 --- /dev/null +++ b/domains/uptime.acronical.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "AcronicalYT", + "email": "acronicalbusiness@gmail.com" + }, + "record": { + "A": ["138.68.133.84"] + } +} diff --git a/domains/uptime.trung.json b/domains/uptime.trung.json index 0138cea655..b99730c4e9 100644 --- a/domains/uptime.trung.json +++ b/domains/uptime.trung.json @@ -4,6 +4,6 @@ "email": "vuthanhtrungsuper@gmail.com" }, "record": { - "A": ["37.114.46.15"] + "A": ["35.185.84.140"] } } diff --git a/domains/uzi.json b/domains/uzi.json new file mode 100644 index 0000000000..b3c35ea756 --- /dev/null +++ b/domains/uzi.json @@ -0,0 +1,12 @@ +{ + "owner": { + "username": "crischutu07", + "email": "", + "discord": "1001747794954039368" + }, + + "record": { + "CNAME": "crischutu07.github.io" + } + } + diff --git a/domains/vamtic.json b/domains/vamtic.json index 73b537fffc..0b0d9b23fa 100644 --- a/domains/vamtic.json +++ b/domains/vamtic.json @@ -9,6 +9,6 @@ "mx1.improvmx.com", "mx2.improvmx.com" ], - "TXT": "v=spf1 include:spf.improvmx.com ~all" + "TXT": ["v=spf1 include:spf.improvmx.com ~all", "google-site-verification=c87D0Hk4uYmuX7ztxpSafWM2aRVNibOeA7gLv7SK2ag"] } } diff --git a/domains/vma.json b/domains/vma.json new file mode 100644 index 0000000000..aebf97aeb1 --- /dev/null +++ b/domains/vma.json @@ -0,0 +1,11 @@ +{ + "description": "Link for vmadev-ru personal site on GitHub pages", + "repo": "https://github.com/vmadev-ru/vmadev-ru.github.io", + "owner": { + "username": "vmadev-ru", + "email": "vmadev.ru@gmail.com" + }, + "record": { + "CNAME": "vmadev-ru.github.io" + } +} diff --git a/domains/vulpine.json b/domains/vulpine.json new file mode 100644 index 0000000000..f4cfb24874 --- /dev/null +++ b/domains/vulpine.json @@ -0,0 +1,14 @@ +{ + "owner": { + "username": "VulpineFriend87", + "email": "", + "discord": "911268706112397392" + }, + + "record": { + "A": ["69.30.249.53"], + "MX": ["mx1.improvmx.com, mx2.improvmx.com"], + "TXT": ["v=spf1 include:spf.improvmx.com ~all"] + } + } + \ No newline at end of file diff --git a/domains/w.json b/domains/w.json new file mode 100644 index 0000000000..b8151727b2 --- /dev/null +++ b/domains/w.json @@ -0,0 +1,11 @@ +{ + "owner": { + "username": "wdhdev", + "email": "william@williamharrison.dev", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.SdYpx7eNqzrsSaps8ePYAkUaNG-q_yn4sIwHgBleDwBi380-SWsVjBboVLydwM6PxK1gAzRamHu9HlrccM-6EHeWhogQlRxpqh00vdm_YvY2B2GizVZyo2WL1mcz9rYmicfWso_pcVNhgxHzj3k4MtNMcVbnQmFhVg8mk3DwXQyvK347cZCRnwuQe4l0XAX9xfEPJ-A02ljxjQUrwzaIUfDuJHM5UBC7uS5I6FRl8M2Sz0VlvmiE3lqdsxphL1vOAR3guCCulNyfLo-yvLqIvxGF-L2zbuaKMpQta0wxwTE4M2TNFJ3ajawCeWtzQvtHvjonuKoLZk02mkp2c4zlCA.XEGDbkb6MearJnI0Lx3mxw.uIfclT8STiI1PQpL7HBPPduiLS89ybBNYCz-5suFAqwpeoFqmeKoYjMLKssywx_UeNfYJ8EakPpSrno7PsVPeKhixsw1XwAj2Mnb_FkYQ6S-ibd0Mh3fS6299ISEmhBK.bT1AIOehMEy6K3M7amOaVQ" + }, + + "record": { + "CNAME": "edge.redirect.pizza" + } +} diff --git a/domains/weeebdev.json b/domains/weeebdev.json new file mode 100644 index 0000000000..5def706841 --- /dev/null +++ b/domains/weeebdev.json @@ -0,0 +1,12 @@ + + { + "owner": { + "username": "weeebdev", + "email": "mr.adil777@gmail.com" + }, + + "record": { + "CNAME": "weeebdev.github.io" + } + } + diff --git a/domains/wes.json b/domains/wes.json new file mode 100644 index 0000000000..52ed3db039 --- /dev/null +++ b/domains/wes.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "westhecool", + "email": "wesley@westhedev.xyz" + }, + "record": { + "CNAME": "wesley-is-a-dev.pages.dev" + } +} \ No newline at end of file diff --git a/domains/wesley.json b/domains/wesley.json new file mode 100644 index 0000000000..52ed3db039 --- /dev/null +++ b/domains/wesley.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "westhecool", + "email": "wesley@westhedev.xyz" + }, + "record": { + "CNAME": "wesley-is-a-dev.pages.dev" + } +} \ No newline at end of file diff --git a/domains/william.json b/domains/william.json index b4ba3fc153..b8151727b2 100644 --- a/domains/william.json +++ b/domains/william.json @@ -1,7 +1,8 @@ { "owner": { "username": "wdhdev", - "email": "william@williamharrison.dev" + "email": "william@williamharrison.dev", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.SdYpx7eNqzrsSaps8ePYAkUaNG-q_yn4sIwHgBleDwBi380-SWsVjBboVLydwM6PxK1gAzRamHu9HlrccM-6EHeWhogQlRxpqh00vdm_YvY2B2GizVZyo2WL1mcz9rYmicfWso_pcVNhgxHzj3k4MtNMcVbnQmFhVg8mk3DwXQyvK347cZCRnwuQe4l0XAX9xfEPJ-A02ljxjQUrwzaIUfDuJHM5UBC7uS5I6FRl8M2Sz0VlvmiE3lqdsxphL1vOAR3guCCulNyfLo-yvLqIvxGF-L2zbuaKMpQta0wxwTE4M2TNFJ3ajawCeWtzQvtHvjonuKoLZk02mkp2c4zlCA.XEGDbkb6MearJnI0Lx3mxw.uIfclT8STiI1PQpL7HBPPduiLS89ybBNYCz-5suFAqwpeoFqmeKoYjMLKssywx_UeNfYJ8EakPpSrno7PsVPeKhixsw1XwAj2Mnb_FkYQ6S-ibd0Mh3fS6299ISEmhBK.bT1AIOehMEy6K3M7amOaVQ" }, "record": { diff --git a/domains/win10sunvalley.json b/domains/win10sunvalley.json new file mode 100644 index 0000000000..41ecc6f36f --- /dev/null +++ b/domains/win10sunvalley.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "winbo-yml-exe", + "email": "winbo-yml-exe@outlook.com" + }, + "record": { + "CNAME": "win10sunvalley.github.io" + } +} diff --git a/domains/wizardsword.json b/domains/wizardsword.json new file mode 100644 index 0000000000..2543958b09 --- /dev/null +++ b/domains/wizardsword.json @@ -0,0 +1,12 @@ +{ + "owner": { + "username": "MukuJhansi", + "email": "", + "discord": "1115658967012626542" + }, + + "record": { + "A": ["216.24.57.1"] + } + } + \ No newline at end of file diff --git a/domains/workspace.trung.json b/domains/workspace.trung.json index 0138cea655..b99730c4e9 100644 --- a/domains/workspace.trung.json +++ b/domains/workspace.trung.json @@ -4,6 +4,6 @@ "email": "vuthanhtrungsuper@gmail.com" }, "record": { - "A": ["37.114.46.15"] + "A": ["35.185.84.140"] } } diff --git a/domains/www.json b/domains/www.json index 359253458f..6ecfc95b28 100644 --- a/domains/www.json +++ b/domains/www.json @@ -1,9 +1,9 @@ { - "description": "www.is-a.dev", + "description": "The is-a.dev website", "repo": "https://github.com/is-a-dev/is-a-dev.github.io", "owner": { - "username": "phenax", - "email": "phenax5@gmail.com" + "username": "wdhdev", + "email": "" }, "record": { "CNAME": "is-a-dev.github.io" diff --git a/domains/x.json b/domains/x.json new file mode 100644 index 0000000000..0f5d8195be --- /dev/null +++ b/domains/x.json @@ -0,0 +1,12 @@ +{ + "owner": { + "username": "jvideo-sk", + "email": "", + "discord": "1030204181207859260" + }, + + "record": { + "CNAME": "jvideo.github.io" + } + } + \ No newline at end of file diff --git a/domains/xdoxx123.json b/domains/xdoxx123.json new file mode 100644 index 0000000000..8a426286d5 --- /dev/null +++ b/domains/xdoxx123.json @@ -0,0 +1,11 @@ +{ + "description": "xdoxx123.is-a.dev", + "repo": "https://github.com/xdoxx123/xdoxx123.github.io", + "owner": { + "username": "xdoxx123", + "email": "xdoxx124@gmail.com" + }, + "record": { + "CNAME": "xdoxx123.github.io" + } +} diff --git a/domains/xenside.json b/domains/xenside.json index e2ba31c803..b1cb1e9078 100644 --- a/domains/xenside.json +++ b/domains/xenside.json @@ -1,7 +1,7 @@ { "owner": { "username": "XenSideNBTS", - "email": "peskoila89@gmail.com" + "email": "xenside@xenside.is-a.dev" }, "record": { "A": [ diff --git a/domains/xgarciadevs.json b/domains/xgarciadevs.json new file mode 100644 index 0000000000..f7dfc5d766 --- /dev/null +++ b/domains/xgarciadevs.json @@ -0,0 +1,13 @@ +{ + "owner": { + "username": "xgarciadevs", + "email": "", + "discord": "528637169544331291", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.AEE26UaHZe8_LcuhJr1lzNzgeSkXmln0mE8UcQtMR0hViboJjLWgvqFz-SjvjwIAVojRtThKqDHSrLBDL6o348iAjyq40tkt4lBdXfr99WSaQMpFpHInnZt5oR8sxeudO5qIjUHQcfS-Yc0PjmkRTVAU9Tqux3y5Aq9zDVEuijnPTWZ2K_4jx9m9yl9sBIaWmnF_IsxQ8uyqjdbetOi5SjkKyAbRFWw7oOGFtYLj6TnoX3scmzttZ3KGmWJ0ZNS13Laox2HQcCpHxxK1S7KJ6pL5pMwVUPYky4HyHehxQKFg95i3MRzWuSTkodGtBdh49Pwh69QzrJqQb8att80uBA.TlnYc1bf6FVZiUS70wP29w.xE4-Bc5esGlMAfR9OgfYmSQn-nhzZTYuwyq_CazXX9AfLoNwe_uw322aB7BVJ0Ir9q7OhuxlgHH6p_Dr-eEGcTLSVrsXffpZ59QTVCmZtIo.8O7dpgd0M33X_CoKfigNyQ" + }, + + "record": { + "CNAME": "xgarciadevs.github.io" + } + } + \ No newline at end of file diff --git a/domains/xrap1dx.json b/domains/xrap1dx.json new file mode 100644 index 0000000000..f11ffb0c88 --- /dev/null +++ b/domains/xrap1dx.json @@ -0,0 +1,21 @@ +{ + "description": "making a cool portfolio website.", + "repo": "https://github.com/xrap1dx?tab=repositories", + "owner": { + "username": "xrap1dx", + "email": "sirrapid155@gmail.com" + }, + "record": { + "A": [ + "69.30.249.53" + ], + "MX": [ + "mx1.improvmx.com", + "mx2.improvmx.com" + ], + "TXT": [ + "v=spf1 include:spf.improvmx.com ~all", + "zoho-verification=zb43908801.zmverify.zoho.eu" + ] + } +} diff --git a/domains/y.json b/domains/y.json new file mode 100644 index 0000000000..1a06bbbaf4 --- /dev/null +++ b/domains/y.json @@ -0,0 +1,10 @@ +{ + "owner": { + "username": "yunexiz", + "discord": "1040303561847881729", + "email": "" + }, + "record": { + "CNAME": "yunexiz.github.io" + } +} diff --git a/domains/yigit.json b/domains/yigit.json index ecd145c3ce..731117b2de 100644 --- a/domains/yigit.json +++ b/domains/yigit.json @@ -1,9 +1,12 @@ { + "description": "My Portfolio", + "repo": "https://github.com/yigitdev05/yigitdev05.github.io", "owner": { - "username": "yigitdevv0", - "email": "yigitkabak05@hotmail.com" + "username": "yigitdev05", + "email": "yigitkabak@proton.me", + "discord": "yigit.dev" }, "record": { - "CNAME": "yigit.xairys.com" + "CNAME": "yigitdev05.github.io" } -} +} diff --git a/domains/yrrahbot.acronical.json b/domains/yrrahbot.acronical.json index bb972b6e72..fa8380b237 100644 --- a/domains/yrrahbot.acronical.json +++ b/domains/yrrahbot.acronical.json @@ -4,6 +4,6 @@ "email": "acronicalbusiness@gmail.com" }, "record": { - "A": ["209.38.167.110"] + "A": ["138.68.133.84"] } } diff --git a/domains/yxz.json b/domains/yxz.json index e6f890b1c7..739cbc466b 100644 --- a/domains/yxz.json +++ b/domains/yxz.json @@ -1,9 +1,10 @@ { - "owner": { - "username": "yz9551", - "email": "yixuan0808@gmail.com" - }, - "record": { - "CNAME": "cobble.southeastasia.cloudapp.azure.com" - } -} + "repo": "https://github.com/yz9551/blog", + "owner": { + "username": "yz9551", + "email": "yixuan0808@gmail.com" + }, + "record": { + "CNAME": "yz9551.github.io" + } +} diff --git a/domains/z.json b/domains/z.json new file mode 100644 index 0000000000..63cb184904 --- /dev/null +++ b/domains/z.json @@ -0,0 +1,18 @@ +{ + "owner": { + "username": "SkyExploreWasTaken", + "email": "", + "discord": "1049263707177353247", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.ae9lxcsRx9K7NJv-AcRXmgm-8sWQp-2e6Pxly82K9_797Wy3RjBtVGaq9snYtOkL-Qm9Oj845TiS8DV-ae7fPyWYwHgzrDj99tuRjVFyrvWfCbglvOWWHODsjV5lJpJZQjuHQn08O1Ptv69N5E2-imTQegZhcn5pkMiTCW8VpuXNXD_1Viu5_xSUYXYaAsaY-G0QYNLK3IPky8zorgdC4-5w23htVxmbiAMTtqHHOJx-wqv2R-xya96-BlQ_P8GtCTG5XJQzdqrqz630012T_tdD5VL5wbBbsCcWI4EoHqGZcBt4LhUL0GPnr9jnWuTcoBVyMSevG6plNjPF9wc6WQ.cOsFit33h3r9GZdCYQ8B3Q.iOkTaYYCBBWaWv9ZtDxpCL4ix4zMWwIYcIMuje17bYUcWom6plFOQFmG24WCucDMgbeMd_eM0NdttpHYRdl7VaM_E4zTUMViGInDWEO1ucI2whNYUt3Cf1Zev1851l44.eoIzam49yND7K-OzfY6Rag" + }, + + "record": { + "A": [ + "185.199.108.153", + "185.199.109.153", + "185.199.110.153", + "185.199.111.153" + ] + } + } + diff --git a/domains/zenzoya.json b/domains/zenzoya.json new file mode 100644 index 0000000000..7f922b704e --- /dev/null +++ b/domains/zenzoya.json @@ -0,0 +1,12 @@ +{ + "owner": { + "username": "ZenZoyaUDR", + "email": "", + "discord": "915228509440454707" + }, + + "record": { + "CNAME": "zenzoya.netlify.app" + } + } + \ No newline at end of file diff --git a/domains/zeoz.json b/domains/zeoz.json new file mode 100644 index 0000000000..7ea8094e72 --- /dev/null +++ b/domains/zeoz.json @@ -0,0 +1,13 @@ +{ + "owner": { + "username": "nysr-dev", + "email": "", + "discord": "908554139888410635", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.DzFKuCJ9aSSXdV5Zva5ADifL9VFv8bwoGWvWEIzfzZHqSPsEFxpnIhQcOPCtuvPDQRkDd11dj2zpqv9gonnte79XPhqg_PqJsW_XH6e8RyK6GBaG0DqQrVhvubLKIUg7B7FwrIdIrVKt4gDInHEUx6IrwvR3qKbWfRbwu4XLB16IBzSQq9Vz96E9SHin7GDqcPviViTouT8KF_GGkWgPvFFysHnaSdXjMPch_zXX5fPgQ58p0P7um6lDVMSykwh4gZm4i6mhgAsUxGQVHY6ifQoIWxVcuMv8_JuIEyVj8X_EUzT5gqn9BWSpOoLHbFQ8nw-ydSDUWqK91zLCahTnlg.coaoSKqOk2tuipR3_ZQaow.RemUOjorEtATO2ekibtnjk3opGgUR9d9PF1IFij9rr1tDLKGe7T_mlHMqP-ma_wf7mBI63bVZOghlj2svObhPyV5Bx1uh9s5JWhpqOiB8ms._qNk5He5L58v1darIO3xGw" + }, + + "record": { + "CNAME": "nysr.host" + } + } + \ No newline at end of file diff --git a/domains/zevobla.json b/domains/zevobla.json new file mode 100644 index 0000000000..cf317bf936 --- /dev/null +++ b/domains/zevobla.json @@ -0,0 +1,13 @@ +{ + "owner": { + "username": "Zevobla", + "email": "", + "discord": "467539292877750284", + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.Yl52Rrzzsl6pjhBgVkYA_NfGUZUHIp18-pe5PQVvoVI_7U_nksgv91HNcy56xoSJ9A8WUJCeE8qwfsenu9qwHVyWlAuNuWKfEMdM4vAI0V_AuW_1YaIm-0ObrxQsOPMohv9n7e6b5vSLz3f7EKsbiqtebvwF1ebxxqN85t64ZrfCSEBATl3sCjR-vLAORej4Kj3MpgKe7Le1qsoey3u5SR1FvGezQh3PLljcKlR72g0TKvkn8WnF2JicERNDNFJYnwipt-G0HyvibpTsh7trMrcrSEfDYFxGkDLYhgHo02RvUhXer4mtCCvMUX2MgsGraqxDBdASwfk62Jn2EINU6Q.PxrZtoeRnAFNvkmvd0vAMg.xokePgy944ELwFNV_7CzH4K_ylDYFqd_rC-XnvJAt22K2dYKk5SVjftxmLJhwib-BcZh-Aqx7FkRmR3bytAKic2a_vdnmkV6c_tuDbSsJviXViBKpPDPhDF2DoWRBvTI.b2HHi1Vk1_cUmFDkZOclbw" + }, + + "record": { + "A": ["77.238.238.131"] + } + } + \ No newline at end of file diff --git a/domains/zmail._domainkey.esb.json b/domains/zmail._domainkey.esb.json new file mode 100644 index 0000000000..13fd799922 --- /dev/null +++ b/domains/zmail._domainkey.esb.json @@ -0,0 +1,11 @@ +{ + "owner": { + "username": "EducatedsuddenBucket", + "email": "educatedsuddenbucket@gmail.com" + }, + "record": { + "TXT": [ + "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCOCPIlvAEZxJibdx9OiUyJHoj63GUkBafTzg5XI4kfG7LFcONNdJwjxbOipmriktgDwyltEM4ZC1kw+Vf3mSYwIqtfuMmFZXBawYW9nU7KbNqH2xLZF+7z0SkHdyB0ODm78ouiQLdr6IPc+ZSjyZD0M3eOMlXnwsBrCzhM+itKowIDAQAB" + ] + } +} diff --git a/domains/zmail._domainkey.juststudio.json b/domains/zmail._domainkey.juststudio.json new file mode 100644 index 0000000000..fa533eb952 --- /dev/null +++ b/domains/zmail._domainkey.juststudio.json @@ -0,0 +1,10 @@ +{ + "description": "zoho mail for juststudio.is-a.dev domain", + "owner": { + "username": "JustStudio7", + "email": "lk.qq@ya.ru" + }, + "record": { + "TXT": "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCjezgYOcTrOFw6uITe2KXiQ7MTEzCI76YKzGNPCeN7ttYlbZ/+KRg+iNPNcinf96ClHDhw7fooDSkmTnsCwXdK29gidrXFljATKEB3bilriDYTdtesd+kCHVS5XqUWHKfAdhFZpQcV97DwX1mzTb17JOi8R9HJ8KqJ00/+eir+EQIDAQAB" + } +} diff --git a/domains/zwei.json b/domains/zwei.json index e6ee5f6156..02ad53c002 100644 --- a/domains/zwei.json +++ b/domains/zwei.json @@ -1,9 +1,9 @@ { "owner": { - "username": "Vibred", - "email": "vibred@pm.me" + "username": "zwei", + "email": "post@zwei.de.eu.org" }, "record": { - "CNAME": "telegraph-image2-c9p.pages.dev" + "CNAME": "bestzwei.github.io" } } diff --git a/media/logo_circle.png b/media/logo_circle.png new file mode 100644 index 0000000000..dae6ae51bf Binary files /dev/null and b/media/logo_circle.png differ diff --git a/scripts/action-utils.js b/scripts/action-utils.js index f4fde5761e..38a33a4209 100644 --- a/scripts/action-utils.js +++ b/scripts/action-utils.js @@ -1,8 +1,8 @@ module.exports = { - hasLabel: (context, label) => { - const pr = context.payload.pull_request || context.payload.issue; - const { labels = [] } = pr; + hasLabel: (context, label) => { + const pr = context.payload.pull_request || context.payload.issue; + const { labels = [] } = pr; - return !!labels.find(({ name }) => name === label); - }, + return !!labels.find(({ name }) => name === label); + }, }; diff --git a/scripts/register-domains.js b/scripts/register-domains.js index 20670f8afd..94bc02089b 100644 --- a/scripts/register-domains.js +++ b/scripts/register-domains.js @@ -1,61 +1,76 @@ -const R = require('ramda'); -const { VALID_RECORD_TYPES, DOMAIN_HOST_IP, TTL, ENV } = require('../utils/constants'); -const { domainService: dc } = require('../utils/domain-service'); -const { getDomains: gd } = require('../utils/get-domain'); +const R = require("ramda"); +const { + VALID_RECORD_TYPES, + DOMAIN_HOST_IP, + TTL, + ENV, +} = require("../utils/constants"); +const { domainService: dc } = require("../utils/domain-service"); +const { getDomains: gd } = require("../utils/get-domain"); const getRecords = R.compose(R.toPairs, R.pick(VALID_RECORD_TYPES)); const address = (type, value) => { - if ('URL' === type) return `${value}`.replace(/\/$/g, ''); - if ('TXT' === type) return value; - return (type === 'CNAME' ? `${value}`.toLowerCase() : `${value}`).replace(/[/.]$/g, ''); + if ("URL" === type) return `${value}`.replace(/\/$/g, ""); + if ("TXT" === type) return value; + return (type === "CNAME" ? `${value}`.toLowerCase() : `${value}`).replace( + /[/.]$/g, + "", + ); }; -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 === '@') { - data.record.A = [ DOMAIN_HOST_IP ] - } +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 === "@") { + data.record.A = [DOMAIN_HOST_IP]; + } - const records = getRecords(data.record); + const records = getRecords(data.record); - return R.chain(([recordType, values]) => { - const valueList = Array.isArray(values) ? values : [values]; + return R.chain(([recordType, values]) => { + const valueList = Array.isArray(values) ? values : [values]; - return valueList.map((value, index) => ({ - name: data.name, - type: recordType, - address: address(recordType, value), - ttl: TTL, - ...(recordType === 'MX' ? { priority: index + 20 } : {}) - })) - }, records) + return valueList.map((value, index) => ({ + name: data.name, + type: recordType, + address: address(recordType, value), + ttl: TTL, + ...(recordType === "MX" ? { priority: index + 20 } : {}), + })); + }, records); }); -const registerDomains = async ({ domainService, getDomains, log = () => { } }) => { - const domains = await getDomains().then(toHostList); +const registerDomains = async ({ + domainService, + getDomains, + log = () => {}, +}) => { + const domains = await getDomains().then(toHostList); - if (domains.length === 0) - return Promise.reject(new Error('Nothing to register')); + if (domains.length === 0) + return Promise.reject(new Error("Nothing to register")); - log(`${domains.length} records found`); - return domainService.updateHosts(domains); + log(`${domains.length} records found`); + return domainService.updateHosts(domains); }; const main = async () => { - console.log(`Running in ${ENV} mode`); - const result = await registerDomains({ domainService: dc, getDomains: gd, log: console.log }); - console.log(result); + console.log(`Running in ${ENV} mode`); + const result = await registerDomains({ + domainService: dc, + getDomains: gd, + log: console.log, + }); + console.log(result); }; if (require.main === module) { - main().catch(e => { - console.error(e); - process.exit(1); - }); + main().catch((e) => { + console.error(e); + process.exit(1); + }); } else { - module.exports = { toHostList, registerDomains }; + module.exports = { toHostList, registerDomains }; } - diff --git a/scripts/reply.js b/scripts/reply.js index 233f56ed44..dd4df142d1 100644 --- a/scripts/reply.js +++ b/scripts/reply.js @@ -1,4 +1,3 @@ - const getInstructions = () => ` The changes have been published!! It should reflect in less than 24 hours. @@ -35,16 +34,15 @@ Help me in my mission to keep this service alive forever by donating! `; module.exports = { - async instructions(context, github) { - const pr = context.payload.issue || context.payload.pull_request; - const { number } = pr; + async instructions(context, github) { + const pr = context.payload.issue || context.payload.pull_request; + const { number } = pr; - await github.issues.createComment({ - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: number, - body: getInstructions(), - }); - } + await github.issues.createComment({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: number, + body: getInstructions(), + }); + }, }; - diff --git a/tests/cpanel.test.js b/tests/cpanel.test.js index 162a9a5d38..b2415f8b48 100644 --- a/tests/cpanel.test.js +++ b/tests/cpanel.test.js @@ -1,195 +1,210 @@ -const R = require('ramda'); -const { CpanelClient } = require('../utils/lib/cpanel'); +const R = require("ramda"); +const { CpanelClient } = require("../utils/lib/cpanel"); -const mockFetch = (expectRequest, decorate = R.identity) => (reqUrl, request) => { - expectRequest(reqUrl, request); - return Promise.resolve({ - json: async () => decorate(request), - }); -}; - -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=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', - }, - rejectUnauthorized: false, +const mockFetch = + (expectRequest, decorate = R.identity) => + (reqUrl, request) => { + expectRequest(reqUrl, request); + return Promise.resolve({ + json: async () => decorate(request), }); - }); + }; - const cpanel = CpanelClient({ - host: 'example.com', - port: 2000, - username: 'boy', - apiKey: 'boybyebye', - domain: 'a.b', - dependencies: { fetch }, - }); +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=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", + }, + rejectUnauthorized: false, + }); + }); - await cpanel.zone.fetch(); + const cpanel = CpanelClient({ + host: "example.com", + port: 2000, + username: "boy", + apiKey: "boybyebye", + domain: "a.b", + dependencies: { fetch }, + }); + + await cpanel.zone.fetch(); + }); + + 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=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", + }, + rejectUnauthorized: false, + }); + }); + + const cpanel = CpanelClient({ + host: "example.com", + port: 2000, + username: "boy", + apiKey: "boybyebye", + domain: "a.b", + dependencies: { fetch }, + }); + + await cpanel.zone.fetch({ domain: "foobar.boeey" }); + }); }); - 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=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', - }, - rejectUnauthorized: false, + describe("addzonerecord", () => { + it("should make the correct request", async () => { + const fetch = mockFetch((url, request) => { + expect(url).toBe( + "https://example.com:2000/json-api/cpanel?domain=a.b&name=googo&type=CNAME&cname=beey&ttl=2020&cpanel_jsonapi_user=boy&cpanel_jsonapi_module=ZoneEdit&cpanel_jsonapi_func=add_zone_record&cpanel_jsonapi_apiversion=2", + ); + expect(request).toEqual({ + headers: { + Authorization: "cpanel boy:boybyebye", + }, + rejectUnauthorized: false, + }); + }); + + const cpanel = CpanelClient({ + host: "example.com", + port: 2000, + username: "boy", + apiKey: "boybyebye", + domain: "a.b", + dependencies: { fetch }, + }); + + await cpanel.zone.add({ + name: "googo", + type: "boyee", + cname: "beey", + type: "CNAME", + ttl: 2020, + }); }); - }); - - const cpanel = CpanelClient({ - host: 'example.com', - port: 2000, - username: 'boy', - apiKey: 'boybyebye', - domain: 'a.b', - dependencies: { fetch }, - }); - - await cpanel.zone.fetch({ domain: 'foobar.boeey' }); }); - }); - describe('addzonerecord', () => { - it('should make the correct request', async () => { - const fetch = mockFetch((url, request) => { - expect(url).toBe('https://example.com:2000/json-api/cpanel?domain=a.b&name=googo&type=CNAME&cname=beey&ttl=2020&cpanel_jsonapi_user=boy&cpanel_jsonapi_module=ZoneEdit&cpanel_jsonapi_func=add_zone_record&cpanel_jsonapi_apiversion=2'); - expect(request).toEqual({ - headers: { - Authorization: 'cpanel boy:boybyebye', - }, - rejectUnauthorized: false, + describe("addzonerecord", () => { + it("should make the correct request", async () => { + const fetch = mockFetch((url, request) => { + expect(url).toBe( + "https://example.com:2000/json-api/cpanel?domain=a.b&line=500&cpanel_jsonapi_user=boy&cpanel_jsonapi_module=ZoneEdit&cpanel_jsonapi_func=remove_zone_record&cpanel_jsonapi_apiversion=2", + ); + expect(request).toEqual({ + headers: { + Authorization: "cpanel boy:boybyebye", + }, + rejectUnauthorized: false, + }); + }); + + const cpanel = CpanelClient({ + host: "example.com", + port: 2000, + username: "boy", + apiKey: "boybyebye", + domain: "a.b", + dependencies: { fetch }, + }); + + await cpanel.zone.remove({ + line: 500, + }); }); - }); - - const cpanel = CpanelClient({ - host: 'example.com', - port: 2000, - username: 'boy', - apiKey: 'boybyebye', - domain: 'a.b', - dependencies: { fetch }, - }); - - await cpanel.zone.add({ - name: 'googo', - type: 'boyee', - cname: 'beey', - type: 'CNAME', - ttl: 2020, - }); }); - }); - describe('addzonerecord', () => { - it('should make the correct request', async () => { - const fetch = mockFetch((url, request) => { - expect(url).toBe('https://example.com:2000/json-api/cpanel?domain=a.b&line=500&cpanel_jsonapi_user=boy&cpanel_jsonapi_module=ZoneEdit&cpanel_jsonapi_func=remove_zone_record&cpanel_jsonapi_apiversion=2'); - expect(request).toEqual({ - headers: { - Authorization: 'cpanel boy:boybyebye', - }, - rejectUnauthorized: false, + describe("fetchredirections", () => { + it("should make the correct request", async () => { + const fetch = mockFetch((url, request) => { + expect(url).toBe( + "https://example.com:2000/execute/Mime/list_redirects?cpanel_jsonapi_user=boy&cpanel_jsonapi_module=Mime&cpanel_jsonapi_func=list_redirects&cpanel_jsonapi_apiversion=2", + ); + expect(request).toEqual({ + headers: { + Authorization: "cpanel boy:boybyebye", + }, + rejectUnauthorized: false, + }); + }); + + const cpanel = CpanelClient({ + host: "example.com", + port: 2000, + username: "boy", + apiKey: "boybyebye", + domain: "a.b", + dependencies: { fetch }, + }); + + await cpanel.redirection.fetch(); }); - }); - - const cpanel = CpanelClient({ - host: 'example.com', - port: 2000, - username: 'boy', - apiKey: 'boybyebye', - domain: 'a.b', - dependencies: { fetch }, - }); - - await cpanel.zone.remove({ - line: 500, - }); }); - }); + describe("addredirection", () => { + it("should make the correct request", async () => { + const fetch = mockFetch((url, request) => { + expect(url).toBe( + "https://example.com:2000/execute/Mime/add_redirect?domain=googo&destination=https%3A%2F%2Foodf.com&cpanel_jsonapi_user=boy&cpanel_jsonapi_module=Mime&cpanel_jsonapi_func=add_redirect&cpanel_jsonapi_apiversion=2", + ); + expect(request).toEqual({ + headers: { + Authorization: "cpanel boy:boybyebye", + }, + rejectUnauthorized: false, + }); + }); - describe('fetchredirections', () => { - it('should make the correct request', async () => { - const fetch = mockFetch((url, request) => { - expect(url).toBe('https://example.com:2000/execute/Mime/list_redirects?cpanel_jsonapi_user=boy&cpanel_jsonapi_module=Mime&cpanel_jsonapi_func=list_redirects&cpanel_jsonapi_apiversion=2'); - expect(request).toEqual({ - headers: { - Authorization: 'cpanel boy:boybyebye', - }, - rejectUnauthorized: false, + const cpanel = CpanelClient({ + host: "example.com", + port: 2000, + username: "boy", + apiKey: "boybyebye", + domain: "a.b", + dependencies: { fetch }, + }); + + await cpanel.redirection.add({ + domain: "googo", + destination: "https://oodf.com", + }); }); - }); - - const cpanel = CpanelClient({ - host: 'example.com', - port: 2000, - username: 'boy', - apiKey: 'boybyebye', - domain: 'a.b', - dependencies: { fetch }, - }); - - await cpanel.redirection.fetch(); }); - }); - describe('addredirection', () => { - it('should make the correct request', async () => { - const fetch = mockFetch((url, request) => { - expect(url).toBe('https://example.com:2000/execute/Mime/add_redirect?domain=googo&destination=https%3A%2F%2Foodf.com&cpanel_jsonapi_user=boy&cpanel_jsonapi_module=Mime&cpanel_jsonapi_func=add_redirect&cpanel_jsonapi_apiversion=2'); - expect(request).toEqual({ - headers: { - Authorization: 'cpanel boy:boybyebye', - }, - rejectUnauthorized: false, + + describe("deleteredirection", () => { + it("should make the correct request", async () => { + const fetch = mockFetch((url, request) => { + expect(url).toBe( + "https://example.com:2000/execute/Mime/delete_redirect?domain=googo&cpanel_jsonapi_user=boy&cpanel_jsonapi_module=Mime&cpanel_jsonapi_func=delete_redirect&cpanel_jsonapi_apiversion=2", + ); + expect(request).toEqual({ + headers: { + Authorization: "cpanel boy:boybyebye", + }, + rejectUnauthorized: false, + }); + }); + + const cpanel = CpanelClient({ + host: "example.com", + port: 2000, + username: "boy", + apiKey: "boybyebye", + domain: "a.b", + dependencies: { fetch }, + }); + + await cpanel.redirection.remove({ domain: "googo" }); }); - }); - - const cpanel = CpanelClient({ - host: 'example.com', - port: 2000, - username: 'boy', - apiKey: 'boybyebye', - domain: 'a.b', - dependencies: { fetch }, - }); - - await cpanel.redirection.add({ - domain: 'googo', - destination: 'https://oodf.com' - }); }); - }); - - describe('deleteredirection', () => { - it('should make the correct request', async () => { - const fetch = mockFetch((url, request) => { - expect(url).toBe('https://example.com:2000/execute/Mime/delete_redirect?domain=googo&cpanel_jsonapi_user=boy&cpanel_jsonapi_module=Mime&cpanel_jsonapi_func=delete_redirect&cpanel_jsonapi_apiversion=2'); - expect(request).toEqual({ - headers: { - Authorization: 'cpanel boy:boybyebye', - }, - rejectUnauthorized: false, - }); - }); - - const cpanel = CpanelClient({ - host: 'example.com', - port: 2000, - username: 'boy', - apiKey: 'boybyebye', - domain: 'a.b', - dependencies: { fetch }, - }); - - await cpanel.redirection.remove({ domain: 'googo' }); - }); - }); }); - diff --git a/tests/domain-service.test.js b/tests/domain-service.test.js index 077aa4ea27..dfd6400ed9 100644 --- a/tests/domain-service.test.js +++ b/tests/domain-service.test.js @@ -1,344 +1,421 @@ -const R = require('ramda'); -const { getDomainService, diffRecords } = require('../utils/domain-service'); -const { DOMAIN_DOMAIN } = require('../utils/constants'); +const R = require("ramda"); +const { getDomainService, diffRecords } = require("../utils/domain-service"); +const { DOMAIN_DOMAIN } = require("../utils/constants"); -const getCpanel = ({ zone, addZone, removeZone, redir, addRedir, removeRedir, addEmail, removeEmail } = {}) => ({ - zone: { - fetch: (_) => zone(), - add: (rec) => addZone(rec), - remove: (rec) => removeZone(rec), - }, - redirection: { - fetch: (_) => redir(), - add: (rec) => addRedir(rec), - remove: (rec) => removeRedir(rec), - }, - email: { - add: (rec) => addEmail(rec), - remove: (rec) => removeEmail(rec), - }, +const getCpanel = ({ + zone, + addZone, + removeZone, + redir, + addRedir, + removeRedir, + addEmail, + removeEmail, +} = {}) => ({ + zone: { + fetch: (_) => zone(), + add: (rec) => addZone(rec), + remove: (rec) => removeZone(rec), + }, + redirection: { + fetch: (_) => redir(), + add: (rec) => addRedir(rec), + remove: (rec) => removeRedir(rec), + }, + email: { + add: (rec) => addEmail(rec), + remove: (rec) => removeEmail(rec), + }, }); -describe('diffRecords', () => { - it('should show added record', () => { - const oldRecords = [ - { name: 'xx', type: 'CNAME', address: 'fck.com.' }, - { name: 'xa', type: 'A', address: '111.1.1212.1' }, - ]; - const newRecords = [ - { name: 'xx', type: 'CNAME', address: 'fck.com.' }, - { name: 'xa', type: 'A', address: '111.1.1212.1' }, - { name: 'boo', type: 'CNAME', address: 'x.com' }, - ]; +describe("diffRecords", () => { + it("should show added record", () => { + const oldRecords = [ + { name: "xx", type: "CNAME", address: "fck.com." }, + { name: "xa", type: "A", address: "111.1.1212.1" }, + ]; + const newRecords = [ + { name: "xx", type: "CNAME", address: "fck.com." }, + { name: "xa", type: "A", address: "111.1.1212.1" }, + { name: "boo", type: "CNAME", address: "x.com" }, + ]; - const result = diffRecords(oldRecords, newRecords); - expect(result).toEqual({ - remove: [], - add: [ - { name: 'boo', type: 'CNAME', address: 'x.com' }, - ], + const result = diffRecords(oldRecords, newRecords); + expect(result).toEqual({ + remove: [], + add: [{ name: "boo", type: "CNAME", address: "x.com" }], + }); }); - }); - it('should show edited records', () => { - const oldRecords = [ - { name: 'xx', type: 'CNAME', address: 'fck.com.' }, - { name: 'xa', type: 'A', address: '111.1.1212.1' }, - ]; - const newRecords = [ - { name: 'xx', type: 'CNAME', address: 'fck.com.' }, - { name: 'xa', type: 'A', address: '69.69.69.69' }, - ]; + it("should show edited records", () => { + const oldRecords = [ + { name: "xx", type: "CNAME", address: "fck.com." }, + { name: "xa", type: "A", address: "111.1.1212.1" }, + ]; + const newRecords = [ + { name: "xx", type: "CNAME", address: "fck.com." }, + { name: "xa", type: "A", address: "69.69.69.69" }, + ]; - const result = diffRecords(oldRecords, newRecords); - expect(result).toEqual({ - remove: [ - { name: 'xa', type: 'A', address: '111.1.1212.1' }, - ], - add: [ - { name: 'xa', type: 'A', address: '69.69.69.69' }, - ], + const result = diffRecords(oldRecords, newRecords); + expect(result).toEqual({ + remove: [{ name: "xa", type: "A", address: "111.1.1212.1" }], + add: [{ name: "xa", type: "A", address: "69.69.69.69" }], + }); }); - }); - it('should show added records with the same name and record type', () => { - const oldRecords = [ - { name: 'xx', type: 'CNAME', address: 'fck.com.' }, - { name: 'xa', type: 'A', address: '69.69.69.69' }, - ]; - const newRecords = [ - { name: 'xx', type: 'CNAME', address: 'fck.com.' }, - { name: 'xa', type: 'A', address: '69.69.69.69' }, - { name: 'xa', type: 'A', address: '69.69.4.20' }, - ]; + it("should show added records with the same name and record type", () => { + const oldRecords = [ + { name: "xx", type: "CNAME", address: "fck.com." }, + { name: "xa", type: "A", address: "69.69.69.69" }, + ]; + const newRecords = [ + { name: "xx", type: "CNAME", address: "fck.com." }, + { name: "xa", type: "A", address: "69.69.69.69" }, + { name: "xa", type: "A", address: "69.69.4.20" }, + ]; - const result = diffRecords(oldRecords, newRecords); - expect(result).toEqual({ - remove: [], - add: [ - { name: 'xa', type: 'A', address: '69.69.4.20' }, - ], + const result = diffRecords(oldRecords, newRecords); + expect(result).toEqual({ + remove: [], + add: [{ name: "xa", type: "A", address: "69.69.4.20" }], + }); }); - }); - it('should diff complex changes', () => { - const oldRecords = [ - { name: 'a', type: 'CNAME', address: 'fck.com.' }, - { name: 'b', type: 'A', address: '69.69.69.69' }, - { name: '111', type: 'CNAME', address: 'x' }, - { name: 'd', type: 'A', address: '69.69.4.20' }, - ]; - const newRecords = [ - { name: '111', type: 'CNAME', address: 'x' }, - { name: 'd', type: 'CNAME', address: 'duck.com' }, - { name: 'a', type: 'CNAME', address: 'og.com' }, - { name: 'b', type: 'A', address: '69.69.69.69' }, - { name: 'b', type: 'A', address: '69.69.4.20' }, - { name: 'c', type: 'CNAME', address: 'ccc.cc' }, - ]; + it("should diff complex changes", () => { + const oldRecords = [ + { name: "a", type: "CNAME", address: "fck.com." }, + { name: "b", type: "A", address: "69.69.69.69" }, + { name: "111", type: "CNAME", address: "x" }, + { name: "d", type: "A", address: "69.69.4.20" }, + ]; + const newRecords = [ + { name: "111", type: "CNAME", address: "x" }, + { name: "d", type: "CNAME", address: "duck.com" }, + { name: "a", type: "CNAME", address: "og.com" }, + { name: "b", type: "A", address: "69.69.69.69" }, + { name: "b", type: "A", address: "69.69.4.20" }, + { name: "c", type: "CNAME", address: "ccc.cc" }, + ]; - const result = diffRecords(oldRecords, newRecords); - expect(result).toEqual({ - remove: [ - { name: 'a', type: 'CNAME', address: 'fck.com.' }, - { name: 'd', type: 'A', address: '69.69.4.20' }, - ], - add: [ - { name: 'd', type: 'CNAME', address: 'duck.com' }, - { name: 'a', type: 'CNAME', address: 'og.com' }, - { name: 'b', type: 'A', address: '69.69.4.20' }, - { name: 'c', type: 'CNAME', address: 'ccc.cc' }, - ], + const result = diffRecords(oldRecords, newRecords); + expect(result).toEqual({ + remove: [ + { name: "a", type: "CNAME", address: "fck.com." }, + { name: "d", type: "A", address: "69.69.4.20" }, + ], + add: [ + { name: "d", type: "CNAME", address: "duck.com" }, + { name: "a", type: "CNAME", address: "og.com" }, + { name: "b", type: "A", address: "69.69.4.20" }, + { name: "c", type: "CNAME", address: "ccc.cc" }, + ], + }); }); - }); }); -describe('Domain service', () => { - const addZone = jest.fn(async () => ({})); - const removeZone = jest.fn(async () => ({})); - const addRedir = jest.fn(async () => ({})); - const removeRedir = jest.fn(async () => ({})); - const addEmail = jest.fn(async () => ({})); - const removeEmail = jest.fn(async () => ({})); +describe("Domain service", () => { + const addZone = jest.fn(async () => ({})); + const removeZone = jest.fn(async () => ({})); + const addRedir = jest.fn(async () => ({})); + const removeRedir = jest.fn(async () => ({})); + const addEmail = jest.fn(async () => ({})); + const removeEmail = jest.fn(async () => ({})); - const mockDS = ({ zones, redirections }) => getDomainService({ - cpanel: getCpanel({ - zone: async () => zones, - redir: async () => redirections, - addZone, - addEmail, - addRedir, - removeZone, - removeRedir, - removeEmail, - }) - }); + const mockDS = ({ zones, redirections }) => + getDomainService({ + cpanel: getCpanel({ + zone: async () => zones, + redir: async () => redirections, + addZone, + addEmail, + addRedir, + removeZone, + removeRedir, + removeEmail, + }), + }); - const getRecordCalls = recfn => recfn.mock.calls - .map(R.head) - .map(R.pick(['name', 'type', 'address', 'redirect', 'domain', 'line', 'priority', 'exchanger'])); + const getRecordCalls = (recfn) => + recfn.mock.calls + .map(R.head) + .map( + R.pick([ + "name", + "type", + "address", + "redirect", + "domain", + "line", + "priority", + "exchanger", + ]), + ); - beforeEach(() => { - addZone.mockClear(); - removeZone.mockClear(); - addRedir.mockClear(); - removeRedir.mockClear(); - addEmail.mockClear(); - removeEmail.mockClear(); - }); - - describe('getHosts', () => { - it('should resolve with a list of hosts', async () => { - const zones = [ - { name: 'xx', type: 'CNAME', address: 'fck.com.' }, - { name: 'xx', type: 'A', address: '111.1.1212.1' }, - ]; - const redirections = []; - const zone = async () => zones; - const redir = async () => redirections; - const mockDomainService = getDomainService({ cpanel: getCpanel({ zone, redir }) }); - const list = await mockDomainService.getHosts(); - - expect(list).toEqual([ - { name: 'xx', type: 'CNAME', address: 'fck.com' }, - { name: 'xx', type: 'A', address: '111.1.1212.1' }, - ]); + beforeEach(() => { + addZone.mockClear(); + removeZone.mockClear(); + addRedir.mockClear(); + removeRedir.mockClear(); + addEmail.mockClear(); + removeEmail.mockClear(); }); - it('should resolve with a redirections', async () => { - const zones = [ - { line: '111', name: 'xx', type: 'CNAME', address: 'fck.com.' }, - { line: '112', name: 'xx', type: 'A', address: '111.1.1212.1' }, - ]; - const redirections = [ - { domain: 'foo.booboo.xyz', destination: 'https://google.com' }, - { domain: 'foo1.booboo.xyz', destination: 'https://duck.com' }, - ]; - const zone = async () => zones; - const redir = async () => redirections; - const mockDomainService = getDomainService({ cpanel: getCpanel({ zone, redir }) }); - const list = await mockDomainService.getHosts(); + describe("getHosts", () => { + it("should resolve with a list of hosts", async () => { + const zones = [ + { name: "xx", type: "CNAME", address: "fck.com." }, + { name: "xx", type: "A", address: "111.1.1212.1" }, + ]; + const redirections = []; + const zone = async () => zones; + const redir = async () => redirections; + const mockDomainService = getDomainService({ + cpanel: getCpanel({ zone, redir }), + }); + const list = await mockDomainService.getHosts(); - expect(list).toEqual([ - { id: '111', name: 'xx', type: 'CNAME', address: 'fck.com' }, - { id: '112', name: 'xx', type: 'A', address: '111.1.1212.1' }, - { id: `foo.${DOMAIN_DOMAIN}`, name: 'foo', type: 'URL', address: 'https://google.com' }, - { id: `foo1.${DOMAIN_DOMAIN}`, name: 'foo1', type: 'URL', address: 'https://duck.com' }, - ]); - }); - }); + expect(list).toEqual([ + { name: "xx", type: "CNAME", address: "fck.com" }, + { name: "xx", type: "A", address: "111.1.1212.1" }, + ]); + }); - describe('updateHosts', () => { - it('should append new hosts with existing ones and set it', async () => { - const zones = [ - { line: 1, name: 'a', type: 'CNAME', address: 'boo' }, - { line: 2, name: 'b', type: 'CNAME', address: 'goo' }, - ]; - const redirections = []; + it("should resolve with a redirections", async () => { + const zones = [ + { line: "111", name: "xx", type: "CNAME", address: "fck.com." }, + { line: "112", name: "xx", type: "A", address: "111.1.1212.1" }, + ]; + const redirections = [ + { domain: "foo.booboo.xyz", destination: "https://google.com" }, + { domain: "foo1.booboo.xyz", destination: "https://duck.com" }, + ]; + const zone = async () => zones; + const redir = async () => redirections; + const mockDomainService = getDomainService({ + cpanel: getCpanel({ zone, redir }), + }); + const list = await mockDomainService.getHosts(); - const mockDomainService = mockDS({ zones, redirections }); - await mockDomainService.updateHosts([ - { name: 'a', type: 'CNAME', address: 'boo' }, - { name: 'b', type: 'CNAME', address: 'goo' }, - { name: 'c', type: 'A', address: '12.131321.213' }, - { name: 'c', type: 'MX', address: 'foobar.com', priority: 2 }, - ]); - - expect(addZone).toHaveBeenCalledTimes(1); - expect(getRecordCalls(addZone)).toEqual([ - { name: 'c', type: 'A', address: '12.131321.213' }, - ]); - - expect(addEmail).toHaveBeenCalledTimes(1); - expect(getRecordCalls(addEmail)).toEqual([ - { domain: 'c.is-a.dev', exchanger: 'foobar.com', priority: 2 }, - ]); - - expect(removeZone).toHaveBeenCalledTimes(0); - expect(removeEmail).toHaveBeenCalledTimes(0); + expect(list).toEqual([ + { id: "111", name: "xx", type: "CNAME", address: "fck.com" }, + { id: "112", name: "xx", type: "A", address: "111.1.1212.1" }, + { + id: `foo.${DOMAIN_DOMAIN}`, + name: "foo", + type: "URL", + address: "https://google.com", + }, + { + id: `foo1.${DOMAIN_DOMAIN}`, + name: "foo1", + type: "URL", + address: "https://duck.com", + }, + ]); + }); }); - it('should update matching host and set it', async () => { - const zones = [ - { line: 1, name: 'a', type: 'CNAME', address: 'boo' }, - { line: 2, name: 'b', type: 'CNAME', address: 'goo' }, - ]; - const redirections = []; + describe("updateHosts", () => { + it("should append new hosts with existing ones and set it", async () => { + const zones = [ + { line: 1, name: "a", type: "CNAME", address: "boo" }, + { line: 2, name: "b", type: "CNAME", address: "goo" }, + ]; + const redirections = []; - const mockDomainService = mockDS({ zones, redirections }); - await mockDomainService.updateHosts([ - { name: 'a', type: 'CNAME', address: 'boo' }, - { name: 'b', type: 'CNAME', address: 'googoogaga' }, - ]); + const mockDomainService = mockDS({ zones, redirections }); + await mockDomainService.updateHosts([ + { name: "a", type: "CNAME", address: "boo" }, + { name: "b", type: "CNAME", address: "goo" }, + { name: "c", type: "A", address: "12.131321.213" }, + { name: "c", type: "MX", address: "foobar.com", priority: 2 }, + ]); - expect(addZone).toHaveBeenCalledTimes(1); - expect(getRecordCalls(addZone)).toEqual([ - { name: 'b', type: 'CNAME', address: 'googoogaga' }, - ]); - expect(removeZone).toHaveBeenCalledTimes(1); - expect(getRecordCalls(removeZone)).toEqual([ - { line: 2 }, - ]); + expect(addZone).toHaveBeenCalledTimes(1); + expect(getRecordCalls(addZone)).toEqual([ + { name: "c", type: "A", address: "12.131321.213" }, + ]); + + expect(addEmail).toHaveBeenCalledTimes(1); + expect(getRecordCalls(addEmail)).toEqual([ + { domain: "c.is-a.dev", exchanger: "foobar.com", priority: 2 }, + ]); + + expect(removeZone).toHaveBeenCalledTimes(0); + expect(removeEmail).toHaveBeenCalledTimes(0); + }); + + it("should update matching host and set it", async () => { + const zones = [ + { line: 1, name: "a", type: "CNAME", address: "boo" }, + { line: 2, name: "b", type: "CNAME", address: "goo" }, + ]; + const redirections = []; + + const mockDomainService = mockDS({ zones, redirections }); + await mockDomainService.updateHosts([ + { name: "a", type: "CNAME", address: "boo" }, + { name: "b", type: "CNAME", address: "googoogaga" }, + ]); + + expect(addZone).toHaveBeenCalledTimes(1); + expect(getRecordCalls(addZone)).toEqual([ + { name: "b", type: "CNAME", address: "googoogaga" }, + ]); + expect(removeZone).toHaveBeenCalledTimes(1); + expect(getRecordCalls(removeZone)).toEqual([{ line: 2 }]); + }); + + it("should update matching host and set it", async () => { + const zones = [ + { line: 1, name: "a", type: "CNAME", address: "boo" }, + { line: 2, name: "b", type: "CNAME", address: "goo" }, + { line: 3, name: "b", type: "CNAME", address: "xaa" }, + ]; + const redirections = []; + + const mockDomainService = mockDS({ zones, redirections }); + await mockDomainService.updateHosts([ + { name: "a", type: "CNAME", address: "boo" }, + { name: "b", type: "CNAME", address: "googoogaga" }, + { name: "b", type: "CNAME", address: "farboo" }, + ]); + + expect(addZone).toHaveBeenCalledTimes(2); + expect(getRecordCalls(addZone)).toEqual([ + { name: "b", type: "CNAME", address: "googoogaga" }, + { name: "b", type: "CNAME", address: "farboo" }, + ]); + expect(removeZone).toHaveBeenCalledTimes(2); + expect(getRecordCalls(removeZone)).toEqual([ + { line: 3 }, + { line: 2 }, + ]); + }); + + it("should workout this complex example", async () => { + const zones = [ + { line: 1, name: "a", type: "CNAME", address: "world" }, + { line: 2, name: "b", type: "A", address: "1" }, + { line: 3, name: "b", type: "A", address: "2" }, + { line: 4, name: "c", type: "CNAME", address: "hello.com" }, + { + line: 5, + name: "c", + type: "MX", + address: "mx1.hello.com", + priority: 20, + }, + { + line: 6, + name: "c", + type: "MX", + address: "mx2.hello.com", + priority: 21, + }, + { + line: 7, + name: "b", + type: "MX", + address: "foo.bar", + priority: 20, + }, + { line: 101, name: "x", type: "A", address: "1" }, + { line: 99, name: "y", type: "A", address: "2" }, + { line: 100, name: "z", type: "A", address: "3" }, + ]; + const redirections = [ + { + domain: `b.${DOMAIN_DOMAIN}`, + destination: "https://foobar.com", + }, + { + domain: `c.${DOMAIN_DOMAIN}`, + destination: "https://goobar.com", + }, + { + domain: `x.${DOMAIN_DOMAIN}`, + destination: "https://example.com", + }, + ]; + + const mockDomainService = mockDS({ zones, redirections }); + await mockDomainService.updateHosts([ + { name: "a", type: "CNAME", address: "boo" }, + { name: "b", type: "A", address: "1" }, + { name: "b", type: "A", address: "2" }, + { name: "b", type: "A", address: "3" }, + { name: "b", type: "URL", address: "https://wowow.com" }, + { name: "c", type: "CNAME", address: "hello.com" }, + { name: "c", type: "URL", address: "https://goobar.com" }, + { name: "d", type: "CNAME", address: "helo.com" }, + { name: "d", type: "URL", address: "https://hhh.com" }, + { name: "x", type: "URL", address: "https://example69.com" }, + { + name: "c", + type: "MX", + address: "mx2.hello.com", + priority: 21, + }, + { name: "a", type: "MX", address: "example.com", priority: 20 }, + ]); + + expect(addZone).toHaveBeenCalledTimes(3); + expect(getRecordCalls(addZone)).toEqual([ + { name: "a", type: "CNAME", address: "boo" }, + { name: "b", type: "A", address: "3" }, + { name: "d", type: "CNAME", address: "helo.com" }, + ]); + expect(removeZone).toHaveBeenCalledTimes(4); + expect(getRecordCalls(removeZone)).toEqual([ + { line: 101 }, + { line: 100 }, + { line: 99 }, + { line: 1 }, + ]); + + expect(addEmail).toHaveBeenCalledTimes(1); + expect(getRecordCalls(addEmail)).toEqual([ + { + domain: "a.is-a.dev", + exchanger: "example.com", + priority: 20, + }, + ]); + expect(removeEmail).toHaveBeenCalledTimes(2); + expect(getRecordCalls(removeEmail)).toEqual([ + { domain: "b.is-a.dev", exchanger: "foo.bar", priority: 20 }, + { + domain: "c.is-a.dev", + exchanger: "mx1.hello.com", + priority: 20, + }, + ]); + + expect(addRedir).toHaveBeenCalledTimes(3); + expect(getRecordCalls(addRedir)).toEqual([ + { + domain: `b.${DOMAIN_DOMAIN}`, + type: "permanent", + redirect: "https://wowow.com", + }, + { + domain: `d.${DOMAIN_DOMAIN}`, + type: "permanent", + redirect: "https://hhh.com", + }, + { + domain: `x.${DOMAIN_DOMAIN}`, + type: "permanent", + redirect: "https://example69.com", + }, + ]); + expect(removeRedir).toHaveBeenCalledTimes(2); + expect(getRecordCalls(removeRedir)).toEqual([ + { domain: `b.${DOMAIN_DOMAIN}` }, + { domain: `x.${DOMAIN_DOMAIN}` }, + ]); + }); }); - - it('should update matching host and set it', async () => { - const zones = [ - { line: 1, name: 'a', type: 'CNAME', address: 'boo' }, - { line: 2, name: 'b', type: 'CNAME', address: 'goo' }, - { line: 3, name: 'b', type: 'CNAME', address: 'xaa' }, - ]; - const redirections = []; - - const mockDomainService = mockDS({ zones, redirections }); - await mockDomainService.updateHosts([ - { name: 'a', type: 'CNAME', address: 'boo' }, - { name: 'b', type: 'CNAME', address: 'googoogaga' }, - { name: 'b', type: 'CNAME', address: 'farboo' }, - ]); - - expect(addZone).toHaveBeenCalledTimes(2); - expect(getRecordCalls(addZone)).toEqual([ - { name: 'b', type: 'CNAME', address: 'googoogaga' }, - { name: 'b', type: 'CNAME', address: 'farboo' }, - ]); - expect(removeZone).toHaveBeenCalledTimes(2); - expect(getRecordCalls(removeZone)).toEqual([ - { line: 3 }, - { line: 2 }, - ]); - }); - - it('should workout this complex example', async () => { - const zones = [ - { line: 1, name: 'a', type: 'CNAME', address: 'world' }, - { line: 2, name: 'b', type: 'A', address: '1' }, - { line: 3, name: 'b', type: 'A', address: '2' }, - { line: 4, name: 'c', type: 'CNAME', address: 'hello.com' }, - { line: 5, name: 'c', type: 'MX', address: 'mx1.hello.com', priority: 20 }, - { line: 6, name: 'c', type: 'MX', address: 'mx2.hello.com', priority: 21 }, - { line: 7, name: 'b', type: 'MX', address: 'foo.bar', priority: 20 }, - { line: 101, name: 'x', type: 'A', address: '1' }, - { line: 99, name: 'y', type: 'A', address: '2' }, - { line: 100, name: 'z', type: 'A', address: '3' }, - ]; - const redirections = [ - { domain: `b.${DOMAIN_DOMAIN}`, destination: 'https://foobar.com' }, - { domain: `c.${DOMAIN_DOMAIN}`, destination: 'https://goobar.com' }, - { domain: `x.${DOMAIN_DOMAIN}`, destination: 'https://example.com' }, - ]; - - const mockDomainService = mockDS({ zones, redirections }); - await mockDomainService.updateHosts([ - { name: 'a', type: 'CNAME', address: 'boo' }, - { name: 'b', type: 'A', address: '1' }, - { name: 'b', type: 'A', address: '2' }, - { name: 'b', type: 'A', address: '3' }, - { name: 'b', type: 'URL', address: 'https://wowow.com' }, - { name: 'c', type: 'CNAME', address: 'hello.com' }, - { name: 'c', type: 'URL', address: 'https://goobar.com' }, - { name: 'd', type: 'CNAME', address: 'helo.com' }, - { name: 'd', type: 'URL', address: 'https://hhh.com' }, - { name: 'x', type: 'URL', address: 'https://example69.com' }, - { name: 'c', type: 'MX', address: 'mx2.hello.com', priority: 21 }, - { name: 'a', type: 'MX', address: 'example.com', priority: 20 }, - ]); - - expect(addZone).toHaveBeenCalledTimes(3); - expect(getRecordCalls(addZone)).toEqual([ - { name: 'a', type: 'CNAME', address: 'boo' }, - { name: 'b', type: 'A', address: '3' }, - { name: 'd', type: 'CNAME', address: 'helo.com' }, - ]); - expect(removeZone).toHaveBeenCalledTimes(4); - expect(getRecordCalls(removeZone)).toEqual([ - { line: 101 }, - { line: 100 }, - { line: 99 }, - { line: 1 }, - ]); - - expect(addEmail).toHaveBeenCalledTimes(1); - expect(getRecordCalls(addEmail)).toEqual([ - { domain: 'a.is-a.dev', exchanger: 'example.com', priority: 20 }, - ]); - expect(removeEmail).toHaveBeenCalledTimes(2); - expect(getRecordCalls(removeEmail)).toEqual([ - { domain: 'b.is-a.dev', exchanger: 'foo.bar', priority: 20 }, - { domain: 'c.is-a.dev', exchanger: 'mx1.hello.com', priority: 20 }, - ]); - - expect(addRedir).toHaveBeenCalledTimes(3); - expect(getRecordCalls(addRedir)).toEqual([ - { domain: `b.${DOMAIN_DOMAIN}`, type: 'permanent', redirect: 'https://wowow.com' }, - { domain: `d.${DOMAIN_DOMAIN}`, type: 'permanent', redirect: 'https://hhh.com' }, - { domain: `x.${DOMAIN_DOMAIN}`, type: 'permanent', redirect: 'https://example69.com' }, - ]); - expect(removeRedir).toHaveBeenCalledTimes(2); - expect(getRecordCalls(removeRedir)).toEqual([ - { domain: `b.${DOMAIN_DOMAIN}` }, - { domain: `x.${DOMAIN_DOMAIN}` }, - ]); - }); - }); }); - diff --git a/tests/domain-utils.test.js b/tests/domain-utils.test.js index 0778967262..896cf017d4 100644 --- a/tests/domain-utils.test.js +++ b/tests/domain-utils.test.js @@ -1,9 +1,8 @@ -const { getDomains } = require('../utils/get-domain'); +const { getDomains } = require("../utils/get-domain"); -describe('getDomains', () => { - it('should resolve with the list of domains', async () => { - const list = await getDomains(); - expect(Array.isArray(list)).toBe(true); - }); +describe("getDomains", () => { + it("should resolve with the list of domains", async () => { + const list = await getDomains(); + expect(Array.isArray(list)).toBe(true); + }); }); - diff --git a/tests/domains.test.js b/tests/domains.test.js index 44c2a54229..75971b00b3 100644 --- a/tests/domains.test.js +++ b/tests/domains.test.js @@ -1,31 +1,37 @@ -const R = require('ramda'); -const fs = require('fs'); -const { getDomains } = require('../utils/get-domain'); -const { validateDomainData } = require('../utils/validations'); -const { DOMAINS_PATH } = require('../utils/constants'); +const R = require("ramda"); +const fs = require("fs"); +const { getDomains } = require("../utils/get-domain"); +const { validateDomainData } = require("../utils/validations"); +const { DOMAINS_PATH } = require("../utils/constants"); -describe('Domains', () => { - it('should all be json', async () => { - const files = await fs.promises.readdir(DOMAINS_PATH, {}); - expect(files.filter(f => !/\.json$/g.test(f)).length).toBe(0); - }); +describe("Domains", () => { + it("should all be json", async () => { + const files = await fs.promises.readdir(DOMAINS_PATH, {}); + expect(files.filter((f) => !/\.json$/g.test(f)).length).toBe(0); + }); - it('should be valid', (done) => { - getDomains() - .then(R.reject(R.propEq('name', '_psl'))) - .then(R.map(data => { - const { errors } = validateDomainData(data); - if (errors.length) { - const message = errors - .map(([key, { reason }]) => `[${data.name}.${key}]: ${reason}`) - .join('\n'); - return `\nValidation errors in ${data.name}.json: \n${message}`; - } - return ''; - })) - .then(R.filter(R.complement(R.isEmpty))) - .then(messages => messages.length ? done(messages.join('\n')) : done()) - .catch(done); - }); + it("should be valid", (done) => { + getDomains() + .then(R.reject(R.propEq("name", "_psl"))) + .then( + R.map((data) => { + const { errors } = validateDomainData(data); + if (errors.length) { + const message = errors + .map( + ([key, { reason }]) => + `[${data.name}.${key}]: ${reason}`, + ) + .join("\n"); + return `\nValidation errors in ${data.name}.json: \n${message}`; + } + return ""; + }), + ) + .then(R.filter(R.complement(R.isEmpty))) + .then((messages) => + messages.length ? done(messages.join("\n")) : done(), + ) + .catch(done); + }); }); - diff --git a/tests/register.test.js b/tests/register.test.js index bd967a298e..6628df2118 100644 --- a/tests/register.test.js +++ b/tests/register.test.js @@ -1,209 +1,242 @@ -const R = require('ramda') -const { toHostList, registerDomains } = require('../scripts/register-domains') -const { TTL, DOMAIN_DOMAIN } = require('../utils/constants') -const { getDomainService } = require('../utils/domain-service') +const R = require("ramda"); +const { toHostList, registerDomains } = require("../scripts/register-domains"); +const { TTL, DOMAIN_DOMAIN } = require("../utils/constants"); +const { getDomainService } = require("../utils/domain-service"); const getCpanel = ({ - zone, - addZone, - removeZone, - redir, - addRedir, - removeRedir, - addEmail, - removeEmail, + zone, + addZone, + removeZone, + redir, + addRedir, + removeRedir, + addEmail, + removeEmail, } = {}) => ({ - zone: { - fetch: (_) => zone(), - add: (rec) => addZone(rec), - remove: (rec) => removeZone(rec), - }, - redirection: { - fetch: (_) => redir(), - add: (rec) => addRedir(rec), - remove: (rec) => removeRedir(rec), - }, - email: { - add: (rec) => addEmail(rec), - remove: (rec) => removeEmail(rec), - }, -}) + zone: { + fetch: (_) => zone(), + add: (rec) => addZone(rec), + remove: (rec) => removeZone(rec), + }, + redirection: { + fetch: (_) => redir(), + add: (rec) => addRedir(rec), + remove: (rec) => removeRedir(rec), + }, + email: { + add: (rec) => addEmail(rec), + remove: (rec) => removeEmail(rec), + }, +}); -describe('toHostList', () => { - it('should flatten domain data to list of hosts (without https)', () => { - const res = toHostList([ - { name: 'akshay', record: { CNAME: 'phenax.github.io' } }, - { name: 'foobar', record: { CNAME: 'v.io' } }, - { name: 'xx', record: { A: ['1.2.3.4', '5.6.3.2', '1.2.31.1'] } }, - { name: 'xx', record: { CNAME: 'foobar.com', MX: ['as.com', 'f.com'] } }, - ]) +describe("toHostList", () => { + it("should flatten domain data to list of hosts (without https)", () => { + const res = toHostList([ + { name: "akshay", record: { CNAME: "phenax.github.io" } }, + { name: "foobar", record: { CNAME: "v.io" } }, + { name: "xx", record: { A: ["1.2.3.4", "5.6.3.2", "1.2.31.1"] } }, + { + name: "xx", + record: { CNAME: "foobar.com", MX: ["as.com", "f.com"] }, + }, + ]); - expect(res).toEqual([ - { name: 'akshay', type: 'CNAME', address: 'phenax.github.io', ttl: TTL }, - { name: 'foobar', type: 'CNAME', address: 'v.io', ttl: TTL }, - { name: 'xx', type: 'A', address: '1.2.3.4', ttl: TTL }, - { name: 'xx', type: 'A', address: '5.6.3.2', ttl: TTL }, - { name: 'xx', type: 'A', address: '1.2.31.1', ttl: TTL }, - { name: 'xx', type: 'CNAME', address: 'foobar.com', ttl: TTL }, - { name: 'xx', type: 'MX', address: 'as.com', priority: 20, ttl: TTL }, - { name: 'xx', type: 'MX', address: 'f.com', priority: 21, ttl: TTL }, - ]) - }) -}) + expect(res).toEqual([ + { + name: "akshay", + type: "CNAME", + address: "phenax.github.io", + ttl: TTL, + }, + { name: "foobar", type: "CNAME", address: "v.io", ttl: TTL }, + { name: "xx", type: "A", address: "1.2.3.4", ttl: TTL }, + { name: "xx", type: "A", address: "5.6.3.2", ttl: TTL }, + { name: "xx", type: "A", address: "1.2.31.1", ttl: TTL }, + { name: "xx", type: "CNAME", address: "foobar.com", ttl: TTL }, + { + name: "xx", + type: "MX", + address: "as.com", + priority: 20, + ttl: TTL, + }, + { + name: "xx", + type: "MX", + address: "f.com", + priority: 21, + ttl: TTL, + }, + ]); + }); +}); -describe('registerDomains', () => { - const addZone = jest.fn(async () => ({})) - const removeZone = jest.fn(async () => ({})) - const addRedir = jest.fn(async () => ({})) - const removeRedir = jest.fn(async () => ({})) - const addEmail = jest.fn(async () => ({})) - const removeEmail = jest.fn(async () => ({})) +describe("registerDomains", () => { + const addZone = jest.fn(async () => ({})); + const removeZone = jest.fn(async () => ({})); + const addRedir = jest.fn(async () => ({})); + const removeRedir = jest.fn(async () => ({})); + const addEmail = jest.fn(async () => ({})); + const removeEmail = jest.fn(async () => ({})); - const mockDS = ({ zones, redirections }) => - getDomainService({ - cpanel: getCpanel({ - zone: async () => zones, - redir: async () => redirections, - addZone, - addEmail, - addRedir, - removeZone, - removeRedir, - removeEmail, - }), - }) + const mockDS = ({ zones, redirections }) => + getDomainService({ + cpanel: getCpanel({ + zone: async () => zones, + redir: async () => redirections, + addZone, + addEmail, + addRedir, + removeZone, + removeRedir, + removeEmail, + }), + }); - beforeEach(() => { - addZone.mockClear() - removeZone.mockClear() - addRedir.mockClear() - removeRedir.mockClear() - addEmail.mockClear() - removeEmail.mockClear() - }) + beforeEach(() => { + addZone.mockClear(); + removeZone.mockClear(); + addRedir.mockClear(); + removeRedir.mockClear(); + addEmail.mockClear(); + removeEmail.mockClear(); + }); - it('should register the new set of hosts generated from domains list', async () => { - const localHosts = [ - { name: 'a', record: { CNAME: 'hello' } }, - { name: 'b', record: { CNAME: 'xaa' } }, - ] - const remoteHosts = [ - { line: 1, name: 'a', type: 'CNAME', address: 'hello' }, - { line: 2, name: 'b', type: 'CNAME', address: 'goo' }, - { line: 3, name: 'b', type: 'CNAME', address: 'xaa' }, - ] - const remoteRedirections = [] + it("should register the new set of hosts generated from domains list", async () => { + const localHosts = [ + { name: "a", record: { CNAME: "hello" } }, + { name: "b", record: { CNAME: "xaa" } }, + ]; + const remoteHosts = [ + { line: 1, name: "a", type: "CNAME", address: "hello" }, + { line: 2, name: "b", type: "CNAME", address: "goo" }, + { line: 3, name: "b", type: "CNAME", address: "xaa" }, + ]; + const remoteRedirections = []; - const domainService = mockDS({ - zones: remoteHosts, - redirections: remoteRedirections, - }) - await registerDomains({ getDomains: async () => localHosts, domainService }) + const domainService = mockDS({ + zones: remoteHosts, + redirections: remoteRedirections, + }); + await registerDomains({ + getDomains: async () => localHosts, + domainService, + }); - expect(addZone).toHaveBeenCalledTimes(0) - expect(removeZone).toHaveBeenCalledTimes(1) - expect(addRedir).toHaveBeenCalledTimes(0) - expect(removeRedir).toHaveBeenCalledTimes(0) - }) + expect(addZone).toHaveBeenCalledTimes(0); + expect(removeZone).toHaveBeenCalledTimes(1); + expect(addRedir).toHaveBeenCalledTimes(0); + expect(removeRedir).toHaveBeenCalledTimes(0); + }); - it('should add the new set hosts', async () => { - const localHosts = [ - { name: 'a', record: { CNAME: 'boo' } }, - { - name: 'b', - record: { A: ['1.1.1.1', '1.1.1.2'], MX: 'somemx', TXT: 'some txt' }, - }, - { name: 'c', record: { URL: 'https://google.com' } }, - { name: 'd', record: { CNAME: 'foobar' } }, - { name: 'e', record: { A: ['2.2.2.2'], TXT: ['some', 'extra', 'txt'] } }, - ] - const remoteHosts = [ - { line: 1, name: 'a', type: 'CNAME', address: 'boo' }, - { line: 2, name: 'b', type: 'MX', address: 'othermx' }, - { line: 3, name: 'd', type: 'CNAME', address: 'foobaz' }, - ] - const remoteRedirections = [ - { domain: `b.${DOMAIN_DOMAIN}`, destination: 'x' }, - { domain: `a.${DOMAIN_DOMAIN}`, destination: 'y' }, - ] + it("should add the new set hosts", async () => { + const localHosts = [ + { name: "a", record: { CNAME: "boo" } }, + { + name: "b", + record: { + A: ["1.1.1.1", "1.1.1.2"], + MX: "somemx", + TXT: "some txt", + }, + }, + { name: "c", record: { URL: "https://google.com" } }, + { name: "d", record: { CNAME: "foobar" } }, + { + name: "e", + record: { A: ["2.2.2.2"], TXT: ["some", "extra", "txt"] }, + }, + ]; + const remoteHosts = [ + { line: 1, name: "a", type: "CNAME", address: "boo" }, + { line: 2, name: "b", type: "MX", address: "othermx" }, + { line: 3, name: "d", type: "CNAME", address: "foobaz" }, + ]; + const remoteRedirections = [ + { domain: `b.${DOMAIN_DOMAIN}`, destination: "x" }, + { domain: `a.${DOMAIN_DOMAIN}`, destination: "y" }, + ]; - const domainService = mockDS({ - zones: remoteHosts, - redirections: remoteRedirections, - }) - await registerDomains({ getDomains: async () => localHosts, domainService }) + const domainService = mockDS({ + zones: remoteHosts, + redirections: remoteRedirections, + }); + await registerDomains({ + getDomains: async () => localHosts, + domainService, + }); - expect(addZone).toHaveBeenCalledTimes(8) - expect(addZone.mock.calls).toEqual([ - [{ name: 'b', type: 'A', address: '1.1.1.1', line: undefined }], - [{ name: 'b', type: 'A', address: '1.1.1.2', line: undefined }], - [ - { - name: 'b', - type: 'TXT', - address: 'some txt', - txtdata: 'some txt', - line: undefined, - }, - ], - [ - { - name: 'd', - type: 'CNAME', - cname: 'foobar', - address: 'foobar', - line: undefined, - }, - ], - [{ name: 'e', type: 'A', address: '2.2.2.2', line: undefined }], - [ - { - name: 'e', - type: 'TXT', - address: 'some', - txtdata: 'some', - line: undefined, - }, - ], - [ - { - name: 'e', - type: 'TXT', - address: 'extra', - txtdata: 'extra', - line: undefined, - }, - ], - [ - { - name: 'e', - type: 'TXT', - address: 'txt', - txtdata: 'txt', - line: undefined, - }, - ], - ]) + expect(addZone).toHaveBeenCalledTimes(8); + expect(addZone.mock.calls).toEqual([ + [{ name: "b", type: "A", address: "1.1.1.1", line: undefined }], + [{ name: "b", type: "A", address: "1.1.1.2", line: undefined }], + [ + { + name: "b", + type: "TXT", + address: "some txt", + txtdata: "some txt", + line: undefined, + }, + ], + [ + { + name: "d", + type: "CNAME", + cname: "foobar", + address: "foobar", + line: undefined, + }, + ], + [{ name: "e", type: "A", address: "2.2.2.2", line: undefined }], + [ + { + name: "e", + type: "TXT", + address: "some", + txtdata: "some", + line: undefined, + }, + ], + [ + { + name: "e", + type: "TXT", + address: "extra", + txtdata: "extra", + line: undefined, + }, + ], + [ + { + name: "e", + type: "TXT", + address: "txt", + txtdata: "txt", + line: undefined, + }, + ], + ]); - expect(removeZone).toHaveBeenCalledTimes(1) - expect(removeZone.mock.calls).toEqual([[{ line: 3 }]]) + expect(removeZone).toHaveBeenCalledTimes(1); + expect(removeZone.mock.calls).toEqual([[{ line: 3 }]]); - expect(addRedir).toHaveBeenCalledTimes(1) - expect(addRedir.mock.calls).toEqual([ - [ - { - domain: 'c.booboo.xyz', - redirect: 'https://google.com', - redirect_wildcard: 1, - redirect_www: 1, - type: 'permanent', - }, - ], - ]) + expect(addRedir).toHaveBeenCalledTimes(1); + expect(addRedir.mock.calls).toEqual([ + [ + { + domain: "c.booboo.xyz", + redirect: "https://google.com", + redirect_wildcard: 1, + redirect_www: 1, + type: "permanent", + }, + ], + ]); - expect(addEmail).toHaveBeenCalledTimes(1) - expect(addEmail.mock.calls).toEqual([ - [{ domain: 'b.is-a.dev', exchanger: 'somemx', priority: 20 }], - ]) - }) -}) + expect(addEmail).toHaveBeenCalledTimes(1); + expect(addEmail.mock.calls).toEqual([ + [{ domain: "b.is-a.dev", exchanger: "somemx", priority: 20 }], + ]); + }); +}); diff --git a/tests/validations.test.js b/tests/validations.test.js index bb2cac176a..6f71fb55f9 100644 --- a/tests/validations.test.js +++ b/tests/validations.test.js @@ -1,129 +1,165 @@ -const { validateDomainData, isValidDomain } = require('../utils/validations'); -const INVALID_NAMES = require('../utils/invalid-domains.json'); +const { validateDomainData, isValidDomain } = require("../utils/validations"); +const INVALID_NAMES = require("../utils/invalid-domains.json"); const defaultDomain = { - name: 'aaa', - record: { - A: ['121.121.121.121'] - }, - owner: { - username: 'betsy', - email: 'betsyfuckyoassup@foobar.com', - }, + name: "aaa", + record: { + A: ["121.121.121.121"], + }, + owner: { + username: "betsy", + email: "betsyfuckyoassup@foobar.com", + }, }; -const getstroflen = len => Array(len).fill('a').join(''); +const getstroflen = (len) => Array(len).fill("a").join(""); -describe('isValidMX', () => { - it('should be valid mx record', () => { - const cases = [ - { mx: 'foobar.com', result: true }, - { mx: 'as.as', result: true }, - { mx: 'ASPMX.L.GOOGLE.COM', result: true }, - { mx: 'ALT4.ASPMX.L.GOOGLE.COM', result: true }, - { mx: 'hello', result: false }, - { mx: 'helalsds-asd5sjdsd.com', result: true }, - { mx: 'helalsds?asd5sjdsd.com', result: false }, - { mx: 'helalsds_asd5sjdsd.com', result: false }, +describe("isValidMX", () => { + it("should be valid mx record", () => { + const cases = [ + { mx: "foobar.com", result: true }, + { mx: "as.as", result: true }, + { mx: "ASPMX.L.GOOGLE.COM", result: true }, + { mx: "ALT4.ASPMX.L.GOOGLE.COM", result: true }, + { mx: "hello", result: false }, + { mx: "helalsds-asd5sjdsd.com", result: true }, + { mx: "helalsds?asd5sjdsd.com", result: false }, + { mx: "helalsds_asd5sjdsd.com", result: false }, + ]; + + cases.forEach(({ mx, result }) => { + expect(isValidDomain(mx)).toBe(result); + }); + }); +}); + +describe("validateDomainData", () => { + const invalidCases = [ + {}, + { name: "helo" }, + { name: "wwow", record: { A: ["12312"] } }, + ...[ + "", + " ", + undefined, + "hlo wld", + "g32++13", + "ajsdD_123yq", + "khsda%", + "122*dsd", + getstroflen(101), + ].map((name) => ({ + ...defaultDomain, + name, + })), + { ...defaultDomain, record: { CNAME: "sd", A: ["121,3213"] } }, + { ...defaultDomain, record: { A: ["121", "12"], FOOBAR: ["sd"] } }, + { ...defaultDomain, record: { A: [] } }, + { ...defaultDomain, owner: {} }, + { ...defaultDomain, owner: { username: "hwelo" } }, + { ...defaultDomain, owner: { email: "hwelo" } }, + { ...defaultDomain, record: { CNAME: "http://foobar.com" } }, + { ...defaultDomain, record: { CNAME: "https://foobar.com" } }, + { ...defaultDomain, record: { URL: "foobar.com" } }, + { + ...defaultDomain, + record: { CNAME: "foobar.com", A: ["11.22.22.33"] }, + }, + { + ...defaultDomain, + record: { CNAME: "foobar.com", MX: ["ALT4.ASPMX.L.GOOGLE.COM"] }, + }, + ...INVALID_NAMES.map((name) => ({ ...defaultDomain, name })).slice( + 0, + 1, + ), + { ...defaultDomain, name: "ww2.baa" }, + { ...defaultDomain, name: "help.baa" }, + { ...defaultDomain, name: "_github-pages-challenge-is-a-dev" }, + { ...defaultDomain, name: "_github-challenge-is-a-dev" }, + { ...defaultDomain, record: { AAAA: [] } }, + { ...defaultDomain, record: { AAAA: ["182.22.222.22", "::1"] } }, + { ...defaultDomain, record: { AAAA: "182.22.222.22" } }, + { ...defaultDomain, record: { A: "::1" } }, + { ...defaultDomain, name: "_discord" }, + { ...defaultDomain, name: "_gitlab-pages-verification-code" }, + { ...defaultDomain, name: "_acme-challenge" }, + { ...defaultDomain, name: "_dmarc" }, + { ...defaultDomain, name: "_gh-is-a-dev" }, + { ...defaultDomain, name: "_domainkey" }, + { ...defaultDomain, name: "_improvmx" }, ]; - cases.forEach(({ mx, result }) => { - expect(isValidDomain(mx)).toBe(result); + const validCases = [ + defaultDomain, + ...[ + "hello", + "hello-world", + "11111111111", + "--wow--", + "wow--", + "--wow", + ].map((name) => ({ + ...defaultDomain, + name, + })), + { + ...defaultDomain, + description: getstroflen(99), + }, + { ...defaultDomain, record: { CNAME: "aa.sd" } }, + { ...defaultDomain, record: { URL: "https://foobar.com" } }, + { ...defaultDomain, record: { URL: "http://foobar.com/foobar/" } }, + { ...defaultDomain, record: { MX: ["ALT4.ASPMX.L.GOOGLE.COM"] } }, + { ...defaultDomain, record: { TXT: "foobar wow nice!!!" } }, + { + ...defaultDomain, + record: { A: ["1.1.1.1"], MX: ["mx1.example.com"] }, + }, + { ...defaultDomain, name: "gogo.foo.bar" }, + { ...defaultDomain, name: "ww9.baa" }, + { ...defaultDomain, name: "_github-pages-challenge-phenax.akshay" }, + { ...defaultDomain, name: "_github-pages-challenge-hello01-ga" }, + { ...defaultDomain, name: "_github-pages-challenge-hello01_ga" }, + { ...defaultDomain, name: "_github-challenge-phenax.akshay" }, + { ...defaultDomain, name: "_github-challenge-hello01-ga" }, + { ...defaultDomain, name: "_github-challenge-hello01_ga" }, + { + ...defaultDomain, + record: { TXT: ["foobar wow nice!!!", "more text"] }, + }, + { + ...defaultDomain, + record: { AAAA: ["::1", "2001:db8:3333:4444:5555:6666:7777:8888"] }, + }, + { ...defaultDomain, record: { A: ["122.222.222.222"] } }, + { ...defaultDomain, name: "_discord.subdomain" }, + { ...defaultDomain, name: "_gitlab-pages-verification-code.subdomain" }, + { ...defaultDomain, name: "_acme-challenge.subdomain" }, + { ...defaultDomain, name: "_dmarc.subdomain" }, + { ...defaultDomain, name: "_gh-phenax.akshay" }, + { ...defaultDomain, name: "_gh-hello01-ga" }, + { ...defaultDomain, name: "_gh-hello01_ga" }, + { ...defaultDomain, name: "_domainkey.subdomain" }, + { ...defaultDomain, name: "mx._domainkey.subdomain" }, + { ...defaultDomain, name: '_improvmx.subdomain' }, + { ...defaultDomain, name: "a.b" }, + ]; + + it("should return false for invalid data", () => { + invalidCases.forEach((data) => { + const { valid, errors } = validateDomainData(data); + expect(valid).toBe(false); + expect(errors.length).toBeGreaterThan(0); + }); + }); + + it("should return true if the name is valid", () => { + validCases.forEach((data) => { + const { valid, errors } = validateDomainData(data); + if (!valid) console.log(JSON.stringify(errors, null, 2)); + expect(valid).toBe(true); + expect(errors).toEqual([]); + }); }); - }); }); - -describe('validateDomainData', () => { - const invalidCases = [ - {}, - { name: 'helo' }, - { name: 'wwow', record: { A: ['12312'] } }, - ...['', ' ', undefined, 'hlo wld', 'g32++13', 'ajsdD_123yq', 'khsda%', '122*dsd', getstroflen(101)].map(name => ({ - ...defaultDomain, - name, - })), - { ...defaultDomain, record: { CNAME: 'sd', A: ['121,3213'] } }, - { ...defaultDomain, record: { A: ['121', '12'], FOOBAR: ['sd'] } }, - { ...defaultDomain, record: { A: [] } }, - { ...defaultDomain, owner: {}, }, - { ...defaultDomain, owner: { username: 'hwelo', }, }, - { ...defaultDomain, owner: { email: 'hwelo' }, }, - { ...defaultDomain, record: { CNAME: 'http://foobar.com' } }, - { ...defaultDomain, record: { CNAME: 'https://foobar.com' } }, - { ...defaultDomain, record: { URL: 'foobar.com' } }, - { ...defaultDomain, record: { CNAME: 'foobar.com', A: ['11.22.22.33'] } }, - { ...defaultDomain, record: { CNAME: 'foobar.com', MX: ['ALT4.ASPMX.L.GOOGLE.COM'] } }, - ...INVALID_NAMES.map(name => ({ ...defaultDomain, name })).slice(0, 1), - { ...defaultDomain, name: 'a.b' }, - { ...defaultDomain, name: 'ww2.baa' }, - { ...defaultDomain, name: 'help.baa' }, - { ...defaultDomain, name: '_github-pages-challenge-is-a-dev' }, - { ...defaultDomain, name: '_github-challenge-is-a-dev' }, - { ...defaultDomain, record: { AAAA: [] } }, - { ...defaultDomain, record: { AAAA: ['182.22.222.22', '::1'] } }, - { ...defaultDomain, record: { AAAA: '182.22.222.22' } }, - { ...defaultDomain, record: { A: '::1' } }, - { ...defaultDomain, name: '_discord' }, - { ...defaultDomain, name: '_gitlab-pages-verification-code' }, - { ...defaultDomain, name: '_acme-challenge' }, - { ...defaultDomain, name: '_dmarc' }, - { ...defaultDomain, name: '_gh-is-a-dev' }, - { ...defaultDomain, name: '_domainkey' }, - ]; - - const validCases = [ - defaultDomain, - ...['hello', 'hello-world', '11111111111', '--wow--', 'wow--', '--wow'].map(name => ({ - ...defaultDomain, - name, - })), - { - ...defaultDomain, - description: getstroflen(99), - }, - { ...defaultDomain, record: { CNAME: 'aa.sd' } }, - { ...defaultDomain, record: { URL: 'https://foobar.com' } }, - { ...defaultDomain, record: { URL: 'http://foobar.com/foobar/' } }, - { ...defaultDomain, record: { MX: ['ALT4.ASPMX.L.GOOGLE.COM'] } }, - { ...defaultDomain, record: { TXT: 'foobar wow nice!!!' } }, - { ...defaultDomain, record: { A: ['1.1.1.1'], MX: ['mx1.example.com'] } }, - { ...defaultDomain, name: 'gogo.foo.bar' }, - { ...defaultDomain, name: 'ww9.baa' }, - { ...defaultDomain, name: '_github-pages-challenge-phenax.akshay' }, - { ...defaultDomain, name: '_github-pages-challenge-hello01-ga' }, - { ...defaultDomain, name: '_github-pages-challenge-hello01_ga' }, - { ...defaultDomain, name: '_github-challenge-phenax.akshay' }, - { ...defaultDomain, name: '_github-challenge-hello01-ga' }, - { ...defaultDomain, name: '_github-challenge-hello01_ga' }, - { ...defaultDomain, record: { TXT: ['foobar wow nice!!!', 'more text'] } }, - { ...defaultDomain, record: { AAAA: ['::1', '2001:db8:3333:4444:5555:6666:7777:8888'] } }, - { ...defaultDomain, record: { A: ['122.222.222.222'] } }, - { ...defaultDomain, name: '_discord.subdomain' }, - { ...defaultDomain, name: '_gitlab-pages-verification-code.subdomain' }, - { ...defaultDomain, name: '_acme-challenge.subdomain' }, - { ...defaultDomain, name: '_dmarc.subdomain' }, - { ...defaultDomain, name: '_gh-phenax.akshay' }, - { ...defaultDomain, name: '_gh-hello01-ga' }, - { ...defaultDomain, name: '_gh-hello01_ga' }, - { ...defaultDomain, name: '_domainkey.subdomain' }, - { ...defaultDomain, name: 'mx._domainkey.subdomain' }, - ]; - - it('should return false for invalid data', () => { - invalidCases.forEach(data => { - const { valid, errors } = validateDomainData(data); - expect(valid).toBe(false); - expect(errors.length).toBeGreaterThan(0); - }); - }); - - it('should return true if the name is valid', () => { - validCases.forEach(data => { - const { valid, errors } = validateDomainData(data); - if (!valid) console.log(JSON.stringify(errors, null, 2)); - expect(valid).toBe(true); - expect(errors).toEqual([]); - }); - }); -}); - diff --git a/utils/constants.js b/utils/constants.js index 19430e5bfa..b0cf0079de 100644 --- a/utils/constants.js +++ b/utils/constants.js @@ -1,30 +1,30 @@ -const path = require('path'); +const path = require("path"); -const { NODE_ENV: ENV = 'test' } = process.env; +const { NODE_ENV: ENV = "test" } = process.env; const { - DOMAIN_USER, - DOMAIN_API_KEY, - DOMAIN_DOMAIN, - DOMAIN_API_HOST, - DOMAIN_API_PORT, - DOMAIN_HOST_IP, + DOMAIN_USER, + DOMAIN_API_KEY, + DOMAIN_DOMAIN, + DOMAIN_API_HOST, + DOMAIN_API_PORT, + DOMAIN_HOST_IP, } = process.env; -const IS_TEST = ENV === 'test'; +const IS_TEST = ENV === "test"; -const DOMAINS_PATH = path.resolve('domains'); +const DOMAINS_PATH = path.resolve("domains"); module.exports = { - ENV, - IS_TEST, - VALID_RECORD_TYPES: ['CNAME', 'A', 'URL', 'MX', 'TXT', 'AAAA'], - DOMAIN_DOMAIN: DOMAIN_DOMAIN || 'booboo.xyz', - DOMAIN_USER: IS_TEST ? 'testuser' : DOMAIN_USER, - DOMAIN_API_KEY: IS_TEST ? 'testkey' : DOMAIN_API_KEY, - DOMAIN_API_HOST: IS_TEST ? 'example.com' : DOMAIN_API_HOST, - DOMAIN_API_PORT: IS_TEST ? 6969 : DOMAIN_API_PORT, - DOMAIN_HOST_IP, - DOMAINS_PATH, - TTL: 5 * 60 * 60, + ENV, + IS_TEST, + VALID_RECORD_TYPES: ["CNAME", "A", "URL", "MX", "TXT", "AAAA"], + DOMAIN_DOMAIN: DOMAIN_DOMAIN || "booboo.xyz", + DOMAIN_USER: IS_TEST ? "testuser" : DOMAIN_USER, + DOMAIN_API_KEY: IS_TEST ? "testkey" : DOMAIN_API_KEY, + DOMAIN_API_HOST: IS_TEST ? "example.com" : DOMAIN_API_HOST, + DOMAIN_API_PORT: IS_TEST ? 6969 : DOMAIN_API_PORT, + DOMAIN_HOST_IP, + DOMAINS_PATH, + TTL: 5 * 60 * 60, }; diff --git a/utils/domain-service.js b/utils/domain-service.js index fe75aef046..b76eeac012 100644 --- a/utils/domain-service.js +++ b/utils/domain-service.js @@ -1,167 +1,206 @@ -const R = require('ramda'); -const { cpanel } = require('./lib/cpanel'); -const { DOMAIN_DOMAIN, VALID_RECORD_TYPES } = require('./constants'); -const { then, log, print, lazyTask, batchLazyTasks } = require('./helpers'); +const R = require("ramda"); +const { cpanel } = require("./lib/cpanel"); +const { DOMAIN_DOMAIN, VALID_RECORD_TYPES } = require("./constants"); +const { then, log, print, lazyTask, batchLazyTasks } = require("./helpers"); const BATCH_SIZE = 1; const recordToRedirection = ({ name, address }) => ({ - domain: name === '@' ? DOMAIN_DOMAIN : `${name}.${DOMAIN_DOMAIN}`, - redirect: address, - type: 'permanent', - redirect_wildcard: 1, - redirect_www: 1, + domain: name === "@" ? DOMAIN_DOMAIN : `${name}.${DOMAIN_DOMAIN}`, + redirect: address, + type: "permanent", + redirect_wildcard: 1, + redirect_www: 1, }); const recordToZone = ({ name, type, address, id, priority }) => ({ - line: id, - name: name === '@' ? `${DOMAIN_DOMAIN}.` : name, - type, - address, - ...(type === 'MX' ? { priority } : {}), - ...(type === 'CNAME' ? { cname: address } : {}), - ...(type === 'TXT' ? { txtdata: address } : {}), + line: id, + name: name === "@" ? `${DOMAIN_DOMAIN}.` : name, + type, + address, + ...(type === "MX" ? { priority } : {}), + ...(type === "CNAME" ? { cname: address } : {}), + ...(type === "TXT" ? { txtdata: address } : {}), }); -const cleanName = name => - [DOMAIN_DOMAIN, `${DOMAIN_DOMAIN}.`].includes(name) ? '@' : `${name}`.replace(new RegExp(`\\.${DOMAIN_DOMAIN}\\.?$`), '').toLowerCase(); +const cleanName = (name) => + [DOMAIN_DOMAIN, `${DOMAIN_DOMAIN}.`].includes(name) + ? "@" + : `${name}` + .replace(new RegExp(`\\.${DOMAIN_DOMAIN}\\.?$`), "") + .toLowerCase(); const zoneToRecord = ({ - name, - type, - cname, - address, - priority, - preference, - exchange, - record, - line: id -}) => - ({ + name, + type, + cname, + address, + priority, + preference, + exchange, + record, + line: id, +}) => ({ id, name: cleanName(name), type: `${type}`, - address: `${exchange || cname || address || record}`.replace(/\.$/g, '').toLowerCase(), + address: `${exchange || cname || address || record}` + .replace(/\.$/g, "") + .toLowerCase(), priority: priority || preference, - }); +}); const redirectionToRecord = ({ domain, destination }) => ({ - id: domain, - name: cleanName(domain), - type: 'URL', - address: `${destination}`.replace(/\/$/g, ''), + id: domain, + name: cleanName(domain), + type: "URL", + address: `${destination}`.replace(/\/$/g, ""), }); const recordToEmailMx = ({ name, address, priority }) => ({ - domain: `${name}.is-a.dev`, - exchanger: address, - priority, -}) + domain: `${name}.is-a.dev`, + exchanger: address, + priority, +}); -const getHostKey = host => - `${host.name.toLowerCase()}##${host.type.toLowerCase()}##${host.address.toLowerCase()}`; +const getHostKey = (host) => + `${host.name.toLowerCase()}##${host.type.toLowerCase()}##${host.address.toLowerCase()}`; const isReserved = (domain) => - domain.name.startsWith('*') || !VALID_RECORD_TYPES.includes(domain.type) + domain.name.startsWith("*") || !VALID_RECORD_TYPES.includes(domain.type); const diffRecords = (oldRecords, newRecords) => { - const isMatchingRecord = (a, b) => getHostKey(a) === getHostKey(b); + const isMatchingRecord = (a, b) => getHostKey(a) === getHostKey(b); - const remove = R.differenceWith(isMatchingRecord, oldRecords, newRecords); - const add = R.differenceWith(isMatchingRecord, newRecords, oldRecords); + const remove = R.differenceWith(isMatchingRecord, oldRecords, newRecords); + const add = R.differenceWith(isMatchingRecord, newRecords, oldRecords); - return { add, remove }; + return { add, remove }; }; -const executeBatch = (batches) => batches.reduce((promise, batch, index) => { - return promise.then(async () => { - log('>>> Running batch number:', index + 1, `(size: ${batch.length})`); +const executeBatch = (batches) => + batches.reduce((promise, batch, index) => { + return promise.then(async () => { + log( + ">>> Running batch number:", + index + 1, + `(size: ${batch.length})`, + ); - const values = await Promise.all(batch.map(fn => fn().catch(e => console.error(e)))); + const values = await Promise.all( + batch.map((fn) => fn().catch((e) => console.error(e))), + ); - const results = values.map(data => R.pathOr({ result: data }, ['cpanelresult', 'data', 0], data)); - const failed = results.filter(x => (x.result || {}).status != 1); + const results = values.map((data) => + R.pathOr({ result: data }, ["cpanelresult", "data", 0], data), + ); + const failed = results.filter((x) => (x.result || {}).status != 1); - log(`${values.length - failed.length}/${values.length}`); - failed.length && log(JSON.stringify(failed, null, 2)); + log(`${values.length - failed.length}/${values.length}`); + failed.length && log(JSON.stringify(failed, null, 2)); - return null; - }); -}, Promise.resolve()); + return null; + }); + }, Promise.resolve()); const getDomainService = ({ cpanel }) => { - const fetchZoneRecords = R.compose( - then(R.reject(isReserved)), - then(R.map(zoneToRecord)), - cpanel.zone.fetch - ); - const fetchRedirections = R.compose( - then(R.map(redirectionToRecord)), - cpanel.redirection.fetch - ); + const fetchZoneRecords = R.compose( + then(R.reject(isReserved)), + then(R.map(zoneToRecord)), + cpanel.zone.fetch, + ); + const fetchRedirections = R.compose( + then(R.map(redirectionToRecord)), + cpanel.redirection.fetch, + ); - const addZoneRecord = lazyTask(R.compose( - R.ifElse(R.propEq('type', 'MX'), - R.compose(cpanel.email.add, recordToEmailMx), - cpanel.zone.add - ), - recordToZone, - print(r => `Adding zone for ${r.name}: (${r.type} ${r.address})...`), - )); - const removeZoneRecord = lazyTask(R.compose( - R.ifElse(R.propEq('type', 'MX'), - R.compose(cpanel.email.remove, recordToEmailMx), - R.compose(cpanel.zone.remove, R.pick(['line'])) - ), - recordToZone, - print(r => `Deleting zone for ${r.name}: (${r.type} ${r.address})...`), - )); - const addRedirection = lazyTask(R.compose( - cpanel.redirection.add, - recordToRedirection, - print(({ name }) => `Adding redirection for ${name}`), - )); - const removeRedirection = lazyTask(R.compose( - cpanel.redirection.remove, - R.pick(['domain']), - recordToRedirection, - print(({ name }) => `Deleting redirection for ${name}`), - )); + const addZoneRecord = lazyTask( + R.compose( + R.ifElse( + R.propEq("type", "MX"), + R.compose(cpanel.email.add, recordToEmailMx), + cpanel.zone.add, + ), + recordToZone, + print( + (r) => `Adding zone for ${r.name}: (${r.type} ${r.address})...`, + ), + ), + ); + const removeZoneRecord = lazyTask( + R.compose( + R.ifElse( + R.propEq("type", "MX"), + R.compose(cpanel.email.remove, recordToEmailMx), + R.compose(cpanel.zone.remove, R.pick(["line"])), + ), + recordToZone, + print( + (r) => + `Deleting zone for ${r.name}: (${r.type} ${r.address})...`, + ), + ), + ); + const addRedirection = lazyTask( + R.compose( + cpanel.redirection.add, + recordToRedirection, + print(({ name }) => `Adding redirection for ${name}`), + ), + ); + const removeRedirection = lazyTask( + R.compose( + cpanel.redirection.remove, + R.pick(["domain"]), + recordToRedirection, + print(({ name }) => `Deleting redirection for ${name}`), + ), + ); - const getHosts = () => - Promise.all([fetchZoneRecords(), fetchRedirections()]).then(R.flatten); + const getHosts = () => + Promise.all([fetchZoneRecords(), fetchRedirections()]).then(R.flatten); - const addRecords = R.compose( - batchLazyTasks(BATCH_SIZE), - R.filter(Boolean), - R.map(R.cond([ - [R.propEq('type', 'URL'), addRedirection], - [R.T, addZoneRecord], - ])), - ); - const removeRecords = R.compose( - batchLazyTasks(BATCH_SIZE), - R.map(R.cond([ [ R.propEq('type', 'URL'), removeRedirection ], [ R.T, removeZoneRecord ] ])), - R.sort((a, b) => b.id - a.id) - ); + const addRecords = R.compose( + batchLazyTasks(BATCH_SIZE), + R.filter(Boolean), + R.map( + R.cond([ + [R.propEq("type", "URL"), addRedirection], + [R.T, addZoneRecord], + ]), + ), + ); + const removeRecords = R.compose( + batchLazyTasks(BATCH_SIZE), + R.map( + R.cond([ + [R.propEq("type", "URL"), removeRedirection], + [R.T, removeZoneRecord], + ]), + ), + R.sort((a, b) => b.id - a.id), + ); - const updateHosts = async hosts => { - const remoteHostList = await getHosts(); - const { add, remove } = diffRecords(remoteHostList, hosts); - console.log(`Adding ${add.length}; Removing ${remove.length}`) + const updateHosts = async (hosts) => { + const remoteHostList = await getHosts(); + const { add, remove } = diffRecords(remoteHostList, hosts); + console.log(`Adding ${add.length}; Removing ${remove.length}`); - await executeBatch([ - ...removeRecords(remove), - ...addRecords(add), - ]); - return { added: add.length, removed: remove.length }; - }; + await executeBatch([...removeRecords(remove), ...addRecords(add)]); + return { added: add.length, removed: remove.length }; + }; - return { getHosts, get: cpanel.zone.fetch, addZoneRecord, removeZoneRecord, updateHosts }; + return { + getHosts, + get: cpanel.zone.fetch, + addZoneRecord, + removeZoneRecord, + updateHosts, + }; }; const domainService = getDomainService({ cpanel }); module.exports = { - getDomainService, - domainService, - diffRecords, + getDomainService, + domainService, + diffRecords, }; diff --git a/utils/get-domain.js b/utils/get-domain.js index d6529032de..0642403580 100644 --- a/utils/get-domain.js +++ b/utils/get-domain.js @@ -1,22 +1,27 @@ -const fs = require('fs'); -const path = require('path'); -const R = require('ramda'); -const {DOMAINS_PATH} = require('./constants'); +const fs = require("fs"); +const path = require("path"); +const R = require("ramda"); +const { DOMAINS_PATH } = require("./constants"); -const toDomain = str => path.join(DOMAINS_PATH, str); +const toDomain = (str) => path.join(DOMAINS_PATH, str); -const parseDomain = name => str => { - try {return JSON.parse(str);} - catch (e) {throw new Error(`Error: Cant parse ${name} => ${str}`);} +const parseDomain = (name) => (str) => { + try { + return JSON.parse(str); + } catch (e) { + throw new Error(`Error: Could not parse ${name} => ${str}`); + } }; -const toDomainData = name => R.compose(parseDomain(name), R.toString, fs.readFileSync, toDomain)(name); +const toDomainData = (name) => + R.compose(parseDomain(name), R.toString, fs.readFileSync, toDomain)(name); const getDomains = () => - fs.promises.readdir(DOMAINS_PATH, {}) - .then(R.map(name => ({ - ...toDomainData(name), - name: name.replace(/\.json$/, ''), - }))); + fs.promises.readdir(DOMAINS_PATH, {}).then( + R.map((name) => ({ + ...toDomainData(name), + name: name.replace(/\.json$/, ""), + })), + ); -module.exports = {getDomains}; +module.exports = { getDomains }; diff --git a/utils/helpers.js b/utils/helpers.js index 171dce8ccb..03369f2b77 100644 --- a/utils/helpers.js +++ b/utils/helpers.js @@ -1,52 +1,54 @@ -const R = require('ramda'); -const { IS_TEST } = require('./constants'); +const R = require("ramda"); +const { IS_TEST } = require("./constants"); const log = IS_TEST ? () => {} : console.log; -const print = fn => x => log(fn(x)) || x; +const print = (fn) => (x) => log(fn(x)) || x; -const between = (min, max) => num => num >= min && num <= max; -const testRegex = regex => str => !!(str && str.match(regex)); +const between = (min, max) => (num) => num >= min && num <= max; +const testRegex = (regex) => (str) => !!(str && str.match(regex)); -const validate = pattern => data => R.compose( - invalidPairs => invalidPairs.length - ? { errors: invalidPairs, valid: false } - : { errors: [], valid: true }, - R.filter(([key, { fn }]) => fn ? !fn(data[key]) : false), - R.toPairs, -)(pattern); +const validate = (pattern) => (data) => + R.compose( + (invalidPairs) => + invalidPairs.length + ? { errors: invalidPairs, valid: false } + : { errors: [], valid: true }, + R.filter(([key, { fn }]) => (fn ? !fn(data[key]) : false)), + R.toPairs, + )(pattern); const or = R.anyPass; const and = R.allPass; -const then = fn => p => p.then(fn); +const then = (fn) => (p) => p.then(fn); -const lazyTask = fn => data => () => fn(data); +const lazyTask = (fn) => (data) => () => fn(data); -const batchLazyTasks = count => tasks => tasks.reduce((batches, task) => { - if (batches.length === 0) return [[task]]; +const batchLazyTasks = (count) => (tasks) => + tasks.reduce((batches, task) => { + if (batches.length === 0) return [[task]]; - const full = R.init(batches); - const last = R.last(batches); + const full = R.init(batches); + const last = R.last(batches); - if (last.length >= count) return [...batches, [task]]; - return [...full, [...last, task]]; -}, []); + if (last.length >= count) return [...batches, [task]]; + return [...full, [...last, task]]; + }, []); -const withLengthGte = n => R.compose(R.gte(R.__, n), R.length); -const withLengthEq = n => R.compose(R.equals(n), R.length); +const withLengthGte = (n) => R.compose(R.gte(R.__, n), R.length); +const withLengthEq = (n) => R.compose(R.equals(n), R.length); module.exports = { - or, - and, - validate, - between, - testRegex, - log, - print, - then, - lazyTask, - batchLazyTasks, - withLengthEq, - withLengthGte, + or, + and, + validate, + between, + testRegex, + log, + print, + then, + lazyTask, + batchLazyTasks, + withLengthEq, + withLengthGte, }; - diff --git a/utils/invalid-domains.json b/utils/invalid-domains.json index 7c3a1ea1d4..1cba56e525 100644 --- a/utils/invalid-domains.json +++ b/utils/invalid-domains.json @@ -1,24 +1,25 @@ [ - "_acme-challenge", - "_discord", - "_dmarc", - "_domainkey", - "_gh-is-a-dev", - "_github-challenge-is-a-dev", - "_github-pages-challenge-is-a-dev", - "_gitlab-pages-verification-code", - "con", - "help", - "no-reply", - "noreply", - "notification", - "notifications", - "support", - "ww", - "ww1", - "ww2", - "ww3", - "ww4", - "wwww", - "your-domain-name" + "_acme-challenge", + "_discord", + "_dmarc", + "_domainkey", + "_gh-is-a-dev", + "_github-challenge-is-a-dev", + "_github-pages-challenge-is-a-dev", + "_gitlab-pages-verification-code", + "_improvmx", + "con", + "help", + "no-reply", + "noreply", + "notification", + "notifications", + "support", + "ww", + "ww1", + "ww2", + "ww3", + "ww4", + "wwww", + "your-domain-name" ] diff --git a/utils/lib/cpanel.js b/utils/lib/cpanel.js index e61b15a0f2..573a22e5ea 100644 --- a/utils/lib/cpanel.js +++ b/utils/lib/cpanel.js @@ -1,100 +1,123 @@ -const R = require('ramda'); -const qs = require('querystring'); -const { DOMAIN_API_HOST, DOMAIN_API_PORT, DOMAIN_USER, DOMAIN_API_KEY, DOMAIN_DOMAIN } = require('../constants'); +const R = require("ramda"); +const qs = require("querystring"); +const { + DOMAIN_API_HOST, + DOMAIN_API_PORT, + DOMAIN_USER, + DOMAIN_API_KEY, + DOMAIN_DOMAIN, +} = require("../constants"); const CpanelClient = (options) => { - const api = ({ basePath = '', action = '' }) => (module, func, defaultQuery = {}) => (q = {}) => { - const query = { - ...defaultQuery, - ...q, - cpanel_jsonapi_user: options.username, - cpanel_jsonapi_module: module, - cpanel_jsonapi_func: func, - cpanel_jsonapi_apiversion: 2, + const api = + ({ basePath = "", action = "" }) => + (module, func, defaultQuery = {}) => + (q = {}) => { + const query = { + ...defaultQuery, + ...q, + cpanel_jsonapi_user: options.username, + cpanel_jsonapi_module: module, + cpanel_jsonapi_func: func, + cpanel_jsonapi_apiversion: 2, + }; + + const request = { + headers: { + Authorization: `cpanel ${options.username}:${options.apiKey}`, + }, + rejectUnauthorized: false, + }; + + const path = `${basePath}/${action}?${qs.stringify(query)}`; + const reqUrl = `https://${options.host}:${options.port}/${path}`; + + const { fetch } = options.dependencies; + return fetch(reqUrl, request).then((res) => res.json()); + }; + + const api2 = api({ basePath: "json-api", action: "cpanel" }); + const uapi = (module, func, defaultQuery) => + api({ basePath: "execute", action: `${module}/${func}` })( + module, + func, + defaultQuery, + ); + + return { + zone: { + // { customonly, domain } + // -> [{ class, ttl, name, line, Line, cname, type, record }] + fetch: R.compose( + (p) => p.then(R.pathOr([], ["cpanelresult", "data"])), + api2("ZoneEdit", "fetchzone_records", { + customonly: 0, + domain: options.domain, + }), + ), + + // { name, type(A|CNAME), cname, address, ttl } + // -> {} + add: api2("ZoneEdit", "add_zone_record", { + domain: options.domain, + }), + + // { line } + // -> {} + remove: api2("ZoneEdit", "remove_zone_record", { + domain: options.domain, + }), + }, + redirection: { + // {} + // -> [{ domain, destination }] + fetch: R.compose( + (p) => p.then(R.pathOr([], ["data"])), + uapi("Mime", "list_redirects"), + ), + + // { domain, redirect, type(permanent|tmp), redirect_wildcard(0|1), redirect(0|1|2) } + // -> {} + add: uapi("Mime", "add_redirect"), + + // { domain } + // -> {} + remove: uapi("Mime", "delete_redirect"), + }, + file: { + write: uapi("Fileman", "save_file_content", { + from_charset: "UTF-8", + to_charset: "UTF-8", + fallback: 1, + }), + }, + email: { + // { domain, exchanger, priority } + // -> {} + add: uapi("Email", "add_mx", { alwaysaccept: "auto" }), + + // { domain, exchanger, priority } + // -> {} + remove: uapi("Email", "delete_mx", { alwaysaccept: "auto" }), + }, }; - - const request = { - headers: { - Authorization: `cpanel ${options.username}:${options.apiKey}`, - }, - rejectUnauthorized: false, - }; - - const path = `${basePath}/${action}?${qs.stringify(query)}`; - const reqUrl = `https://${options.host}:${options.port}/${path}`; - - const { fetch } = options.dependencies; - return fetch(reqUrl, request).then(res => res.json()); - }; - - const api2 = api({ basePath: 'json-api', action: 'cpanel' }); - const uapi = (module, func, defaultQuery) => - api({ basePath: 'execute', action: `${module}/${func}` })(module, func, defaultQuery); - - return { - zone: { - // { customonly, domain } - // -> [{ class, ttl, name, line, Line, cname, type, record }] - fetch: R.compose( - p => p.then(R.pathOr([], ['cpanelresult', 'data'])), - api2('ZoneEdit', 'fetchzone_records', { customonly: 0, domain: options.domain }) - ), - - // { name, type(A|CNAME), cname, address, ttl } - // -> {} - add: api2('ZoneEdit', 'add_zone_record', { domain: options.domain }), - - // { line } - // -> {} - remove: api2('ZoneEdit', 'remove_zone_record', { domain: options.domain }), - }, - redirection: { - // {} - // -> [{ domain, destination }] - fetch: R.compose( - p => p.then(R.pathOr([], ['data'])), - uapi('Mime', 'list_redirects'), - ), - - // { domain, redirect, type(permanent|tmp), redirect_wildcard(0|1), redirect(0|1|2) } - // -> {} - add: uapi('Mime', 'add_redirect'), - - // { domain } - // -> {} - remove: uapi('Mime', 'delete_redirect'), - }, - file: { - write: uapi('Fileman', 'save_file_content', { from_charset: 'UTF-8', to_charset: 'UTF-8', fallback: 1 }), - }, - email: { - // { domain, exchanger, priority } - // -> {} - add: uapi('Email', 'add_mx', { alwaysaccept: 'auto' }), - - // { domain, exchanger, priority } - // -> {} - remove: uapi('Email', 'delete_mx', { alwaysaccept: 'auto' }), - }, - }; }; if (!DOMAIN_API_KEY) { - console.error('Api key cannot be empty'); - process.exit(1); + console.error("Api key cannot be empty"); + process.exit(1); } const cpanel = CpanelClient({ - host: DOMAIN_API_HOST, - port: DOMAIN_API_PORT, - username: DOMAIN_USER, - apiKey: DOMAIN_API_KEY, - domain: DOMAIN_DOMAIN, - dependencies: { fetch }, + host: DOMAIN_API_HOST, + port: DOMAIN_API_PORT, + username: DOMAIN_USER, + apiKey: DOMAIN_API_KEY, + domain: DOMAIN_DOMAIN, + dependencies: { fetch }, }); module.exports = { - cpanel, - CpanelClient, + cpanel, + CpanelClient, }; - diff --git a/utils/validations.js b/utils/validations.js index d68f6a5467..51f242b8b2 100644 --- a/utils/validations.js +++ b/utils/validations.js @@ -1,102 +1,128 @@ -const R = require('ramda'); -const { VALID_RECORD_TYPES } = require('./constants'); -const { or, and, validate, between, testRegex, withLengthEq, withLengthGte } = require('./helpers'); -const INVALID_NAMES = require('./invalid-domains.json'); -const ipRegex_ = require('ip-regex'); +const R = require("ramda"); +const { VALID_RECORD_TYPES } = require("./constants"); +const { + or, + and, + validate, + between, + testRegex, + withLengthEq, + withLengthGte, +} = require("./helpers"); +const INVALID_NAMES = require("./invalid-domains.json"); +const ipRegex_ = require("ip-regex"); const ipRegex = ipRegex_.default ?? ipRegex_; -const isValidURL = and([R.is(String), testRegex(/^https?:\/\//ig)]); +const isValidURL = and([R.is(String), testRegex(/^https?:\/\//gi)]); -const isValidDomain = and([R.is(String), testRegex(/^(([a-z0-9-]+)\.)+[a-z]+$/ig)]); - -const validateCnameRecord = type => and([ - R.propIs(String, type), - R.compose(withLengthEq(1), R.keys), // CNAME cannot be used with any other record - R.propSatisfies(withLengthGte(4), type), - R.propSatisfies(isValidDomain, type), +const isValidDomain = and([ + R.is(String), + testRegex(/^(([a-z0-9-]+)\.)+[a-z]+$/gi), ]); -const validateARecord = type => and([ - R.propIs(Array, type), - R.propSatisfies(withLengthGte(1), type), - R.all(testRegex(ipRegex.v4({ exact: true }))), -]); +const validateCnameRecord = (type) => + and([ + R.propIs(String, type), + R.compose(withLengthEq(1), R.keys), // CNAME cannot be used with any other record + R.propSatisfies(withLengthGte(4), type), + R.propSatisfies(isValidDomain, type), + ]); -const validateMXRecord = type => and([ - R.propIs(Array, type), - R.propSatisfies(withLengthGte(1), type), - R.propSatisfies(R.all(isValidDomain), type), -]); +const validateARecord = (type) => + and([ + R.propIs(Array, type), + R.propSatisfies(withLengthGte(1), type), + R.all(testRegex(ipRegex.v4({ exact: true }))), + ]); -const validateAAAARecord = R.propSatisfies(and([ - R.is(Array), - withLengthGte(1), - R.all(testRegex(ipRegex.v6({ exact: true }))), -])) +const validateMXRecord = (type) => + and([ + R.propIs(Array, type), + R.propSatisfies(withLengthGte(1), type), + R.propSatisfies(R.all(isValidDomain), type), + ]); -const checkRestrictedNames = R.complement(R.includes(R.__, INVALID_NAMES)) +const validateAAAARecord = R.propSatisfies( + and([ + R.is(Array), + withLengthGte(1), + R.all(testRegex(ipRegex.v6({ exact: true }))), + ]), +); + +const checkRestrictedNames = R.complement(R.includes(R.__, INVALID_NAMES)); const extraSupportedNames = [ - testRegex(/^_github(-pages)?-challenge-[a-z0-9-_]+$/i), // Exception for github verification records - R.equals('_discord'), - R.equals('_gitlab-pages-verification-code'), - R.equals('_acme-challenge'), - R.equals('_dmarc'), - R.equals('_domainkey'), - testRegex(/^_gh-[a-z0-9-_]+$/i), // Exception for the new github org verification records -] + testRegex(/^_github(-pages)?-challenge-[a-z0-9-_]+$/i), + R.equals("_discord"), + R.equals("_gitlab-pages-verification-code"), + R.equals("_acme-challenge"), + R.equals("_dmarc"), + R.equals("_domainkey"), + R.equals("_improvmx"), + testRegex(/^_gh-[a-z0-9-_]+$/i), +]; const validateDomainData = validate({ - name: { - reason: 'The name of the file is invalid. It must be lowercased, alphanumeric and each component must be more than 2 characters long', - fn: or([ - R.equals('@'), - and([ - R.is(String), - checkRestrictedNames, - R.compose( - R.all(or([ + name: { + reason: "The name of the file is invalid. It must be lowercased, alphanumeric and each component must be between 1-100 characters long.", + fn: or([ + R.equals("@"), and([ - R.compose(between(2, 100), R.length), - testRegex(/^[a-z0-9-]+$/g), - checkRestrictedNames, + R.is(String), + checkRestrictedNames, + R.compose( + R.all( + or([ + and([ + R.compose(between(1, 100), R.length), + testRegex(/^[a-z0-9-]+$/g), + checkRestrictedNames, + ]), + ...extraSupportedNames, + ]), + ), + R.split("."), + ), ]), - ...extraSupportedNames, - ])), - R.split('.'), - ), - ]) - ]), - }, - description: { reason: '', fn: R.T, }, - repo: { reason: '', fn: R.T, }, - owner: { - reason: '`owner` needs valid username and email properties', - fn: and([ - R.is(Object), - R.complement(R.isEmpty), - R.where({ - username: and([R.is(String), withLengthGte(1)]), - email: R.is(String), - }), - ]), - }, - record: { - reason: 'Invalid record. CNAME records have to be a host name and A records has to be a list of ips', - fn: and([ - R.is(Object), - R.compose(R.isEmpty, R.difference(R.__, VALID_RECORD_TYPES), R.keys), - R.cond([ - [R.has('CNAME'), validateCnameRecord('CNAME')], - [R.has('A'), validateARecord('A')], - [R.has('URL'), R.propSatisfies(isValidURL, 'URL')], - [R.has('MX'), validateMXRecord('MX')], - [R.has('TXT'), R.propSatisfies(or([ R.is(String), R.is(Array) ]), 'TXT')], - [R.has('AAAA'), validateAAAARecord('AAAA')], - [R.T, R.T], - ]), - ]), - }, + ]), + }, + description: { reason: "", fn: R.T }, + repo: { reason: "", fn: R.T }, + owner: { + reason: "`owner` key needs valid username and email properties.", + fn: and([ + R.is(Object), + R.complement(R.isEmpty), + R.where({ + username: and([R.is(String), withLengthGte(1)]), + email: R.is(String), + }), + ]), + }, + record: { + reason: "Invalid record(s) found. Please check the record types and values.", + fn: and([ + R.is(Object), + R.compose( + R.isEmpty, + R.difference(R.__, VALID_RECORD_TYPES), + R.keys, + ), + R.cond([ + [R.has("CNAME"), validateCnameRecord("CNAME")], + [R.has("A"), validateARecord("A")], + [R.has("URL"), R.propSatisfies(isValidURL, "URL")], + [R.has("MX"), validateMXRecord("MX")], + [ + R.has("TXT"), + R.propSatisfies(or([R.is(String), R.is(Array)]), "TXT"), + ], + [R.has("AAAA"), validateAAAARecord("AAAA")], + [R.T, R.T], + ]), + ]), + }, }); module.exports = { validateDomainData, isValidDomain };