From 6dedef95eabfe3d5608410584b8a2d1d6db8014e Mon Sep 17 00:00:00 2001 From: Nemo Date: Sat, 14 Sep 2019 18:01:49 +0530 Subject: [PATCH] Auto Builds via Travis (#1) --- .gitignore | 2 + .travis.yml | 36 + README.md | 21 +- ci.sh | 22 + deploy-key.enc | Bin 0 -> 3392 bytes result.txt | 18 - scan.sh | 27 +- template.md | 6 + tlds.txt | 1532 --------------------------------- website/.gitignore | 4 + website/Gemfile | 4 + website/Gemfile.lock | 69 ++ website/_config.yml | 9 + website/_data/.gitignore | 1 + website/_layouts/default.html | 28 + website/_layouts/home.html | 31 + website/assets/sakura.css | 165 ++++ 17 files changed, 401 insertions(+), 1574 deletions(-) create mode 100644 .gitignore create mode 100644 .travis.yml create mode 100755 ci.sh create mode 100644 deploy-key.enc delete mode 100644 result.txt create mode 100644 template.md delete mode 100644 tlds.txt create mode 100644 website/.gitignore create mode 100644 website/Gemfile create mode 100644 website/Gemfile.lock create mode 100644 website/_config.yml create mode 100644 website/_data/.gitignore create mode 100644 website/_layouts/default.html create mode 100644 website/_layouts/home.html create mode 100644 website/assets/sakura.css diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6787d47 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +tlds.txt +deploy-key diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..459cda2 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,36 @@ +language: ruby +env: + global: + - GIT_REMOTE: git@github.com:captn3m0/tld-a-record.git +addons: + apt: + packages: + # required to avoid SSL errors + - libcurl4-openssl-dev + - dnsutils + - idn +rvm: +- 2.6.3 +before_install: + - openssl aes-256-cbc -K $encrypted_9e883639804e_key -iv $encrypted_9e883639804e_iv -in deploy-key.enc -out deploy-key -d + - chmod 600 deploy-key + - eval `ssh-agent -s` + - ssh-add deploy-key + - git config user.name "TLD List Bot" + - git config user.email "tld-bot@captnemo.in" + # Update bundler: https://docs.travis-ci.com/user/languages/ruby/ + - gem update --system + - gem install bundler +script: + - wget "https://data.iana.org/TLD/tlds-alpha-by-domain.txt" --output-document tlds.txt + - ./scan.sh + - curl 'https://ipapi.co/yaml/' > website/_data/ip.json + - echo "This scan was last run on $(date)" >> template.md + - cp tlds.txt website/ + - cp template.md website/index.md + - ./ci.sh +# branch whitelist, only for GitHub Pages +branches: + except: + # gh-pages is automatically committed + - gh-pages \ No newline at end of file diff --git a/README.md b/README.md index f8b1edf..5614010 100644 --- a/README.md +++ b/README.md @@ -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 \ No newline at end of file +Build scripts that maintain https://tld.captnemo.in, which is a list of all TLDs with A records. diff --git a/ci.sh b/ci.sh new file mode 100755 index 0000000..6a2d493 --- /dev/null +++ b/ci.sh @@ -0,0 +1,22 @@ +#!/bin/bash +set -euo pipefail +IFS=$'\n\t' + +# Run the scan + +cd website +bundle install +bundle show +bundle exec jekyll build --verbose --destination _site + +if ([ $TRAVIS_BRANCH == "master" ] && [ $TRAVIS_PULL_REQUEST == "false" ]); then + cd _site + git init + git remote add origin "$GIT_REMOTE" + git add . + git commit -m "Deploy to GitHub Pages" + git push --force --quiet origin master:gh-pages > /dev/null 2>&1 + echo 'Build successful, deployed to gh-pages.' +else + echo "Build successful, but not deploying!" +fi diff --git a/deploy-key.enc b/deploy-key.enc new file mode 100644 index 0000000000000000000000000000000000000000..d68d41473b5be2b39417e9db97f580e70b2a271a GIT binary patch literal 3392 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 literal 0 HcmV?d00001 diff --git a/result.txt b/result.txt deleted file mode 100644 index 6bcc8d6..0000000 --- a/result.txt +++ /dev/null @@ -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 diff --git a/scan.sh b/scan.sh index da201e8..14deaa7 100755 --- a/scan.sh +++ b/scan.sh @@ -1,7 +1,26 @@ #!/bin/bash -wget "https://data.iana.org/TLD/tlds-alpha-by-domain.txt" --output-document tlds.txt +# This script runs a scan for all available TLDs, and notes +# down the TLDs that resolve to `website/template.md` +# +# It also puts some information about the IP Adress from where +# the scan was run (might be relevant for DNS lookups) into +# `website/_data/ip.json`. Structure is at ipapi.co -(for domain in $(grep -v '^#' tlds.txt); do - host -W 1 -t A "${domain}." -done) | grep -v 'has no A record' \ No newline at end of file +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 'https://ipapi.co/yaml/' > website/_data/ip.json + +echo >> template.md +echo "This scan was last run on $(date)" >> template.md \ No newline at end of file diff --git a/template.md b/template.md new file mode 100644 index 0000000..83b545d --- /dev/null +++ b/template.md @@ -0,0 +1,6 @@ +--- +layout: home +--- + +|domain|punycode|http|https|lookup| +|------|--------|----|-----|------| diff --git a/tlds.txt b/tlds.txt deleted file mode 100644 index bc07d14..0000000 --- a/tlds.txt +++ /dev/null @@ -1,1532 +0,0 @@ -# Version 2019051200, Last Updated Sun May 12 07:07:02 2019 UTC -AAA -AARP -ABARTH -ABB -ABBOTT -ABBVIE -ABC -ABLE -ABOGADO -ABUDHABI -AC -ACADEMY -ACCENTURE -ACCOUNTANT -ACCOUNTANTS -ACO -ACTOR -AD -ADAC -ADS -ADULT -AE -AEG -AERO -AETNA -AF -AFAMILYCOMPANY -AFL -AFRICA -AG -AGAKHAN -AGENCY -AI -AIG -AIGO -AIRBUS -AIRFORCE -AIRTEL -AKDN -AL -ALFAROMEO -ALIBABA -ALIPAY -ALLFINANZ -ALLSTATE -ALLY -ALSACE -ALSTOM -AM -AMERICANEXPRESS -AMERICANFAMILY -AMEX -AMFAM -AMICA -AMSTERDAM -ANALYTICS -ANDROID -ANQUAN -ANZ -AO -AOL -APARTMENTS -APP -APPLE -AQ -AQUARELLE -AR -ARAB -ARAMCO -ARCHI -ARMY -ARPA -ART -ARTE -AS -ASDA -ASIA -ASSOCIATES -AT -ATHLETA -ATTORNEY -AU -AUCTION -AUDI -AUDIBLE -AUDIO -AUSPOST -AUTHOR -AUTO -AUTOS -AVIANCA -AW -AWS -AX -AXA -AZ -AZURE -BA -BABY -BAIDU -BANAMEX -BANANAREPUBLIC -BAND -BANK -BAR -BARCELONA -BARCLAYCARD -BARCLAYS -BAREFOOT -BARGAINS -BASEBALL -BASKETBALL -BAUHAUS -BAYERN -BB -BBC -BBT -BBVA -BCG -BCN -BD -BE -BEATS -BEAUTY -BEER -BENTLEY -BERLIN -BEST -BESTBUY -BET -BF -BG -BH -BHARTI -BI -BIBLE -BID -BIKE -BING -BINGO -BIO -BIZ -BJ -BLACK -BLACKFRIDAY -BLOCKBUSTER -BLOG -BLOOMBERG -BLUE -BM -BMS -BMW -BN -BNL -BNPPARIBAS -BO -BOATS -BOEHRINGER -BOFA -BOM -BOND -BOO -BOOK -BOOKING -BOSCH -BOSTIK -BOSTON -BOT -BOUTIQUE -BOX -BR -BRADESCO -BRIDGESTONE -BROADWAY -BROKER -BROTHER -BRUSSELS -BS -BT -BUDAPEST -BUGATTI -BUILD -BUILDERS -BUSINESS -BUY -BUZZ -BV -BW -BY -BZ -BZH -CA -CAB -CAFE -CAL -CALL -CALVINKLEIN -CAM -CAMERA -CAMP -CANCERRESEARCH -CANON -CAPETOWN -CAPITAL -CAPITALONE -CAR -CARAVAN -CARDS -CARE -CAREER -CAREERS -CARS -CARTIER -CASA -CASE -CASEIH -CASH -CASINO -CAT -CATERING -CATHOLIC -CBA -CBN -CBRE -CBS -CC -CD -CEB -CENTER -CEO -CERN -CF -CFA -CFD -CG -CH -CHANEL -CHANNEL -CHARITY -CHASE -CHAT -CHEAP -CHINTAI -CHRISTMAS -CHROME -CHRYSLER -CHURCH -CI -CIPRIANI -CIRCLE -CISCO -CITADEL -CITI -CITIC -CITY -CITYEATS -CK -CL -CLAIMS -CLEANING -CLICK -CLINIC -CLINIQUE -CLOTHING -CLOUD -CLUB -CLUBMED -CM -CN -CO -COACH -CODES -COFFEE -COLLEGE -COLOGNE -COM -COMCAST -COMMBANK -COMMUNITY -COMPANY -COMPARE -COMPUTER -COMSEC -CONDOS -CONSTRUCTION -CONSULTING -CONTACT -CONTRACTORS -COOKING -COOKINGCHANNEL -COOL -COOP -CORSICA -COUNTRY -COUPON -COUPONS -COURSES -CR -CREDIT -CREDITCARD -CREDITUNION -CRICKET -CROWN -CRS -CRUISE -CRUISES -CSC -CU -CUISINELLA -CV -CW -CX -CY -CYMRU -CYOU -CZ -DABUR -DAD -DANCE -DATA -DATE -DATING -DATSUN -DAY -DCLK -DDS -DE -DEAL -DEALER -DEALS -DEGREE -DELIVERY -DELL -DELOITTE -DELTA -DEMOCRAT -DENTAL -DENTIST -DESI -DESIGN -DEV -DHL -DIAMONDS -DIET -DIGITAL -DIRECT -DIRECTORY -DISCOUNT -DISCOVER -DISH -DIY -DJ -DK -DM -DNP -DO -DOCS -DOCTOR -DODGE -DOG -DOMAINS -DOT -DOWNLOAD -DRIVE -DTV -DUBAI -DUCK -DUNLOP -DUNS -DUPONT -DURBAN -DVAG -DVR -DZ -EARTH -EAT -EC -ECO -EDEKA -EDU -EDUCATION -EE -EG -EMAIL -EMERCK -ENERGY -ENGINEER -ENGINEERING -ENTERPRISES -EPSON -EQUIPMENT -ER -ERICSSON -ERNI -ES -ESQ -ESTATE -ESURANCE -ET -ETISALAT -EU -EUROVISION -EUS -EVENTS -EVERBANK -EXCHANGE -EXPERT -EXPOSED -EXPRESS -EXTRASPACE -FAGE -FAIL -FAIRWINDS -FAITH -FAMILY -FAN -FANS -FARM -FARMERS -FASHION -FAST -FEDEX -FEEDBACK -FERRARI -FERRERO -FI -FIAT -FIDELITY -FIDO -FILM -FINAL -FINANCE -FINANCIAL -FIRE -FIRESTONE -FIRMDALE -FISH -FISHING -FIT -FITNESS -FJ -FK -FLICKR -FLIGHTS -FLIR -FLORIST -FLOWERS -FLY -FM -FO -FOO -FOOD -FOODNETWORK -FOOTBALL -FORD -FOREX -FORSALE -FORUM -FOUNDATION -FOX -FR -FREE -FRESENIUS -FRL -FROGANS -FRONTDOOR -FRONTIER -FTR -FUJITSU -FUJIXEROX -FUN -FUND -FURNITURE -FUTBOL -FYI -GA -GAL -GALLERY -GALLO -GALLUP -GAME -GAMES -GAP -GARDEN -GB -GBIZ -GD -GDN -GE -GEA -GENT -GENTING -GEORGE -GF -GG -GGEE -GH -GI -GIFT -GIFTS -GIVES -GIVING -GL -GLADE -GLASS -GLE -GLOBAL -GLOBO -GM -GMAIL -GMBH -GMO -GMX -GN -GODADDY -GOLD -GOLDPOINT -GOLF -GOO -GOODYEAR -GOOG -GOOGLE -GOP -GOT -GOV -GP -GQ -GR -GRAINGER -GRAPHICS -GRATIS -GREEN -GRIPE -GROCERY -GROUP -GS -GT -GU -GUARDIAN -GUCCI -GUGE -GUIDE -GUITARS -GURU -GW -GY -HAIR -HAMBURG -HANGOUT -HAUS -HBO -HDFC -HDFCBANK -HEALTH -HEALTHCARE -HELP -HELSINKI -HERE -HERMES -HGTV -HIPHOP -HISAMITSU -HITACHI -HIV -HK -HKT -HM -HN -HOCKEY -HOLDINGS -HOLIDAY -HOMEDEPOT -HOMEGOODS -HOMES -HOMESENSE -HONDA -HONEYWELL -HORSE -HOSPITAL -HOST -HOSTING -HOT -HOTELES -HOTELS -HOTMAIL -HOUSE -HOW -HR -HSBC -HT -HU -HUGHES -HYATT -HYUNDAI -IBM -ICBC -ICE -ICU -ID -IE -IEEE -IFM -IKANO -IL -IM -IMAMAT -IMDB -IMMO -IMMOBILIEN -IN -INC -INDUSTRIES -INFINITI -INFO -ING -INK -INSTITUTE -INSURANCE -INSURE -INT -INTEL -INTERNATIONAL -INTUIT -INVESTMENTS -IO -IPIRANGA -IQ -IR -IRISH -IS -ISELECT -ISMAILI -IST -ISTANBUL -IT -ITAU -ITV -IVECO -JAGUAR -JAVA -JCB -JCP -JE -JEEP -JETZT -JEWELRY -JIO -JLL -JM -JMP -JNJ -JO -JOBS -JOBURG -JOT -JOY -JP -JPMORGAN -JPRS -JUEGOS -JUNIPER -KAUFEN -KDDI -KE -KERRYHOTELS -KERRYLOGISTICS -KERRYPROPERTIES -KFH -KG -KH -KI -KIA -KIM -KINDER -KINDLE -KITCHEN -KIWI -KM -KN -KOELN -KOMATSU -KOSHER -KP -KPMG -KPN -KR -KRD -KRED -KUOKGROUP -KW -KY -KYOTO -KZ -LA -LACAIXA -LADBROKES -LAMBORGHINI -LAMER -LANCASTER -LANCIA -LANCOME -LAND -LANDROVER -LANXESS -LASALLE -LAT -LATINO -LATROBE -LAW -LAWYER -LB -LC -LDS -LEASE -LECLERC -LEFRAK -LEGAL -LEGO -LEXUS -LGBT -LI -LIAISON -LIDL -LIFE -LIFEINSURANCE -LIFESTYLE -LIGHTING -LIKE -LILLY -LIMITED -LIMO -LINCOLN -LINDE -LINK -LIPSY -LIVE -LIVING -LIXIL -LK -LLC -LOAN -LOANS -LOCKER -LOCUS -LOFT -LOL -LONDON -LOTTE -LOTTO -LOVE -LPL -LPLFINANCIAL -LR -LS -LT -LTD -LTDA -LU -LUNDBECK -LUPIN -LUXE -LUXURY -LV -LY -MA -MACYS -MADRID -MAIF -MAISON -MAKEUP -MAN -MANAGEMENT -MANGO -MAP -MARKET -MARKETING -MARKETS -MARRIOTT -MARSHALLS -MASERATI -MATTEL -MBA -MC -MCKINSEY -MD -ME -MED -MEDIA -MEET -MELBOURNE -MEME -MEMORIAL -MEN -MENU -MERCKMSD -METLIFE -MG -MH -MIAMI -MICROSOFT -MIL -MINI -MINT -MIT -MITSUBISHI -MK -ML -MLB -MLS -MM -MMA -MN -MO -MOBI -MOBILE -MOBILY -MODA -MOE -MOI -MOM -MONASH -MONEY -MONSTER -MOPAR -MORMON -MORTGAGE -MOSCOW -MOTO -MOTORCYCLES -MOV -MOVIE -MOVISTAR -MP -MQ -MR -MS -MSD -MT -MTN -MTR -MU -MUSEUM -MUTUAL -MV -MW -MX -MY -MZ -NA -NAB -NADEX -NAGOYA -NAME -NATIONWIDE -NATURA -NAVY -NBA -NC -NE -NEC -NET -NETBANK -NETFLIX -NETWORK -NEUSTAR -NEW -NEWHOLLAND -NEWS -NEXT -NEXTDIRECT -NEXUS -NF -NFL -NG -NGO -NHK -NI -NICO -NIKE -NIKON -NINJA -NISSAN -NISSAY -NL -NO -NOKIA -NORTHWESTERNMUTUAL -NORTON -NOW -NOWRUZ -NOWTV -NP -NR -NRA -NRW -NTT -NU -NYC -NZ -OBI -OBSERVER -OFF -OFFICE -OKINAWA -OLAYAN -OLAYANGROUP -OLDNAVY -OLLO -OM -OMEGA -ONE -ONG -ONL -ONLINE -ONYOURSIDE -OOO -OPEN -ORACLE -ORANGE -ORG -ORGANIC -ORIGINS -OSAKA -OTSUKA -OTT -OVH -PA -PAGE -PANASONIC -PARIS -PARS -PARTNERS -PARTS -PARTY -PASSAGENS -PAY -PCCW -PE -PET -PF -PFIZER -PG -PH -PHARMACY -PHD -PHILIPS -PHONE -PHOTO -PHOTOGRAPHY -PHOTOS -PHYSIO -PIAGET -PICS -PICTET -PICTURES -PID -PIN -PING -PINK -PIONEER -PIZZA -PK -PL -PLACE -PLAY -PLAYSTATION -PLUMBING -PLUS -PM -PN -PNC -POHL -POKER -POLITIE -PORN -POST -PR -PRAMERICA -PRAXI -PRESS -PRIME -PRO -PROD -PRODUCTIONS -PROF -PROGRESSIVE -PROMO -PROPERTIES -PROPERTY -PROTECTION -PRU -PRUDENTIAL -PS -PT -PUB -PW -PWC -PY -QA -QPON -QUEBEC -QUEST -QVC -RACING -RADIO -RAID -RE -READ -REALESTATE -REALTOR -REALTY -RECIPES -RED -REDSTONE -REDUMBRELLA -REHAB -REISE -REISEN -REIT -RELIANCE -REN -RENT -RENTALS -REPAIR -REPORT -REPUBLICAN -REST -RESTAURANT -REVIEW -REVIEWS -REXROTH -RICH -RICHARDLI -RICOH -RIGHTATHOME -RIL -RIO -RIP -RMIT -RO -ROCHER -ROCKS -RODEO -ROGERS -ROOM -RS -RSVP -RU -RUGBY -RUHR -RUN -RW -RWE -RYUKYU -SA -SAARLAND -SAFE -SAFETY -SAKURA -SALE -SALON -SAMSCLUB -SAMSUNG -SANDVIK -SANDVIKCOROMANT -SANOFI -SAP -SARL -SAS -SAVE -SAXO -SB -SBI -SBS -SC -SCA -SCB -SCHAEFFLER -SCHMIDT -SCHOLARSHIPS -SCHOOL -SCHULE -SCHWARZ -SCIENCE -SCJOHNSON -SCOR -SCOT -SD -SE -SEARCH -SEAT -SECURE -SECURITY -SEEK -SELECT -SENER -SERVICES -SES -SEVEN -SEW -SEX -SEXY -SFR -SG -SH -SHANGRILA -SHARP -SHAW -SHELL -SHIA -SHIKSHA -SHOES -SHOP -SHOPPING -SHOUJI -SHOW -SHOWTIME -SHRIRAM -SI -SILK -SINA -SINGLES -SITE -SJ -SK -SKI -SKIN -SKY -SKYPE -SL -SLING -SM -SMART -SMILE -SN -SNCF -SO -SOCCER -SOCIAL -SOFTBANK -SOFTWARE -SOHU -SOLAR -SOLUTIONS -SONG -SONY -SOY -SPACE -SPORT -SPOT -SPREADBETTING -SR -SRL -SRT -SS -ST -STADA -STAPLES -STAR -STARHUB -STATEBANK -STATEFARM -STC -STCGROUP -STOCKHOLM -STORAGE -STORE -STREAM -STUDIO -STUDY -STYLE -SU -SUCKS -SUPPLIES -SUPPLY -SUPPORT -SURF -SURGERY -SUZUKI -SV -SWATCH -SWIFTCOVER -SWISS -SX -SY -SYDNEY -SYMANTEC -SYSTEMS -SZ -TAB -TAIPEI -TALK -TAOBAO -TARGET -TATAMOTORS -TATAR -TATTOO -TAX -TAXI -TC -TCI -TD -TDK -TEAM -TECH -TECHNOLOGY -TEL -TELEFONICA -TEMASEK -TENNIS -TEVA -TF -TG -TH -THD -THEATER -THEATRE -TIAA -TICKETS -TIENDA -TIFFANY -TIPS -TIRES -TIROL -TJ -TJMAXX -TJX -TK -TKMAXX -TL -TM -TMALL -TN -TO -TODAY -TOKYO -TOOLS -TOP -TORAY -TOSHIBA -TOTAL -TOURS -TOWN -TOYOTA -TOYS -TR -TRADE -TRADING -TRAINING -TRAVEL -TRAVELCHANNEL -TRAVELERS -TRAVELERSINSURANCE -TRUST -TRV -TT -TUBE -TUI -TUNES -TUSHU -TV -TVS -TW -TZ -UA -UBANK -UBS -UCONNECT -UG -UK -UNICOM -UNIVERSITY -UNO -UOL -UPS -US -UY -UZ -VA -VACATIONS -VANA -VANGUARD -VC -VE -VEGAS -VENTURES -VERISIGN -VERSICHERUNG -VET -VG -VI -VIAJES -VIDEO -VIG -VIKING -VILLAS -VIN -VIP -VIRGIN -VISA -VISION -VISTAPRINT -VIVA -VIVO -VLAANDEREN -VN -VODKA -VOLKSWAGEN -VOLVO -VOTE -VOTING -VOTO -VOYAGE -VU -VUELOS -WALES -WALMART -WALTER -WANG -WANGGOU -WARMAN -WATCH -WATCHES -WEATHER -WEATHERCHANNEL -WEBCAM -WEBER -WEBSITE -WED -WEDDING -WEIBO -WEIR -WF -WHOSWHO -WIEN -WIKI -WILLIAMHILL -WIN -WINDOWS -WINE -WINNERS -WME -WOLTERSKLUWER -WOODSIDE -WORK -WORKS -WORLD -WOW -WS -WTC -WTF -XBOX -XEROX -XFINITY -XIHUAN -XIN -XN--11B4C3D -XN--1CK2E1B -XN--1QQW23A -XN--2SCRJ9C -XN--30RR7Y -XN--3BST00M -XN--3DS443G -XN--3E0B707E -XN--3HCRJ9C -XN--3OQ18VL8PN36A -XN--3PXU8K -XN--42C2D9A -XN--45BR5CYL -XN--45BRJ9C -XN--45Q11C -XN--4GBRIM -XN--54B7FTA0CC -XN--55QW42G -XN--55QX5D -XN--5SU34J936BGSG -XN--5TZM5G -XN--6FRZ82G -XN--6QQ986B3XL -XN--80ADXHKS -XN--80AO21A -XN--80AQECDR1A -XN--80ASEHDB -XN--80ASWG -XN--8Y0A063A -XN--90A3AC -XN--90AE -XN--90AIS -XN--9DBQ2A -XN--9ET52U -XN--9KRT00A -XN--B4W605FERD -XN--BCK1B9A5DRE4C -XN--C1AVG -XN--C2BR7G -XN--CCK2B3B -XN--CG4BKI -XN--CLCHC0EA0B2G2A9GCD -XN--CZR694B -XN--CZRS0T -XN--CZRU2D -XN--D1ACJ3B -XN--D1ALF -XN--E1A4C -XN--ECKVDTC9D -XN--EFVY88H -XN--ESTV75G -XN--FCT429K -XN--FHBEI -XN--FIQ228C5HS -XN--FIQ64B -XN--FIQS8S -XN--FIQZ9S -XN--FJQ720A -XN--FLW351E -XN--FPCRJ9C3D -XN--FZC2C9E2C -XN--FZYS8D69UVGM -XN--G2XX48C -XN--GCKR3F0F -XN--GECRJ9C -XN--GK3AT1E -XN--H2BREG3EVE -XN--H2BRJ9C -XN--H2BRJ9C8C -XN--HXT814E -XN--I1B6B1A6A2E -XN--IMR513N -XN--IO0A7I -XN--J1AEF -XN--J1AMH -XN--J6W193G -XN--JLQ61U9W7B -XN--JVR189M -XN--KCRX77D1X4A -XN--KPRW13D -XN--KPRY57D -XN--KPU716F -XN--KPUT3I -XN--L1ACC -XN--LGBBAT1AD8J -XN--MGB9AWBF -XN--MGBA3A3EJT -XN--MGBA3A4F16A -XN--MGBA7C0BBN0A -XN--MGBAAKC7DVF -XN--MGBAAM7A8H -XN--MGBAB2BD -XN--MGBAH1A3HJKRD -XN--MGBAI9AZGQP6J -XN--MGBAYH7GPA -XN--MGBB9FBPOB -XN--MGBBH1A -XN--MGBBH1A71E -XN--MGBC0A9AZCG -XN--MGBCA7DZDO -XN--MGBERP4A5D4AR -XN--MGBGU82A -XN--MGBI4ECEXP -XN--MGBPL2FH -XN--MGBT3DHD -XN--MGBTX2B -XN--MGBX4CD0AB -XN--MIX891F -XN--MK1BU44C -XN--MXTQ1M -XN--NGBC5AZD -XN--NGBE9E0A -XN--NGBRX -XN--NODE -XN--NQV7F -XN--NQV7FS00EMA -XN--NYQY26A -XN--O3CW4H -XN--OGBPF8FL -XN--OTU796D -XN--P1ACF -XN--P1AI -XN--PBT977C -XN--PGBS0DH -XN--PSSY2U -XN--Q9JYB4C -XN--QCKA1PMC -XN--QXAM -XN--RHQV96G -XN--ROVU88B -XN--RVC1E0AM3E -XN--S9BRJ9C -XN--SES554G -XN--T60B56A -XN--TCKWE -XN--TIQ49XQYJ -XN--UNUP4Y -XN--VERMGENSBERATER-CTB -XN--VERMGENSBERATUNG-PWB -XN--VHQUV -XN--VUQ861B -XN--W4R85EL8FHU5DNRA -XN--W4RS40L -XN--WGBH1C -XN--WGBL6A -XN--XHQ521B -XN--XKC2AL3HYE2A -XN--XKC2DL3A5EE0H -XN--Y9A3AQ -XN--YFRO4I67O -XN--YGBI2AMMX -XN--ZFR164B -XXX -XYZ -YACHTS -YAHOO -YAMAXUN -YANDEX -YE -YODOBASHI -YOGA -YOKOHAMA -YOU -YOUTUBE -YT -YUN -ZA -ZAPPOS -ZARA -ZERO -ZIP -ZM -ZONE -ZUERICH -ZW diff --git a/website/.gitignore b/website/.gitignore new file mode 100644 index 0000000..0dd6d26 --- /dev/null +++ b/website/.gitignore @@ -0,0 +1,4 @@ +_site +.sass-cache +.jekyll-metadata +vendor \ No newline at end of file diff --git a/website/Gemfile b/website/Gemfile new file mode 100644 index 0000000..8609dd8 --- /dev/null +++ b/website/Gemfile @@ -0,0 +1,4 @@ +source 'https://rubygems.org' + +gem 'jekyll' +gem 'jekyll-theme-dinky', group: :jekyll_plugins \ No newline at end of file diff --git a/website/Gemfile.lock b/website/Gemfile.lock new file mode 100644 index 0000000..0ddd0e5 --- /dev/null +++ b/website/Gemfile.lock @@ -0,0 +1,69 @@ +GEM + remote: https://rubygems.org/ + specs: + addressable (2.6.0) + public_suffix (>= 2.0.2, < 4.0) + colorator (1.1.0) + concurrent-ruby (1.1.5) + em-websocket (0.5.1) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0.6.0) + eventmachine (1.2.7) + ffi (1.11.1) + forwardable-extended (2.6.0) + http_parser.rb (0.6.0) + i18n (0.9.5) + concurrent-ruby (~> 1.0) + jekyll (3.8.6) + 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-sass-converter (1.5.2) + sass (~> 3.4) + jekyll-seo-tag (2.6.1) + jekyll (>= 3.3, < 5.0) + jekyll-theme-dinky (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-watch (2.2.1) + listen (~> 3.0) + kramdown (1.17.0) + liquid (4.0.3) + 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) + 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 (3.7.0) + ruby_dep (1.5.0) + 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) + +PLATFORMS + ruby + +DEPENDENCIES + jekyll + jekyll-theme-dinky + +BUNDLED WITH + 2.0.2 diff --git a/website/_config.yml b/website/_config.yml new file mode 100644 index 0000000..c21f07d --- /dev/null +++ b/website/_config.yml @@ -0,0 +1,9 @@ +email: tld@captnemo.in +baseurl: "/tld-a-record" # the subpath of your site, e.g. /blog +url: "https://captnemo.in" # the base hostname & protocol for your site, e.g. http://example.com +site: + github: + repository_url: https://github.com/captn3m0/tld-a-record/ +title: TLDs with A Records +description: List of TLDs with A Records +markdown: kramdown diff --git a/website/_data/.gitignore b/website/_data/.gitignore new file mode 100644 index 0000000..f0817fd --- /dev/null +++ b/website/_data/.gitignore @@ -0,0 +1 @@ +ip.json \ No newline at end of file diff --git a/website/_layouts/default.html b/website/_layouts/default.html new file mode 100644 index 0000000..753482f --- /dev/null +++ b/website/_layouts/default.html @@ -0,0 +1,28 @@ + + + + + + + + {{site.title}} + + +
+
+

{{ site.title | default: site.github.repository_name }}

+

{{ site.description | default: site.github.project_tagline }}

+ + +
+ +
+ {{ content }} +
+ +
+ + + diff --git a/website/_layouts/home.html b/website/_layouts/home.html new file mode 100644 index 0000000..7eade1d --- /dev/null +++ b/website/_layouts/home.html @@ -0,0 +1,31 @@ +--- +layout: default +--- + +{{content}} + +
+ +

Source

+ + + + + + + + + + + + + + + + + +
IP{{site.data.ip.ip}}
ASN{{site.data.ip.asn}}
Org{{site.data.ip.org}}
+ +
+ +

A list of all TLDs scanned is available at tlds.txt. \ No newline at end of file diff --git a/website/assets/sakura.css b/website/assets/sakura.css new file mode 100644 index 0000000..4d4eae7 --- /dev/null +++ b/website/assets/sakura.css @@ -0,0 +1,165 @@ +/* Sakura.css v1.0.0 + * ================ + * Minimal css theme. + * Project: https://github.com/oxalorg/sakura + */ +/* Body */ +html { + font-size: 62.5%; + font-family: serif; } + +body { + font-size: 1.8rem; + line-height: 1.618; + max-width: 38em; + margin: auto; + color: #4a4a4a; + background-color: #f9f9f9; + padding: 13px; } + +@media (max-width: 684px) { + body { + font-size: 1.53rem; } } + +@media (max-width: 382px) { + body { + font-size: 1.35rem; } } + +h1, h2, h3, h4, h5, h6 { + line-height: 1.1; + font-family: Verdana, Geneva, sans-serif; + font-weight: 700; + overflow-wrap: break-word; + word-wrap: break-word; + -ms-word-break: break-all; + word-break: break-word; + -ms-hyphens: auto; + -moz-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; } + +h1 { + font-size: 2.35em; } + +h2 { + font-size: 2.00em; } + +h3 { + font-size: 1.75em; } + +h4 { + font-size: 1.5em; } + +h5 { + font-size: 1.25em; } + +h6 { + font-size: 1em; } + +small, sub, sup { + font-size: 75%; } + +hr { + border-color: #2c8898; } + +a { + text-decoration: none; + color: #2c8898; } + a:hover { + color: #982c61; + border-bottom: 2px solid #4a4a4a; } + +ul { + padding-left: 1.4em; } + +li { + margin-bottom: 0.4em; } + +blockquote { + font-style: italic; + margin-left: 1.5em; + padding-left: 1em; + border-left: 3px solid #2c8898; } + +img { + max-width: 100%; } + +/* Pre and Code */ +pre { + background-color: #f1f1f1; + display: block; + padding: 1em; + overflow-x: auto; } + +code { + font-size: 0.9em; + padding: 0 0.5em; + background-color: #f1f1f1; + white-space: pre-wrap; } + +pre > code { + padding: 0; + background-color: transparent; + white-space: pre; } + +/* Tables */ +table { + text-align: justify; + width: 100%; + border-collapse: collapse; } + +td, th { + padding: 0.5em; + border-bottom: 1px solid #f1f1f1; } + +/* Buttons, forms and input */ +input, textarea { + border: 1px solid #4a4a4a; } + input:focus, textarea:focus { + border: 1px solid #2c8898; } + +textarea { + width: 100%; } + +.button, button, input[type="submit"], input[type="reset"], input[type="button"] { + display: inline-block; + padding: 5px 10px; + text-align: center; + text-decoration: none; + white-space: nowrap; + background-color: #2c8898; + color: #f9f9f9; + border-radius: 1px; + border: 1px solid #2c8898; + cursor: pointer; + box-sizing: border-box; } + .button[disabled], button[disabled], input[type="submit"][disabled], input[type="reset"][disabled], input[type="button"][disabled] { + cursor: default; + opacity: .5; } + .button:focus, .button:hover, button:focus, button:hover, input[type="submit"]:focus, input[type="submit"]:hover, input[type="reset"]:focus, input[type="reset"]:hover, input[type="button"]:focus, input[type="button"]:hover { + background-color: #982c61; + border-color: #982c61; + color: #f9f9f9; + outline: 0; } + +textarea, select, input[type] { + color: #4a4a4a; + padding: 6px 10px; + /* The 6px vertically centers text on FF, ignored by Webkit */ + margin-bottom: 10px; + background-color: #f1f1f1; + border: 1px solid #f1f1f1; + border-radius: 4px; + box-shadow: none; + box-sizing: border-box; } + textarea:focus, select:focus, input[type]:focus { + border: 1px solid #2c8898; + outline: 0; } + +input[type="checkbox"]:focus { + outline: 1px dotted #2c8898; } + +label, legend, fieldset { + display: block; + margin-bottom: .5rem; + font-weight: 600; }