gman 5.0.1 → 5.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|