gman 5.0.1 → 5.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +0 -5
- data/config/domains.txt +353 -0
- data/gman.gemspec +2 -0
- data/lib/gman.rb +18 -14
- data/lib/gman/country_codes.rb +13 -8
- data/lib/gman/domain_list.rb +1 -1
- data/lib/gman/identifier.rb +5 -3
- data/lib/gman/importer.rb +8 -10
- data/lib/gman/version.rb +1 -1
- data/script/vendor +11 -0
- data/script/vendor-federal-de +1 -1
- data/script/vendor-nl +1 -1
- data/script/vendor-us +16 -3
- data/test/helper.rb +0 -2
- metadata +31 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6c14780a8da17be7dbcd93d3f1623da401aa5124
|
4
|
+
data.tar.gz: 82aecc0617942671dd7beec7601ddef10a1b9262
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e1431c5933b0eb033945732d265640da90b59e2f420b4f97bc7a84158f1793ea489a630b371702bfe9a5342e9c06f4839daeeee3fafc521588628d83cecddd93
|
7
|
+
data.tar.gz: 2e03f15a543f54d5a56b1abc6646c86496a1e72d9e4f42a5f862c18725df6f50f17a90704f76da0b8efb31eeecbb492eb2992ec714a39e480d892a22067b2cc5
|
data/Gemfile
CHANGED
data/config/domains.txt
CHANGED
@@ -1462,28 +1462,79 @@ hel.fi
|
|
1462
1462
|
lounaispaikka.fi
|
1463
1463
|
|
1464
1464
|
// German Federal
|
1465
|
+
60jahresozialstaat.de
|
1466
|
+
a9digital.de
|
1467
|
+
adele-esf.de
|
1468
|
+
agrowetter.de
|
1469
|
+
agrowetter.eu
|
1470
|
+
allianz-fuer-arbeitskraefte.de
|
1471
|
+
allianz-fuer-fachkraefte.de
|
1472
|
+
allianz-für-arbeitskräfte.de
|
1473
|
+
allianz-für-fachkräfte.de
|
1474
|
+
alpenflugwetter.com
|
1475
|
+
alpenflugwetter.de
|
1476
|
+
alpenflugwetter.eu
|
1477
|
+
alpenwetter.eu
|
1478
|
+
altersvorsorgemachtschule.com
|
1479
|
+
altersvorsorgemachtschule.de
|
1480
|
+
altersvorsorgemachtschule.info
|
1481
|
+
altersvorsorgemachtschule.net
|
1482
|
+
altersvorsorgemachtschule.org
|
1483
|
+
arb-5.de
|
1484
|
+
arbeit-4-null.de
|
1485
|
+
arbeit-4-punkt-null.de
|
1486
|
+
arbeit-psyche.de
|
1487
|
+
arbeitderzukunft.de
|
1488
|
+
arbeiten-4-0.de
|
1489
|
+
arbeiten4null.de
|
1490
|
+
arbeiten4punktnull.de
|
1491
|
+
arbeitenbis67.de
|
1492
|
+
arbeitenviernull.de
|
1493
|
+
arbeitenvierpunktnull.de
|
1465
1494
|
arbeitsagentur.de
|
1495
|
+
arbeitsmarktreform.de
|
1496
|
+
arbeitsministerium.eu
|
1497
|
+
arbeitsschutz-forschung.de
|
1498
|
+
arbeitvierpunktnull.de
|
1499
|
+
armutsbericht.de
|
1466
1500
|
auswaertiges-amt.de
|
1501
|
+
aviation-weather.eu
|
1502
|
+
ba-reform.de
|
1467
1503
|
badv.bund.de
|
1468
1504
|
bafa.de
|
1469
1505
|
bafg.de
|
1470
1506
|
bafza.de
|
1471
1507
|
bag.bund.de
|
1508
|
+
ballonwetter.de
|
1509
|
+
ballonwetter.eu
|
1472
1510
|
bam.de
|
1473
1511
|
bamf.de
|
1474
1512
|
bast.de
|
1513
|
+
bauminister.de
|
1475
1514
|
baw.de
|
1476
1515
|
bbk.bund.de
|
1477
1516
|
bbr.bund.de
|
1517
|
+
behindern-ist-heilbar.de
|
1518
|
+
beirat-raumentwicklung.de
|
1519
|
+
beschaeftigtebeteiligen.de
|
1520
|
+
beschaeftigung-aelterer.de
|
1521
|
+
beschäftigtebeteiligen.de
|
1522
|
+
beschäftigung-gestalten.de
|
1478
1523
|
bev.bund.de
|
1479
1524
|
bfarm.de
|
1480
1525
|
bfb-bund.de
|
1481
1526
|
bfn.de
|
1482
1527
|
bfs.de
|
1483
1528
|
bfu-web.de
|
1529
|
+
bildungspaket-bmas.de
|
1530
|
+
bitvlotse.de
|
1484
1531
|
bka.de
|
1485
1532
|
bkg.bund.de
|
1533
|
+
bma.de
|
1534
|
+
bmas-alleinerziehende.de
|
1486
1535
|
bmas.de
|
1536
|
+
bmas.eu
|
1537
|
+
bmas.mobi
|
1487
1538
|
bmbf.de
|
1488
1539
|
bmel.de
|
1489
1540
|
bmfsfj.de
|
@@ -1491,27 +1542,52 @@ bmg.bund.de
|
|
1491
1542
|
bmi.bund.de
|
1492
1543
|
bmjv.de
|
1493
1544
|
bmub.de
|
1545
|
+
bmvbs.de
|
1494
1546
|
bmvg.de
|
1495
1547
|
bmvi.de
|
1548
|
+
bmvi.eu
|
1549
|
+
bmvi.info
|
1550
|
+
bmvi.net
|
1551
|
+
bmvi.org
|
1496
1552
|
bmwi.de
|
1497
1553
|
bmz.de
|
1498
1554
|
bnd.de
|
1499
1555
|
bpatg.de
|
1556
|
+
breitbandatlas.de
|
1557
|
+
briefing4aviation.com
|
1558
|
+
briefing4aviation.de
|
1559
|
+
briefing4aviation.eu
|
1560
|
+
briefing4pilot.com
|
1561
|
+
briefing4pilot.de
|
1562
|
+
briefing4pilot.eu
|
1500
1563
|
bsh.de
|
1501
1564
|
bsi.bund.de
|
1502
1565
|
bstu.bund.de
|
1503
1566
|
bsu-bund.de
|
1504
1567
|
bundesarbeitsgericht.de
|
1568
|
+
bundesarbeitsministerium.de
|
1569
|
+
bundesarbeitsministerium.eu
|
1505
1570
|
bundesarchiv.de
|
1506
1571
|
bundesausgleichsamt.de
|
1507
1572
|
bundesbank.de
|
1573
|
+
bundesbauminister.com
|
1574
|
+
bundesbauminister.de
|
1575
|
+
bundesbauminister.net
|
1576
|
+
bundesbauminister.org
|
1577
|
+
bundesbauministerium.com
|
1578
|
+
bundesbauministerium.de
|
1579
|
+
bundesbauministerium.net
|
1580
|
+
bundesbauministerium.org
|
1508
1581
|
bundesfinanzhof.de
|
1509
1582
|
bundesfinanzministerium.de
|
1510
1583
|
bundesgerichtshof.de
|
1584
|
+
bundesinfrastrukturministerium.de
|
1511
1585
|
bundesjustizamt.de
|
1512
1586
|
bundeskanzleramt.de
|
1513
1587
|
bundeskanzlerin.de
|
1514
1588
|
bundeskartellamt.de
|
1589
|
+
bundesministerium-fuer-arbeit-und-soziales.eu
|
1590
|
+
bundesministerium-fuer-stadtentwicklung.de
|
1515
1591
|
bundesnetzagentur.de
|
1516
1592
|
bundespolizei.de
|
1517
1593
|
bundespraesident.de
|
@@ -1521,41 +1597,309 @@ bundesrechnungshof.de
|
|
1521
1597
|
bundesregierung.de
|
1522
1598
|
bundessortenamt.de
|
1523
1599
|
bundessozialgericht.de
|
1600
|
+
bundessozialministerium.de
|
1601
|
+
bundessozialministerium.eu
|
1524
1602
|
bundessprachenamt.de
|
1525
1603
|
bundestag.de
|
1526
1604
|
bundesverfassungsgericht.de
|
1605
|
+
bundesverkehrsminister.com
|
1606
|
+
bundesverkehrsminister.de
|
1607
|
+
bundesverkehrsminister.net
|
1608
|
+
bundesverkehrsminister.org
|
1609
|
+
bundesverkehrsministerium.com
|
1610
|
+
bundesverkehrsministerium.de
|
1611
|
+
bundesverkehrsministerium.net
|
1612
|
+
bundesverkehrsministerium.org
|
1527
1613
|
bundesversicherungsamt.de
|
1528
1614
|
bundesverwaltungsgericht.de
|
1529
1615
|
bundeswehr-karriere.de
|
1530
1616
|
bva.bund.de
|
1531
1617
|
bvl.bund.de
|
1618
|
+
bvwp2015.de
|
1532
1619
|
bzga.de
|
1533
1620
|
bzst.bund.de
|
1621
|
+
chancen-mit-erfahrung.de
|
1622
|
+
climatemonitoring.de
|
1623
|
+
climatemonitoring.eu
|
1624
|
+
climateservice.eu
|
1625
|
+
climateservices.de
|
1626
|
+
climateservices.eu
|
1627
|
+
cmsaf.eu
|
1628
|
+
csr-preis-bund.de
|
1629
|
+
csr-unternehmenswerte.de
|
1630
|
+
csrindeutschland.de
|
1631
|
+
csringermany.de
|
1632
|
+
csrmadeingermany.de
|
1633
|
+
d-klip.de
|
1634
|
+
das-bildungspaket.de
|
1635
|
+
das-demographie-netzwerk.de
|
1636
|
+
das-halbe-leben.com
|
1637
|
+
das-halbe-leben.net
|
1638
|
+
das-jobcenter.de
|
1639
|
+
das-rentenpaket.de
|
1640
|
+
das-rentenreformpaket.de
|
1641
|
+
dashalbeleben.de
|
1642
|
+
dates-esf-test.de
|
1643
|
+
dates-esf.de
|
1644
|
+
demograf.de
|
1645
|
+
der-demograf.de
|
1646
|
+
der-mindestlohn-gilt.de
|
1647
|
+
der-mindestlohn-kommt.de
|
1648
|
+
der-mindestlohn-wirkt.de
|
1649
|
+
der-mindestlohn.de
|
1534
1650
|
destatis.de
|
1651
|
+
deutscher-klimaatlas.de
|
1652
|
+
deutscher-wetterdienst.com
|
1653
|
+
deutscher-wetterdienst.de
|
1654
|
+
deutscher-wetterdienst.eu
|
1655
|
+
deutsches-klimaportal.de
|
1656
|
+
deutschland-wird-inklusiv.de
|
1657
|
+
die-rente.com
|
1658
|
+
die-rente.info
|
1659
|
+
die-rente.net
|
1660
|
+
die-rente.org
|
1661
|
+
digitaleautobahn.de
|
1662
|
+
digitales-testfeld-autobahn.de
|
1663
|
+
digitalestestfeld.de
|
1535
1664
|
dimdi.de
|
1536
1665
|
dpma.de
|
1666
|
+
dta9.de
|
1667
|
+
dwd-shop.de
|
1668
|
+
dwd-shop.eu
|
1669
|
+
dwd.bund.de
|
1537
1670
|
dwd.de
|
1671
|
+
dwd.eu
|
1538
1672
|
eba.bund.de
|
1673
|
+
einfach-leichte-sprache.de
|
1674
|
+
einfachteilhaben.de
|
1675
|
+
einfachteilhaben.mobi
|
1676
|
+
einsatzfuerarbeit.de
|
1677
|
+
einsatzfürarbeit.de
|
1678
|
+
energie-fuer-morgen.de
|
1679
|
+
equal.de
|
1680
|
+
esa-cloud-cci.eu
|
1681
|
+
esa-cloud-cci.info
|
1682
|
+
esa-cloud-cci.net
|
1683
|
+
esa-cloud-cci.org
|
1684
|
+
esf-foerderung.de
|
1685
|
+
esf-in-deutschland.de
|
1686
|
+
esf-meine-geschichte.de
|
1687
|
+
esf-programm.de
|
1688
|
+
esf.de
|
1689
|
+
fachkraefte-allianz.de
|
1690
|
+
fachkraefteoffensive.de
|
1691
|
+
fachkraeftewoche.de
|
1692
|
+
fachkräfte-allianz.de
|
1693
|
+
fachkräfteoffensive.de
|
1694
|
+
fachkräftewoche.de
|
1539
1695
|
fli.bund.de
|
1696
|
+
flugmet.de
|
1697
|
+
flugmet.eu
|
1698
|
+
flugwetter-beratung.de
|
1699
|
+
flugwetter.de
|
1700
|
+
flugwetter.eu
|
1701
|
+
foerdern-und-fordern.info
|
1702
|
+
fondsheimkinder.de
|
1703
|
+
fuereinlebenswertesland.de
|
1704
|
+
fördern-und-fordern.info
|
1705
|
+
füreinlebenswertesland.de
|
1706
|
+
gcos.de
|
1707
|
+
gda-psyche.de
|
1708
|
+
gemeinsam-einfach-machen.de
|
1540
1709
|
generalbundesanwalt.de
|
1710
|
+
generationenarbeit.de
|
1711
|
+
generationpraktikum.de
|
1712
|
+
gesundheitswetter.eu
|
1713
|
+
gisc-offenbach.eu
|
1714
|
+
globalisierungsfonds.de
|
1715
|
+
gruan.org
|
1716
|
+
gsnmc.eu
|
1717
|
+
gute-arbeit-alleinerziehende.de
|
1718
|
+
hartziv.de
|
1719
|
+
heimkinder-fonds.de
|
1720
|
+
hinzuverdienstrechner.de
|
1721
|
+
ida.de
|
1722
|
+
infrastrukturministerium.de
|
1723
|
+
initiative-für-fachkraefte.de
|
1724
|
+
initiative-für-fachkräfte.de
|
1725
|
+
initiative-neue-qualitaet-der-arbeit.de
|
1726
|
+
inklusionslandkarte.de
|
1727
|
+
inqa-bestellservice.de
|
1728
|
+
inqa-check.de
|
1729
|
+
inqa-ddn.de
|
1730
|
+
inqa-demografie.de
|
1731
|
+
inqa-demographie-netzwerk.de
|
1732
|
+
inqa-demographie.de
|
1733
|
+
inqa-epoxibewertung.de
|
1734
|
+
inqa-kmu.de
|
1735
|
+
inqa-mittelstand.de
|
1736
|
+
inqa-pflege.de
|
1737
|
+
inqa-produktion.de
|
1738
|
+
inqa-stress.de
|
1739
|
+
inqa.de
|
1541
1740
|
iud.bundeswehr.de
|
1542
1741
|
jki.bund.de
|
1742
|
+
job-drei-null.de
|
1743
|
+
job3punkt0.de
|
1744
|
+
job3punktnull.de
|
1745
|
+
jobcenterreform.de
|
1746
|
+
jobcenterservice.de
|
1747
|
+
jobcentersuche.de
|
1748
|
+
jobdreipunktnull.de
|
1749
|
+
jobsohnebarrieren.de
|
1750
|
+
jugendinarbeit.de
|
1543
1751
|
kba.de
|
1544
1752
|
kfw-foerderbank.de
|
1545
1753
|
kkr.bund.de
|
1754
|
+
klimadaten.eu
|
1755
|
+
klimadeutschland.de
|
1756
|
+
klimagutachten.eu
|
1757
|
+
klimamonitoring.de
|
1758
|
+
klimaservices.de
|
1759
|
+
klimaueberwachung.de
|
1760
|
+
klimaueberwachung.eu
|
1761
|
+
kliwas.de
|
1546
1762
|
kulturstaatsminister.de
|
1547
1763
|
lba.de
|
1764
|
+
lebenslagen-in-deutschland.de
|
1765
|
+
leitfadeninklusion.de
|
1766
|
+
lohntarifpaket.de
|
1548
1767
|
mad.bundeswehr.de
|
1768
|
+
medizinwetter.eu
|
1769
|
+
mein-comeback.info
|
1770
|
+
mein-microkredit.com
|
1771
|
+
mein-microkredit.eu
|
1772
|
+
mein-mikrokredit.com
|
1773
|
+
mein-mikrokredit.eu
|
1774
|
+
mein-mikrokredit.org
|
1775
|
+
meincomeback.de
|
1776
|
+
meinmicrocredit.com
|
1777
|
+
meinmicrocredit.de
|
1778
|
+
meinmicrocredit.eu
|
1779
|
+
meinmicrokredit.de
|
1780
|
+
meinmicrokredit.org
|
1781
|
+
meinmikrocredit.com
|
1782
|
+
meinmikrocredit.de
|
1783
|
+
meinmikrocredit.eu
|
1784
|
+
meinmikrokredit.de
|
1785
|
+
met4aviation.com
|
1786
|
+
met4aviation.de
|
1787
|
+
met4aviation.eu
|
1788
|
+
met4pilot.com
|
1789
|
+
met4pilot.de
|
1790
|
+
met4pilot.eu
|
1791
|
+
meteoalarm.de
|
1792
|
+
metlis.eu
|
1793
|
+
mindestlohn-gilt.de
|
1794
|
+
mindestlohn-kommt.de
|
1795
|
+
mindestlohn-wirkt.de
|
1796
|
+
mitneuemmut.de
|
1797
|
+
mks-dialog.de
|
1798
|
+
mo-ro.net
|
1799
|
+
mo-ro.org
|
1800
|
+
monitoring-esf.de
|
1549
1801
|
mri.bund.de
|
1802
|
+
naturgefahrenforschung.de
|
1803
|
+
netzallianz-digitales-deutschland.de
|
1804
|
+
netzallianzdeutschland.de
|
1805
|
+
netzwerk-alleinerziehende.de
|
1806
|
+
neue-qualitaet-der-arbeit.de
|
1807
|
+
neuekulturderarbeit.de
|
1808
|
+
neues-jobcenter.de
|
1809
|
+
oberpruefungsamt.de
|
1810
|
+
ohnedichkeinwir.de
|
1811
|
+
ombudsrad.de
|
1812
|
+
ombudsrat.de
|
1813
|
+
ombudsrat.info
|
1814
|
+
ombudsrat.net
|
1815
|
+
ombudsrat.org
|
1816
|
+
pc-met.eu
|
1817
|
+
pcmet.com
|
1818
|
+
pcmet.de
|
1550
1819
|
pei.de
|
1820
|
+
pollenflugvorhersage.eu
|
1821
|
+
projekt-persoenliches-budget.de
|
1822
|
+
psyga-check.de
|
1551
1823
|
ptb.de
|
1824
|
+
punktereform.de
|
1825
|
+
radwegdeutscheeinheit.de
|
1826
|
+
raps-benchmark.de
|
1827
|
+
rccra6.org
|
1828
|
+
rentenpaket.de
|
1829
|
+
rentenreformpaket.de
|
1552
1830
|
rki.de
|
1831
|
+
rth-offenbach.eu
|
1832
|
+
seewis.de
|
1833
|
+
segelflugwetter.de
|
1834
|
+
segelflugwetter.eu
|
1835
|
+
selberhandeln.de
|
1836
|
+
sgb2-kennzahlen.de
|
1837
|
+
sgb2-reform.de
|
1838
|
+
sgb2.com
|
1839
|
+
sgb2.eu
|
1840
|
+
sgb2.info
|
1841
|
+
sgb2.net
|
1842
|
+
sgb2.org
|
1843
|
+
sgbii-kennzahlen.de
|
1844
|
+
sgbii.com
|
1845
|
+
sgbii.eu
|
1846
|
+
sgbii.net
|
1847
|
+
sgbii.org
|
1848
|
+
sgbzwei.com
|
1849
|
+
sgbzwei.de
|
1850
|
+
sgbzwei.eu
|
1851
|
+
sgbzwei.info
|
1852
|
+
sgbzwei.net
|
1853
|
+
sgbzwei.org
|
1854
|
+
sozialbeirat.de
|
1855
|
+
soziale-entschaedigung.de
|
1856
|
+
sozialministerium.eu
|
1857
|
+
sozialpolitische-informationen.de
|
1858
|
+
sozialversicherungswahlen.de
|
1859
|
+
sozialwahl2011.de
|
1860
|
+
tagderjobcenter.de
|
1861
|
+
technisches-referendariat.de
|
1862
|
+
teilzeit-info.de
|
1863
|
+
the-unseen.org
|
1864
|
+
tln-mobility.eu
|
1865
|
+
trivis.de
|
1553
1866
|
umweltbundesamt.de
|
1867
|
+
un-behindertenrechtskonvention.de
|
1868
|
+
un-koordinierungsstelle.de
|
1869
|
+
uniohneabi.de
|
1870
|
+
unsere-rente.com
|
1871
|
+
unsere-rente.info
|
1872
|
+
unternehmens-wert-mensch.de
|
1873
|
+
unternehmensservice-demografie.de
|
1874
|
+
unternehmensservice-demographie.de
|
1875
|
+
usd-portal.de
|
1876
|
+
uv-index.de
|
1877
|
+
uv-index.eu
|
1878
|
+
vereint-fuer-gemeinsame-bildung.de
|
1879
|
+
vereint-für-gemeinsame-bildung.de
|
1880
|
+
vereintaktiv.de
|
1554
1881
|
verfassungsschutz.de
|
1882
|
+
verkehrsminister.de
|
1883
|
+
verkehrsministerium.de
|
1884
|
+
vier-punkt-null.de
|
1555
1885
|
vti.bund.de
|
1886
|
+
was-ist-gute-arbeit.de
|
1887
|
+
we-are-open.info
|
1888
|
+
wettergefahren.de
|
1889
|
+
wettergefahren.eu
|
1890
|
+
wetterlexikon.eu
|
1891
|
+
wetterwarnungen.eu
|
1892
|
+
wiewerdenwirarbeiten.de
|
1893
|
+
wiewollenwirarbeiten.de
|
1894
|
+
willkommenindeutschland.info
|
1556
1895
|
wsv.de
|
1896
|
+
xenos-de.de
|
1897
|
+
yes-we-are-open.info
|
1898
|
+
yesweareopen.de
|
1899
|
+
zielvereinbarungsregister.de
|
1557
1900
|
zivit.de
|
1558
1901
|
zoll.de
|
1902
|
+
zukunftbreitband.de
|
1559
1903
|
|
1560
1904
|
// German Municipalities
|
1561
1905
|
aachen.de
|
@@ -5605,6 +5949,7 @@ townofberwick.org
|
|
5605
5949
|
townofblanchard.us
|
5606
5950
|
townofchatham.org
|
5607
5951
|
townoffranklinton.com
|
5952
|
+
townofgoldenmeadow.com
|
5608
5953
|
townoflivingston.com
|
5609
5954
|
townoflockport.com
|
5610
5955
|
townofwelsh.com
|
@@ -6566,6 +6911,7 @@ boonslick.org
|
|
6566
6911
|
boonville-mo.org
|
6567
6912
|
brentwoodmo.org
|
6568
6913
|
bridgetonmo.com
|
6914
|
+
buffalomissouri.us
|
6569
6915
|
byrnesmill.org
|
6570
6916
|
cabool.org
|
6571
6917
|
camdentoncity.com
|
@@ -6784,6 +7130,7 @@ willowspringsmo.com
|
|
6784
7130
|
wrightcity.org
|
6785
7131
|
|
6786
7132
|
// usagovMP
|
7133
|
+
gov.mp
|
6787
7134
|
mymarianas.com
|
6788
7135
|
|
6789
7136
|
// usagovMS
|
@@ -6897,6 +7244,7 @@ beaverheadcounty.org
|
|
6897
7244
|
bozeman.net
|
6898
7245
|
browningmontana.com
|
6899
7246
|
cartercountymt.info
|
7247
|
+
cfcwesternmontana.org
|
6900
7248
|
cityofcolstrip.com
|
6901
7249
|
cityofcolumbiafalls.org
|
6902
7250
|
cityofcutbank.org
|
@@ -7961,6 +8309,7 @@ merchantville.com
|
|
7961
8309
|
metuchennj.org
|
7962
8310
|
middletownnj.org
|
7963
8311
|
middletownship.com
|
8312
|
+
milfordnj.org
|
7964
8313
|
millstone.nj.us
|
7965
8314
|
millstoneboro.org
|
7966
8315
|
milltownnj.org
|
@@ -8154,6 +8503,7 @@ wanaqueborough.com
|
|
8154
8503
|
wantagetwp.com
|
8155
8504
|
warrennj.org
|
8156
8505
|
washington-twp-warren.org
|
8506
|
+
washington-twp.org
|
8157
8507
|
washingtonboro-nj.org
|
8158
8508
|
washtwpmorris.org
|
8159
8509
|
watchungnj.com
|
@@ -8432,6 +8782,7 @@ alleganyco.com
|
|
8432
8782
|
altamontvillage.org
|
8433
8783
|
amherst.ny.us
|
8434
8784
|
amityville.com
|
8785
|
+
angelica-ny.com
|
8435
8786
|
ardsleyvillage.com
|
8436
8787
|
argyleny.com
|
8437
8788
|
arkport.com
|
@@ -10272,6 +10623,7 @@ townofbriarcliffe.us
|
|
10272
10623
|
townofcampobello.com
|
10273
10624
|
townofedistobeach.com
|
10274
10625
|
townofgraycourt.net
|
10626
|
+
townofheathsprings.org
|
10275
10627
|
townofhollywood.org
|
10276
10628
|
townofhoneapath.com
|
10277
10629
|
townofirmosc.com
|
@@ -11139,6 +11491,7 @@ proctorvermont.com
|
|
11139
11491
|
putneyvt.org
|
11140
11492
|
richfordvt.com
|
11141
11493
|
richmondvt.com
|
11494
|
+
riptonvt.org
|
11142
11495
|
rochestervermont.org
|
11143
11496
|
rockbf.org
|
11144
11497
|
royaltonvt.com
|
data/gman.gemspec
CHANGED
@@ -30,5 +30,7 @@ Gem::Specification.new do |s|
|
|
30
30
|
s.add_development_dependency( "pry" )
|
31
31
|
s.add_development_dependency( "parallel" )
|
32
32
|
s.add_development_dependency( "mechanize" )
|
33
|
+
s.add_development_dependency( "addressable" )
|
34
|
+
s.add_development_dependency( "ruby-prof" )
|
33
35
|
|
34
36
|
end
|
data/lib/gman.rb
CHANGED
@@ -16,7 +16,7 @@ class Gman
|
|
16
16
|
# returns an instance of our custom public suffix list
|
17
17
|
# list behaves like PublicSuffix::List but is limited to our whitelisted domains
|
18
18
|
def list
|
19
|
-
|
19
|
+
@@list ||= PublicSuffix::List::parse(list_contents)
|
20
20
|
end
|
21
21
|
|
22
22
|
def config_path
|
@@ -29,7 +29,7 @@ class Gman
|
|
29
29
|
end
|
30
30
|
|
31
31
|
def list_contents
|
32
|
-
|
32
|
+
@@list_contents ||= File.new(list_path, "r:utf-8").read
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
@@ -37,21 +37,25 @@ class Gman
|
|
37
37
|
#
|
38
38
|
# Returns boolean true if a government domain
|
39
39
|
def valid?
|
40
|
-
|
41
|
-
return false unless domain && domain.valid?
|
40
|
+
return @valid if defined? @valid
|
42
41
|
|
43
|
-
|
44
|
-
|
42
|
+
@valid = begin
|
43
|
+
# Ensure it's a valid domain
|
44
|
+
return false unless domain && domain.valid?
|
45
45
|
|
46
|
-
|
47
|
-
|
46
|
+
# Ensure non-edu
|
47
|
+
return false if Swot::is_academic?(domain)
|
48
48
|
|
49
|
-
|
50
|
-
|
49
|
+
# Check for locality by regex
|
50
|
+
return true if locality?
|
51
51
|
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
52
|
+
# check using public suffix's standard logic
|
53
|
+
rule = Gman.list.find(to_s)
|
54
|
+
|
55
|
+
# domain is on the domain list and
|
56
|
+
# domain is not explicitly blacklisted and
|
57
|
+
# domain matches a standard public suffix list rule
|
58
|
+
!rule.nil? && rule.type != :exception && rule.allow?(".#{domain}")
|
59
|
+
end
|
56
60
|
end
|
57
61
|
end
|
data/lib/gman/country_codes.rb
CHANGED
@@ -22,11 +22,13 @@ class Gman
|
|
22
22
|
# e.g., United States = US, United Kingdom = GB
|
23
23
|
def alpha2
|
24
24
|
return unless domain
|
25
|
-
alpha2
|
26
|
-
|
27
|
-
ALPHA2_MAP[alpha2.to_sym]
|
28
|
-
|
29
|
-
|
25
|
+
@alpha2 ||= begin
|
26
|
+
alpha2 = domain.tld.split('.').last
|
27
|
+
if ALPHA2_MAP[alpha2.to_sym]
|
28
|
+
ALPHA2_MAP[alpha2.to_sym]
|
29
|
+
else
|
30
|
+
alpha2
|
31
|
+
end
|
30
32
|
end
|
31
33
|
end
|
32
34
|
|
@@ -36,8 +38,11 @@ class Gman
|
|
36
38
|
# Gman.new("foo.gov").country.name => "United States"
|
37
39
|
# Gman.new("foo.gov").country.currency => "USD"
|
38
40
|
def country
|
39
|
-
@country
|
40
|
-
|
41
|
-
|
41
|
+
return @country if defined? @country
|
42
|
+
@country ||= begin
|
43
|
+
IsoCountryCodes.find(alpha2) if alpha2
|
44
|
+
rescue IsoCountryCodes::UnknownCodeError
|
45
|
+
nil
|
46
|
+
end
|
42
47
|
end
|
43
48
|
end
|
data/lib/gman/domain_list.rb
CHANGED
data/lib/gman/identifier.rb
CHANGED
@@ -94,7 +94,8 @@ class Gman
|
|
94
94
|
end
|
95
95
|
|
96
96
|
def matches
|
97
|
-
@matches
|
97
|
+
return @matches if defined? @matches
|
98
|
+
@matches = domain.to_s.match(LOCALITY_REGEX)
|
98
99
|
end
|
99
100
|
|
100
101
|
def self.dotgov_list_path
|
@@ -102,10 +103,11 @@ class Gman
|
|
102
103
|
end
|
103
104
|
|
104
105
|
def self.dotgov_list
|
105
|
-
|
106
|
+
@@dotgov_list ||= CSV.read(dotgov_list_path, :headers => true)
|
106
107
|
end
|
107
108
|
|
108
109
|
def dotgov_listing
|
109
|
-
@dotgov_listing
|
110
|
+
return @dotgov_listing if defined? @dotgov_listing
|
111
|
+
@dotgov_listing = Gman.dotgov_list.find { |d| d["Domain Name"].downcase == "#{domain.sld}.gov" } if dotgov?
|
110
112
|
end
|
111
113
|
end
|
data/lib/gman/importer.rb
CHANGED
@@ -2,8 +2,8 @@
|
|
2
2
|
# Only used in development and not loaded by default
|
3
3
|
require 'yaml'
|
4
4
|
require 'open-uri'
|
5
|
-
require '
|
6
|
-
require '
|
5
|
+
require 'resolv'
|
6
|
+
require 'logger'
|
7
7
|
require_relative '../gman'
|
8
8
|
require_relative './domain_list'
|
9
9
|
|
@@ -119,18 +119,16 @@ class Gman
|
|
119
119
|
end
|
120
120
|
|
121
121
|
def resolver
|
122
|
-
@resolver ||=
|
123
|
-
resolver = Net::DNS::Resolver.new
|
124
|
-
resolver.nameservers = ["8.8.8.8","8.8.4.4"]
|
125
|
-
resolver
|
126
|
-
end
|
122
|
+
@resolver ||= Resolv::DNS.new(:nameserver => ["8.8.8.8","8.8.4.4"])
|
127
123
|
end
|
128
124
|
|
129
125
|
# Verifies that the given domain has an MX record, and thus is valid
|
130
126
|
def domain_resolves?(domain)
|
131
|
-
|
132
|
-
resolver.
|
133
|
-
resolver.
|
127
|
+
domain = Addressable::URI.new(:host => domain).normalize.host
|
128
|
+
resolver.getresource(domain, Resolv::DNS::Resource::IN::NS) ||
|
129
|
+
resolver.getresource(domain, Resolv::DNS::Resource::IN::MX)
|
130
|
+
rescue Resolv::ResolvError
|
131
|
+
false
|
134
132
|
end
|
135
133
|
end
|
136
134
|
end
|
data/lib/gman/version.rb
CHANGED
data/script/vendor
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
#Runs all vendor scripts except script/vendor-nl
|
3
|
+
|
4
|
+
for file in script/vendor-*; do
|
5
|
+
if [ "$file" != "script/vendor-nl" ]; then
|
6
|
+
echo "*************************************"
|
7
|
+
echo "Vendoring $file"
|
8
|
+
echo "*************************************"
|
9
|
+
"$file"
|
10
|
+
fi
|
11
|
+
done
|
data/script/vendor-federal-de
CHANGED
@@ -7,7 +7,7 @@ require './lib/gman/importer'
|
|
7
7
|
|
8
8
|
url = "https://raw.githubusercontent.com/robbi5/german-gov-domains/master/data/domains.csv"
|
9
9
|
|
10
|
-
domains = open(url).read.
|
10
|
+
domains = open(url).read.encode("UTF-8")
|
11
11
|
domains = CSV.parse(domains, :headers => true)
|
12
12
|
domains = domains.map { |row| row["Domain Name"] }
|
13
13
|
|
data/script/vendor-nl
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
require 'fileutils'
|
5
5
|
|
6
6
|
FileUtils.rm_rf("almanak.overheid.nl")
|
7
|
-
domains = `wget -r -np https://almanak.overheid.nl/
|
7
|
+
domains = `wget -q -r -nc -np https://almanak.overheid.nl/
|
8
8
|
grep @ -rI almanak.overheid.nl/|cut -f 2 -d @|cut -f 1 -d '"'|grep \\.nl$|sort|uniq`
|
9
9
|
|
10
10
|
Gman.import("Netherlands" => domains.split("\n"))
|
data/script/vendor-us
CHANGED
@@ -12,11 +12,24 @@
|
|
12
12
|
|
13
13
|
require './lib/gman/importer'
|
14
14
|
|
15
|
-
source = "https://raw.githubusercontent.com/GSA/govt-urls/master/government-urls.yaml"
|
16
15
|
blacklist = ["usagovQUASI"]
|
16
|
+
source = "https://raw.githubusercontent.com/GSA/govt-urls/master/government-urls-hierarchical-list.txt"
|
17
17
|
|
18
18
|
data = open(source).read
|
19
|
-
|
20
|
-
|
19
|
+
data = data.split("__________________________________________________________________________")
|
20
|
+
data = data.last.strip
|
21
|
+
data = data.split(/\r?\n/).reject { |r| r.empty? }
|
22
|
+
|
23
|
+
domains = {}
|
24
|
+
group = ""
|
25
|
+
data.each do |row|
|
26
|
+
if row =~ /^\w/
|
27
|
+
group = row
|
28
|
+
domains[group] = []
|
29
|
+
else
|
30
|
+
domains[group].push row.sub("\.\t", "").strip
|
31
|
+
end
|
32
|
+
end
|
21
33
|
|
34
|
+
domains.reject! { |group,domain| blacklist.include?(group) }
|
22
35
|
Gman.import(domains)
|
data/test/helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gman
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.0.
|
4
|
+
version: 5.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Balter
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-09-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: swot
|
@@ -164,6 +164,34 @@ dependencies:
|
|
164
164
|
- - ">="
|
165
165
|
- !ruby/object:Gem::Version
|
166
166
|
version: '0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: addressable
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ">="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: ruby-prof
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - ">="
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '0'
|
188
|
+
type: :development
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - ">="
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '0'
|
167
195
|
description: A ruby gem to check if the owner of a given email address is working
|
168
196
|
for THE MAN.
|
169
197
|
email: ben.balter@github.com
|
@@ -202,6 +230,7 @@ files:
|
|
202
230
|
- script/profile
|
203
231
|
- script/prune
|
204
232
|
- script/release
|
233
|
+
- script/vendor
|
205
234
|
- script/vendor-federal-de
|
206
235
|
- script/vendor-gov-list
|
207
236
|
- script/vendor-municipal-de
|