Initial work on auto-builds

This commit is contained in:
Nemo 2019-07-02 01:41:37 +05:30
parent 582db5826f
commit 8e031f6eaa
14 changed files with 353 additions and 1574 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
tlds.txt

View File

@ -1,22 +1,3 @@
# tld-a-record
List of TLDs with A records
AI has address 209.59.119.34
ARAB has address 127.0.53.53
BH has address 10.10.10.10
BH has address 88.201.27.211
CM has address 195.24.205.60
DK has address 193.163.102.58
GG has address 87.117.196.80
JE has address 87.117.196.80
PN has address 80.68.93.100
POLITIE has address 127.0.53.53
TK has address 217.119.57.22
UZ has address 91.212.89.8
WS has address 64.70.19.33
XN--L1ACC has address 180.149.98.78
XN--L1ACC has address 202.170.80.40
XN--L1ACC has address 218.100.84.27
XN--MXTQ1M has address 127.0.53.53
XN--NGBRX has address 127.0.53.53
Build scripts that maintain https://tld.captnemo.in, which is a list of all TLDs with A records.

7
ci.sh Executable file
View File

@ -0,0 +1,7 @@
#!/bin/bash
# Run the scan
./scan.sh
cd website
bundle install
bundle exec jekyll build

View File

@ -1,18 +0,0 @@
AI has address 209.59.119.34
ARAB has address 127.0.53.53
BH has address 88.201.27.211
BH has address 10.10.10.10
CM has address 195.24.205.60
DK has address 193.163.102.58
GG has address 87.117.196.80
JE has address 87.117.196.80
PN has address 80.68.93.100
POLITIE has address 127.0.53.53
TK has address 217.119.57.22
UZ has address 91.212.89.8
WS has address 64.70.19.33
XN--L1ACC has address 218.100.84.27
XN--L1ACC has address 202.170.80.40
XN--L1ACC has address 180.149.98.78
XN--MXTQ1M has address 127.0.53.53
XN--NGBRX has address 127.0.53.53

26
scan.sh
View File

@ -1,7 +1,25 @@
#!/bin/bash
wget "https://data.iana.org/TLD/tlds-alpha-by-domain.txt" --output-document tlds.txt
set -euo pipefail
IFS=$'\n\t'
(for domain in $(grep -v '^#' tlds.txt); do
host -W 1 -t A "${domain}."
done) | grep -v 'has no A record'
wget --quiet "https://data.iana.org/TLD/tlds-alpha-by-domain.txt" --output-document tlds.txt
for domain in $(grep -v '^#' tlds.txt); do
RESULT=$(dig +time=1 +tries=1 +short "$domain" | head -c -1 | tr '\n' '@' | sed 's/@/`,`/g' | grep -v "connection timed out")
if [ ! -z "$RESULT" ]; then
echo $domain
DOMAIN_REAL="$domain"
# Very crude regex for punycode domains
if [[ $(echo "$domain" | grep -E "^XN--[[:upper:]]+$") ]]; then
DOMAIN_REAL=$(idn --idna-to-unicode "$domain")
fi
echo "|$DOMAIN_REAL|$domain|[http](http://$domain)|[https](https://$domain)|\`$RESULT\`|" >> template.md
fi
done
curl --silent 'https://ipapi.co/yaml/' > website/_data/ip.json
echo "This scan was last run on $(date)" >> template.md
cp tlds.txt template.md website/

6
template.md Normal file
View File

@ -0,0 +1,6 @@
---
layout: home
---
|domain|punycode|http|https|lookup|
|------|--------|----|-----|------|

1532
tlds.txt

File diff suppressed because it is too large Load Diff

4
website/.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
_site
.sass-cache
.jekyll-metadata
vendor

3
website/Gemfile Normal file
View File

@ -0,0 +1,3 @@
source 'https://rubygems.org'
gem 'github-pages', group: :jekyll_plugins

248
website/Gemfile.lock Normal file
View File

@ -0,0 +1,248 @@
GEM
remote: https://rubygems.org/
specs:
activesupport (4.2.11.1)
i18n (~> 0.7)
minitest (~> 5.1)
thread_safe (~> 0.3, >= 0.3.4)
tzinfo (~> 1.1)
addressable (2.6.0)
public_suffix (>= 2.0.2, < 4.0)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.11.1)
colorator (1.1.0)
commonmarker (0.17.13)
ruby-enum (~> 0.5)
concurrent-ruby (1.1.5)
dnsruby (1.61.2)
addressable (~> 2.5)
em-websocket (0.5.1)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0.6.0)
ethon (0.12.0)
ffi (>= 1.3.0)
eventmachine (1.2.7)
execjs (2.7.0)
faraday (0.15.4)
multipart-post (>= 1.2, < 3)
ffi (1.11.1)
forwardable-extended (2.6.0)
gemoji (3.0.1)
github-pages (198)
activesupport (= 4.2.11.1)
github-pages-health-check (= 1.16.1)
jekyll (= 3.8.5)
jekyll-avatar (= 0.6.0)
jekyll-coffeescript (= 1.1.1)
jekyll-commonmark-ghpages (= 0.1.5)
jekyll-default-layout (= 0.1.4)
jekyll-feed (= 0.11.0)
jekyll-gist (= 1.5.0)
jekyll-github-metadata (= 2.12.1)
jekyll-mentions (= 1.4.1)
jekyll-optional-front-matter (= 0.3.0)
jekyll-paginate (= 1.1.0)
jekyll-readme-index (= 0.2.0)
jekyll-redirect-from (= 0.14.0)
jekyll-relative-links (= 0.6.0)
jekyll-remote-theme (= 0.3.1)
jekyll-sass-converter (= 1.5.2)
jekyll-seo-tag (= 2.5.0)
jekyll-sitemap (= 1.2.0)
jekyll-swiss (= 0.4.0)
jekyll-theme-architect (= 0.1.1)
jekyll-theme-cayman (= 0.1.1)
jekyll-theme-dinky (= 0.1.1)
jekyll-theme-hacker (= 0.1.1)
jekyll-theme-leap-day (= 0.1.1)
jekyll-theme-merlot (= 0.1.1)
jekyll-theme-midnight (= 0.1.1)
jekyll-theme-minimal (= 0.1.1)
jekyll-theme-modernist (= 0.1.1)
jekyll-theme-primer (= 0.5.3)
jekyll-theme-slate (= 0.1.1)
jekyll-theme-tactile (= 0.1.1)
jekyll-theme-time-machine (= 0.1.1)
jekyll-titles-from-headings (= 0.5.1)
jemoji (= 0.10.2)
kramdown (= 1.17.0)
liquid (= 4.0.0)
listen (= 3.1.5)
mercenary (~> 0.3)
minima (= 2.5.0)
nokogiri (>= 1.8.5, < 2.0)
rouge (= 2.2.1)
terminal-table (~> 1.4)
github-pages-health-check (1.16.1)
addressable (~> 2.3)
dnsruby (~> 1.60)
octokit (~> 4.0)
public_suffix (~> 3.0)
typhoeus (~> 1.3)
html-pipeline (2.11.0)
activesupport (>= 2)
nokogiri (>= 1.4)
http_parser.rb (0.6.0)
i18n (0.9.5)
concurrent-ruby (~> 1.0)
jekyll (3.8.5)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
i18n (~> 0.7)
jekyll-sass-converter (~> 1.0)
jekyll-watch (~> 2.0)
kramdown (~> 1.14)
liquid (~> 4.0)
mercenary (~> 0.3.3)
pathutil (~> 0.9)
rouge (>= 1.7, < 4)
safe_yaml (~> 1.0)
jekyll-avatar (0.6.0)
jekyll (~> 3.0)
jekyll-coffeescript (1.1.1)
coffee-script (~> 2.2)
coffee-script-source (~> 1.11.1)
jekyll-commonmark (1.3.1)
commonmarker (~> 0.14)
jekyll (>= 3.7, < 5.0)
jekyll-commonmark-ghpages (0.1.5)
commonmarker (~> 0.17.6)
jekyll-commonmark (~> 1)
rouge (~> 2)
jekyll-default-layout (0.1.4)
jekyll (~> 3.0)
jekyll-feed (0.11.0)
jekyll (~> 3.3)
jekyll-gist (1.5.0)
octokit (~> 4.2)
jekyll-github-metadata (2.12.1)
jekyll (~> 3.4)
octokit (~> 4.0, != 4.4.0)
jekyll-mentions (1.4.1)
html-pipeline (~> 2.3)
jekyll (~> 3.0)
jekyll-optional-front-matter (0.3.0)
jekyll (~> 3.0)
jekyll-paginate (1.1.0)
jekyll-readme-index (0.2.0)
jekyll (~> 3.0)
jekyll-redirect-from (0.14.0)
jekyll (~> 3.3)
jekyll-relative-links (0.6.0)
jekyll (~> 3.3)
jekyll-remote-theme (0.3.1)
jekyll (~> 3.5)
rubyzip (>= 1.2.1, < 3.0)
jekyll-sass-converter (1.5.2)
sass (~> 3.4)
jekyll-seo-tag (2.5.0)
jekyll (~> 3.3)
jekyll-sitemap (1.2.0)
jekyll (~> 3.3)
jekyll-swiss (0.4.0)
jekyll-theme-architect (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-cayman (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-dinky (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-hacker (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-leap-day (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-merlot (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-midnight (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-minimal (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-modernist (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-primer (0.5.3)
jekyll (~> 3.5)
jekyll-github-metadata (~> 2.9)
jekyll-seo-tag (~> 2.0)
jekyll-theme-slate (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-tactile (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-time-machine (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-titles-from-headings (0.5.1)
jekyll (~> 3.3)
jekyll-watch (2.2.1)
listen (~> 3.0)
jemoji (0.10.2)
gemoji (~> 3.0)
html-pipeline (~> 2.2)
jekyll (~> 3.0)
kramdown (1.17.0)
liquid (4.0.0)
listen (3.1.5)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
ruby_dep (~> 1.2)
mercenary (0.3.6)
mini_portile2 (2.4.0)
minima (2.5.0)
jekyll (~> 3.5)
jekyll-feed (~> 0.9)
jekyll-seo-tag (~> 2.1)
minitest (5.11.3)
multipart-post (2.1.1)
nokogiri (1.10.3)
mini_portile2 (~> 2.4.0)
octokit (4.14.0)
sawyer (~> 0.8.0, >= 0.5.3)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (3.1.1)
rb-fsevent (0.10.3)
rb-inotify (0.10.0)
ffi (~> 1.0)
rouge (2.2.1)
ruby-enum (0.7.2)
i18n
ruby_dep (1.5.0)
rubyzip (1.2.3)
safe_yaml (1.0.5)
sass (3.7.4)
sass-listen (~> 4.0.0)
sass-listen (4.0.0)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
sawyer (0.8.2)
addressable (>= 2.3.5)
faraday (> 0.8, < 2.0)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
thread_safe (0.3.6)
typhoeus (1.3.1)
ethon (>= 0.9.0)
tzinfo (1.2.5)
thread_safe (~> 0.1)
unicode-display_width (1.6.0)
PLATFORMS
ruby
DEPENDENCIES
github-pages
BUNDLED WITH
2.0.2

4
website/_config.yml Normal file
View File

@ -0,0 +1,4 @@
title: TLDs with A Records
description: >- # this means to ignore newlines until "baseurl:"
List of TLDs with A Records
theme: jekyll-theme-dinky

1
website/_data/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
ip.json

View File

@ -0,0 +1,31 @@
---
layout: default
---
{{content}}
<hr>
<h2>Source</h2>
<table>
<tbody>
<tr>
<td>IP</td>
<td>{{site.data.ip.ip}}</td>
</tr>
<tr>
<td>ASN</td>
<td>{{site.data.ip.asn}}</td>
</tr>
<tr>
<td>Org</td>
<td>{{site.data.ip.org}}</td>
</tr>
</tbody>
</table>
<hr>
<p>A list of all TLDs scanned is available at <a href="tlds.txt">tlds.txt</a>.

25
website/index.md Normal file
View File

@ -0,0 +1,25 @@
---
# Feel free to add content and custom Front Matter to this file.
# To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
layout: home
---
| domain | punycode | http | https | lookup |
|:-------|:----------|:-------------------------|:---------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| AI | AI | [http](http://AI) | [https](https://AI) | `209.59.119.34` |
| ARAB | ARAB | [http](http://ARAB) | [https](https://ARAB) | `127.0.53.53` |
| BH | BH | [http](http://BH) | [https](https://BH) | `88.201.27.211`,`10.10.10.10` |
| CM | CM | [http](http://CM) | [https](https://CM) | `195.24.205.60` |
| DK | DK | [http](http://DK) | [https](https://DK) | `193.163.102.58` |
| GG | GG | [http](http://GG) | [https](https://GG) | `87.117.196.80` |
| IN | IN | [http](http://IN) | [https](https://IN) | `g.root-servers.net.`,`j.root-servers.net.`,`h.root-servers.net.`,`d.root-servers.net.`,`m.root-servers.net.`,`i.root-servers.net.`,`e.root-servers.net.`,`f.root-servers.net.`,`l.root-servers.net.`,`b.root-servers.net.`,`a.root-servers.net.`,`c.root-servers.net.`,`k.root-servers.net.` |
| JE | JE | [http](http://JE) | [https](https://JE) | `87.117.196.80` |
| MD | MD | [http](http://MD) | [https](https://MD) | `i.root-servers.net.`,`e.root-servers.net.`,`f.root-servers.net.`,`l.root-servers.net.`,`b.root-servers.net.`,`a.root-servers.net.`,`c.root-servers.net.`,`k.root-servers.net.`,`g.root-servers.net.`,`j.root-servers.net.`,`h.root-servers.net.`,`d.root-servers.net.`,`m.root-servers.net.` |
| MG | MG | [http](http://MG) | [https](https://MG) | `a.root-servers.net.`,`c.root-servers.net.`,`k.root-servers.net.`,`g.root-servers.net.`,`j.root-servers.net.`,`h.root-servers.net.`,`d.root-servers.net.`,`m.root-servers.net.`,`i.root-servers.net.`,`e.root-servers.net.`,`f.root-servers.net.`,`l.root-servers.net.`,`b.root-servers.net.` |
| MR | MR | [http](http://MR) | [https](https://MR) | `l.root-servers.net.`,`b.root-servers.net.`,`a.root-servers.net.`,`c.root-servers.net.`,`k.root-servers.net.`,`g.root-servers.net.`,`j.root-servers.net.`,`h.root-servers.net.`,`d.root-servers.net.`,`m.root-servers.net.`,`i.root-servers.net.`,`e.root-servers.net.`,`f.root-servers.net.` |
| MX | MX | [http](http://MX) | [https](https://MX) | `j.root-servers.net.`,`h.root-servers.net.`,`d.root-servers.net.`,`m.root-servers.net.`,`i.root-servers.net.`,`e.root-servers.net.`,`f.root-servers.net.`,`l.root-servers.net.`,`b.root-servers.net.`,`a.root-servers.net.`,`c.root-servers.net.`,`k.root-servers.net.`,`g.root-servers.net.` |
| PN | PN | [http](http://PN) | [https](https://PN) | `80.68.93.100` |
| TK | TK | [http](http://TK) | [https](https://TK) | `217.119.57.22` |
| UZ | UZ | [http](http://UZ) | [https](https://UZ) | `91.212.89.8` |
| WS | WS | [http](http://WS) | [https](https://WS) | `64.70.19.33` |
| عرب | XN--NGBRX | [http](http://XN--NGBRX) | [https](https://XN--NGBRX) | `127.0.53.53` |