diff options
author | wiz <wiz@pkgsrc.org> | 2016-06-30 17:48:21 +0000 |
---|---|---|
committer | wiz <wiz@pkgsrc.org> | 2016-06-30 17:48:21 +0000 |
commit | d879480392fdd3e80c26d995070f742b356b80aa (patch) | |
tree | d1b71a4cf53e0e2bd37724b6389ad4f922f02373 /net/py-dnsdiag | |
parent | b64835dd158bef52f06cd3f53cc903688a7a8ca5 (diff) | |
download | pkgsrc-d879480392fdd3e80c26d995070f742b356b80aa.tar.gz |
Import py-dnsdiag-1.5.0 as net/py-dnsdiag.
Ever been wondering if your ISP is hijacking your DNS traffic? Ever
observed any misbehavior with your DNS responses? Ever been redirected
to wrong address and suspected something is wrong with your DNS?
Here we have a set of tools to perform basic audits on your DNS
requests and responses to make sure your DNS is working as you
expect.
You can measure the response time of any given DNS server for
arbitrary requests using dnsping. Just like traditional ping utility,
it gives you similar functionality for DNS requests.
You can also trace the path your DNS request takes to destination
to make sure it is not being redirected or hijacked. This can be
done by comparing different DNS queries being sent to the same DNS
server using dnstraceroute and observe if there is any difference
between the path.
dnseval evaluates multiple DNS resolvers and helps you choose the
best DNS server for your network. While it is highly recommended
to use your own DNS resolver and never trust any third-party DNS
server, but in case you need to choose the best DNS forwarder for
your network, dnseval lets you compare different DNS servers from
performance (latency) and reliability (loss) point of view.
Diffstat (limited to 'net/py-dnsdiag')
-rw-r--r-- | net/py-dnsdiag/ALTERNATIVES | 3 | ||||
-rw-r--r-- | net/py-dnsdiag/DESCR | 23 | ||||
-rw-r--r-- | net/py-dnsdiag/Makefile | 28 | ||||
-rw-r--r-- | net/py-dnsdiag/PLIST | 285 | ||||
-rw-r--r-- | net/py-dnsdiag/distinfo | 6 |
5 files changed, 345 insertions, 0 deletions
diff --git a/net/py-dnsdiag/ALTERNATIVES b/net/py-dnsdiag/ALTERNATIVES new file mode 100644 index 00000000000..322e29071eb --- /dev/null +++ b/net/py-dnsdiag/ALTERNATIVES @@ -0,0 +1,3 @@ +bin/dnseval @PREFIX@/bin/dnseval-@PYVERSSUFFIX@ +bin/dnsping @PREFIX@/bin/dnsping-@PYVERSSUFFIX@ +bin/dnstraceroute @PREFIX@/bin/dnstraceroute-@PYVERSSUFFIX@ diff --git a/net/py-dnsdiag/DESCR b/net/py-dnsdiag/DESCR new file mode 100644 index 00000000000..263cfe28a83 --- /dev/null +++ b/net/py-dnsdiag/DESCR @@ -0,0 +1,23 @@ +Ever been wondering if your ISP is hijacking your DNS traffic? Ever +observed any misbehavior with your DNS responses? Ever been redirected +to wrong address and suspected something is wrong with your DNS? +Here we have a set of tools to perform basic audits on your DNS +requests and responses to make sure your DNS is working as you +expect. + +You can measure the response time of any given DNS server for +arbitrary requests using dnsping. Just like traditional ping utility, +it gives you similar functionality for DNS requests. + +You can also trace the path your DNS request takes to destination +to make sure it is not being redirected or hijacked. This can be +done by comparing different DNS queries being sent to the same DNS +server using dnstraceroute and observe if there is any difference +between the path. + +dnseval evaluates multiple DNS resolvers and helps you choose the +best DNS server for your network. While it is highly recommended +to use your own DNS resolver and never trust any third-party DNS +server, but in case you need to choose the best DNS forwarder for +your network, dnseval lets you compare different DNS servers from +performance (latency) and reliability (loss) point of view. diff --git a/net/py-dnsdiag/Makefile b/net/py-dnsdiag/Makefile new file mode 100644 index 00000000000..bf9eccd7fc3 --- /dev/null +++ b/net/py-dnsdiag/Makefile @@ -0,0 +1,28 @@ +# $NetBSD: Makefile,v 1.1 2016/06/30 17:48:21 wiz Exp $ + +DISTNAME= dnsdiag-1.5.0 +PKGNAME= ${PYPKGPREFIX}-${DISTNAME} +CATEGORIES= net +MASTER_SITES= ${MASTER_SITE_PYPI:=d/dnsdiag/} + +MAINTAINER= pkgsrc-users@NetBSD.org +HOMEPAGE= https://dnsdiag.org/ +COMMENT= DNS Diagnostics and Performance Measurement Tools +LICENSE= 2-clause-bsd + +DEPENDS+= ${PYPKGPREFIX}-dns-[0-9]*:../../net/py-dns +DEPENDS+= ${PYPKGPREFIX}-cymruwhois-[0-9]*:../../net/py-cymruwhois + +USE_LANGUAGES= # none + +PLIST_SUBST+= PYVERSSUFFIX=${PYVERSSUFFIX} +FILES_SUBST+= PYVERSSUFFIX=${PYVERSSUFFIX} + +post-install: + cd ${DESTDIR}${PREFIX}/bin && \ + for i in dnseval dnsping dnstraceroute; do \ + mv $$i $$i-${PYVERSSUFFIX}; \ + done + +.include "../../lang/python/egg.mk" +.include "../../mk/bsd.pkg.mk" diff --git a/net/py-dnsdiag/PLIST b/net/py-dnsdiag/PLIST new file mode 100644 index 00000000000..79f25469b6a --- /dev/null +++ b/net/py-dnsdiag/PLIST @@ -0,0 +1,285 @@ +@comment $NetBSD: PLIST,v 1.1 2016/06/30 17:48:21 wiz Exp $ +bin/dnseval-${PYVERSSUFFIX} +bin/dnsping-${PYVERSSUFFIX} +bin/dnstraceroute-${PYVERSSUFFIX} +${PYSITELIB}/${EGG_INFODIR}/PKG-INFO +${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt +${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt +${PYSITELIB}/${EGG_INFODIR}/entry_points.txt +${PYSITELIB}/${EGG_INFODIR}/top_level.txt +${PYSITELIB}/dns/__init__.py +${PYSITELIB}/dns/__init__.pyc +${PYSITELIB}/dns/__init__.pyo +${PYSITELIB}/dns/_compat.py +${PYSITELIB}/dns/_compat.pyc +${PYSITELIB}/dns/_compat.pyo +${PYSITELIB}/dns/dnssec.py +${PYSITELIB}/dns/dnssec.pyc +${PYSITELIB}/dns/dnssec.pyo +${PYSITELIB}/dns/e164.py +${PYSITELIB}/dns/e164.pyc +${PYSITELIB}/dns/e164.pyo +${PYSITELIB}/dns/edns.py +${PYSITELIB}/dns/edns.pyc +${PYSITELIB}/dns/edns.pyo +${PYSITELIB}/dns/entropy.py +${PYSITELIB}/dns/entropy.pyc +${PYSITELIB}/dns/entropy.pyo +${PYSITELIB}/dns/exception.py +${PYSITELIB}/dns/exception.pyc +${PYSITELIB}/dns/exception.pyo +${PYSITELIB}/dns/flags.py +${PYSITELIB}/dns/flags.pyc +${PYSITELIB}/dns/flags.pyo +${PYSITELIB}/dns/grange.py +${PYSITELIB}/dns/grange.pyc +${PYSITELIB}/dns/grange.pyo +${PYSITELIB}/dns/hash.py +${PYSITELIB}/dns/hash.pyc +${PYSITELIB}/dns/hash.pyo +${PYSITELIB}/dns/inet.py +${PYSITELIB}/dns/inet.pyc +${PYSITELIB}/dns/inet.pyo +${PYSITELIB}/dns/ipv4.py +${PYSITELIB}/dns/ipv4.pyc +${PYSITELIB}/dns/ipv4.pyo +${PYSITELIB}/dns/ipv6.py +${PYSITELIB}/dns/ipv6.pyc +${PYSITELIB}/dns/ipv6.pyo +${PYSITELIB}/dns/message.py +${PYSITELIB}/dns/message.pyc +${PYSITELIB}/dns/message.pyo +${PYSITELIB}/dns/name.py +${PYSITELIB}/dns/name.pyc +${PYSITELIB}/dns/name.pyo +${PYSITELIB}/dns/namedict.py +${PYSITELIB}/dns/namedict.pyc +${PYSITELIB}/dns/namedict.pyo +${PYSITELIB}/dns/node.py +${PYSITELIB}/dns/node.pyc +${PYSITELIB}/dns/node.pyo +${PYSITELIB}/dns/opcode.py +${PYSITELIB}/dns/opcode.pyc +${PYSITELIB}/dns/opcode.pyo +${PYSITELIB}/dns/query.py +${PYSITELIB}/dns/query.pyc +${PYSITELIB}/dns/query.pyo +${PYSITELIB}/dns/rcode.py +${PYSITELIB}/dns/rcode.pyc +${PYSITELIB}/dns/rcode.pyo +${PYSITELIB}/dns/rdata.py +${PYSITELIB}/dns/rdata.pyc +${PYSITELIB}/dns/rdata.pyo +${PYSITELIB}/dns/rdataclass.py +${PYSITELIB}/dns/rdataclass.pyc +${PYSITELIB}/dns/rdataclass.pyo +${PYSITELIB}/dns/rdataset.py +${PYSITELIB}/dns/rdataset.pyc +${PYSITELIB}/dns/rdataset.pyo +${PYSITELIB}/dns/rdatatype.py +${PYSITELIB}/dns/rdatatype.pyc +${PYSITELIB}/dns/rdatatype.pyo +${PYSITELIB}/dns/rdtypes/ANY/AFSDB.py +${PYSITELIB}/dns/rdtypes/ANY/AFSDB.pyc +${PYSITELIB}/dns/rdtypes/ANY/AFSDB.pyo +${PYSITELIB}/dns/rdtypes/ANY/CAA.py +${PYSITELIB}/dns/rdtypes/ANY/CAA.pyc +${PYSITELIB}/dns/rdtypes/ANY/CAA.pyo +${PYSITELIB}/dns/rdtypes/ANY/CDNSKEY.py +${PYSITELIB}/dns/rdtypes/ANY/CDNSKEY.pyc +${PYSITELIB}/dns/rdtypes/ANY/CDNSKEY.pyo +${PYSITELIB}/dns/rdtypes/ANY/CDS.py +${PYSITELIB}/dns/rdtypes/ANY/CDS.pyc +${PYSITELIB}/dns/rdtypes/ANY/CDS.pyo +${PYSITELIB}/dns/rdtypes/ANY/CERT.py +${PYSITELIB}/dns/rdtypes/ANY/CERT.pyc +${PYSITELIB}/dns/rdtypes/ANY/CERT.pyo +${PYSITELIB}/dns/rdtypes/ANY/CNAME.py +${PYSITELIB}/dns/rdtypes/ANY/CNAME.pyc +${PYSITELIB}/dns/rdtypes/ANY/CNAME.pyo +${PYSITELIB}/dns/rdtypes/ANY/CSYNC.py +${PYSITELIB}/dns/rdtypes/ANY/CSYNC.pyc +${PYSITELIB}/dns/rdtypes/ANY/CSYNC.pyo +${PYSITELIB}/dns/rdtypes/ANY/DLV.py +${PYSITELIB}/dns/rdtypes/ANY/DLV.pyc +${PYSITELIB}/dns/rdtypes/ANY/DLV.pyo +${PYSITELIB}/dns/rdtypes/ANY/DNAME.py +${PYSITELIB}/dns/rdtypes/ANY/DNAME.pyc +${PYSITELIB}/dns/rdtypes/ANY/DNAME.pyo +${PYSITELIB}/dns/rdtypes/ANY/DNSKEY.py +${PYSITELIB}/dns/rdtypes/ANY/DNSKEY.pyc +${PYSITELIB}/dns/rdtypes/ANY/DNSKEY.pyo +${PYSITELIB}/dns/rdtypes/ANY/DS.py +${PYSITELIB}/dns/rdtypes/ANY/DS.pyc +${PYSITELIB}/dns/rdtypes/ANY/DS.pyo +${PYSITELIB}/dns/rdtypes/ANY/EUI48.py +${PYSITELIB}/dns/rdtypes/ANY/EUI48.pyc +${PYSITELIB}/dns/rdtypes/ANY/EUI48.pyo +${PYSITELIB}/dns/rdtypes/ANY/EUI64.py +${PYSITELIB}/dns/rdtypes/ANY/EUI64.pyc +${PYSITELIB}/dns/rdtypes/ANY/EUI64.pyo +${PYSITELIB}/dns/rdtypes/ANY/GPOS.py +${PYSITELIB}/dns/rdtypes/ANY/GPOS.pyc +${PYSITELIB}/dns/rdtypes/ANY/GPOS.pyo +${PYSITELIB}/dns/rdtypes/ANY/HINFO.py +${PYSITELIB}/dns/rdtypes/ANY/HINFO.pyc +${PYSITELIB}/dns/rdtypes/ANY/HINFO.pyo +${PYSITELIB}/dns/rdtypes/ANY/HIP.py +${PYSITELIB}/dns/rdtypes/ANY/HIP.pyc +${PYSITELIB}/dns/rdtypes/ANY/HIP.pyo +${PYSITELIB}/dns/rdtypes/ANY/ISDN.py +${PYSITELIB}/dns/rdtypes/ANY/ISDN.pyc +${PYSITELIB}/dns/rdtypes/ANY/ISDN.pyo +${PYSITELIB}/dns/rdtypes/ANY/LOC.py +${PYSITELIB}/dns/rdtypes/ANY/LOC.pyc +${PYSITELIB}/dns/rdtypes/ANY/LOC.pyo +${PYSITELIB}/dns/rdtypes/ANY/MX.py +${PYSITELIB}/dns/rdtypes/ANY/MX.pyc +${PYSITELIB}/dns/rdtypes/ANY/MX.pyo +${PYSITELIB}/dns/rdtypes/ANY/NS.py +${PYSITELIB}/dns/rdtypes/ANY/NS.pyc +${PYSITELIB}/dns/rdtypes/ANY/NS.pyo +${PYSITELIB}/dns/rdtypes/ANY/NSEC.py +${PYSITELIB}/dns/rdtypes/ANY/NSEC.pyc +${PYSITELIB}/dns/rdtypes/ANY/NSEC.pyo +${PYSITELIB}/dns/rdtypes/ANY/NSEC3.py +${PYSITELIB}/dns/rdtypes/ANY/NSEC3.pyc +${PYSITELIB}/dns/rdtypes/ANY/NSEC3.pyo +${PYSITELIB}/dns/rdtypes/ANY/NSEC3PARAM.py +${PYSITELIB}/dns/rdtypes/ANY/NSEC3PARAM.pyc +${PYSITELIB}/dns/rdtypes/ANY/NSEC3PARAM.pyo +${PYSITELIB}/dns/rdtypes/ANY/PTR.py +${PYSITELIB}/dns/rdtypes/ANY/PTR.pyc +${PYSITELIB}/dns/rdtypes/ANY/PTR.pyo +${PYSITELIB}/dns/rdtypes/ANY/RP.py +${PYSITELIB}/dns/rdtypes/ANY/RP.pyc +${PYSITELIB}/dns/rdtypes/ANY/RP.pyo +${PYSITELIB}/dns/rdtypes/ANY/RRSIG.py +${PYSITELIB}/dns/rdtypes/ANY/RRSIG.pyc +${PYSITELIB}/dns/rdtypes/ANY/RRSIG.pyo +${PYSITELIB}/dns/rdtypes/ANY/RT.py +${PYSITELIB}/dns/rdtypes/ANY/RT.pyc +${PYSITELIB}/dns/rdtypes/ANY/RT.pyo +${PYSITELIB}/dns/rdtypes/ANY/SOA.py +${PYSITELIB}/dns/rdtypes/ANY/SOA.pyc +${PYSITELIB}/dns/rdtypes/ANY/SOA.pyo +${PYSITELIB}/dns/rdtypes/ANY/SPF.py +${PYSITELIB}/dns/rdtypes/ANY/SPF.pyc +${PYSITELIB}/dns/rdtypes/ANY/SPF.pyo +${PYSITELIB}/dns/rdtypes/ANY/SSHFP.py +${PYSITELIB}/dns/rdtypes/ANY/SSHFP.pyc +${PYSITELIB}/dns/rdtypes/ANY/SSHFP.pyo +${PYSITELIB}/dns/rdtypes/ANY/TLSA.py +${PYSITELIB}/dns/rdtypes/ANY/TLSA.pyc +${PYSITELIB}/dns/rdtypes/ANY/TLSA.pyo +${PYSITELIB}/dns/rdtypes/ANY/TXT.py +${PYSITELIB}/dns/rdtypes/ANY/TXT.pyc +${PYSITELIB}/dns/rdtypes/ANY/TXT.pyo +${PYSITELIB}/dns/rdtypes/ANY/URI.py +${PYSITELIB}/dns/rdtypes/ANY/URI.pyc +${PYSITELIB}/dns/rdtypes/ANY/URI.pyo +${PYSITELIB}/dns/rdtypes/ANY/X25.py +${PYSITELIB}/dns/rdtypes/ANY/X25.pyc +${PYSITELIB}/dns/rdtypes/ANY/X25.pyo +${PYSITELIB}/dns/rdtypes/ANY/__init__.py +${PYSITELIB}/dns/rdtypes/ANY/__init__.pyc +${PYSITELIB}/dns/rdtypes/ANY/__init__.pyo +${PYSITELIB}/dns/rdtypes/IN/A.py +${PYSITELIB}/dns/rdtypes/IN/A.pyc +${PYSITELIB}/dns/rdtypes/IN/A.pyo +${PYSITELIB}/dns/rdtypes/IN/AAAA.py +${PYSITELIB}/dns/rdtypes/IN/AAAA.pyc +${PYSITELIB}/dns/rdtypes/IN/AAAA.pyo +${PYSITELIB}/dns/rdtypes/IN/APL.py +${PYSITELIB}/dns/rdtypes/IN/APL.pyc +${PYSITELIB}/dns/rdtypes/IN/APL.pyo +${PYSITELIB}/dns/rdtypes/IN/DHCID.py +${PYSITELIB}/dns/rdtypes/IN/DHCID.pyc +${PYSITELIB}/dns/rdtypes/IN/DHCID.pyo +${PYSITELIB}/dns/rdtypes/IN/IPSECKEY.py +${PYSITELIB}/dns/rdtypes/IN/IPSECKEY.pyc +${PYSITELIB}/dns/rdtypes/IN/IPSECKEY.pyo +${PYSITELIB}/dns/rdtypes/IN/KX.py +${PYSITELIB}/dns/rdtypes/IN/KX.pyc +${PYSITELIB}/dns/rdtypes/IN/KX.pyo +${PYSITELIB}/dns/rdtypes/IN/NAPTR.py +${PYSITELIB}/dns/rdtypes/IN/NAPTR.pyc +${PYSITELIB}/dns/rdtypes/IN/NAPTR.pyo +${PYSITELIB}/dns/rdtypes/IN/NSAP.py +${PYSITELIB}/dns/rdtypes/IN/NSAP.pyc +${PYSITELIB}/dns/rdtypes/IN/NSAP.pyo +${PYSITELIB}/dns/rdtypes/IN/NSAP_PTR.py +${PYSITELIB}/dns/rdtypes/IN/NSAP_PTR.pyc +${PYSITELIB}/dns/rdtypes/IN/NSAP_PTR.pyo +${PYSITELIB}/dns/rdtypes/IN/PX.py +${PYSITELIB}/dns/rdtypes/IN/PX.pyc +${PYSITELIB}/dns/rdtypes/IN/PX.pyo +${PYSITELIB}/dns/rdtypes/IN/SRV.py +${PYSITELIB}/dns/rdtypes/IN/SRV.pyc +${PYSITELIB}/dns/rdtypes/IN/SRV.pyo +${PYSITELIB}/dns/rdtypes/IN/WKS.py +${PYSITELIB}/dns/rdtypes/IN/WKS.pyc +${PYSITELIB}/dns/rdtypes/IN/WKS.pyo +${PYSITELIB}/dns/rdtypes/IN/__init__.py +${PYSITELIB}/dns/rdtypes/IN/__init__.pyc +${PYSITELIB}/dns/rdtypes/IN/__init__.pyo +${PYSITELIB}/dns/rdtypes/__init__.py +${PYSITELIB}/dns/rdtypes/__init__.pyc +${PYSITELIB}/dns/rdtypes/__init__.pyo +${PYSITELIB}/dns/rdtypes/dnskeybase.py +${PYSITELIB}/dns/rdtypes/dnskeybase.pyc +${PYSITELIB}/dns/rdtypes/dnskeybase.pyo +${PYSITELIB}/dns/rdtypes/dsbase.py +${PYSITELIB}/dns/rdtypes/dsbase.pyc +${PYSITELIB}/dns/rdtypes/dsbase.pyo +${PYSITELIB}/dns/rdtypes/euibase.py +${PYSITELIB}/dns/rdtypes/euibase.pyc +${PYSITELIB}/dns/rdtypes/euibase.pyo +${PYSITELIB}/dns/rdtypes/mxbase.py +${PYSITELIB}/dns/rdtypes/mxbase.pyc +${PYSITELIB}/dns/rdtypes/mxbase.pyo +${PYSITELIB}/dns/rdtypes/nsbase.py +${PYSITELIB}/dns/rdtypes/nsbase.pyc +${PYSITELIB}/dns/rdtypes/nsbase.pyo +${PYSITELIB}/dns/rdtypes/txtbase.py +${PYSITELIB}/dns/rdtypes/txtbase.pyc +${PYSITELIB}/dns/rdtypes/txtbase.pyo +${PYSITELIB}/dns/renderer.py +${PYSITELIB}/dns/renderer.pyc +${PYSITELIB}/dns/renderer.pyo +${PYSITELIB}/dns/resolver.py +${PYSITELIB}/dns/resolver.pyc +${PYSITELIB}/dns/resolver.pyo +${PYSITELIB}/dns/reversename.py +${PYSITELIB}/dns/reversename.pyc +${PYSITELIB}/dns/reversename.pyo +${PYSITELIB}/dns/rrset.py +${PYSITELIB}/dns/rrset.pyc +${PYSITELIB}/dns/rrset.pyo +${PYSITELIB}/dns/set.py +${PYSITELIB}/dns/set.pyc +${PYSITELIB}/dns/set.pyo +${PYSITELIB}/dns/tokenizer.py +${PYSITELIB}/dns/tokenizer.pyc +${PYSITELIB}/dns/tokenizer.pyo +${PYSITELIB}/dns/tsig.py +${PYSITELIB}/dns/tsig.pyc +${PYSITELIB}/dns/tsig.pyo +${PYSITELIB}/dns/tsigkeyring.py +${PYSITELIB}/dns/tsigkeyring.pyc +${PYSITELIB}/dns/tsigkeyring.pyo +${PYSITELIB}/dns/ttl.py +${PYSITELIB}/dns/ttl.pyc +${PYSITELIB}/dns/ttl.pyo +${PYSITELIB}/dns/update.py +${PYSITELIB}/dns/update.pyc +${PYSITELIB}/dns/update.pyo +${PYSITELIB}/dns/version.py +${PYSITELIB}/dns/version.pyc +${PYSITELIB}/dns/version.pyo +${PYSITELIB}/dns/wiredata.py +${PYSITELIB}/dns/wiredata.pyc +${PYSITELIB}/dns/wiredata.pyo +${PYSITELIB}/dns/zone.py +${PYSITELIB}/dns/zone.pyc +${PYSITELIB}/dns/zone.pyo diff --git a/net/py-dnsdiag/distinfo b/net/py-dnsdiag/distinfo new file mode 100644 index 00000000000..3bc77c682d0 --- /dev/null +++ b/net/py-dnsdiag/distinfo @@ -0,0 +1,6 @@ +$NetBSD: distinfo,v 1.1 2016/06/30 17:48:21 wiz Exp $ + +SHA1 (dnsdiag-1.5.0.tar.gz) = e1dc9bead6ec5027b383f51c6f95350b9379e3c7 +RMD160 (dnsdiag-1.5.0.tar.gz) = 84d97d56d8a4f26e9c0484354c1294230920ebaa +SHA512 (dnsdiag-1.5.0.tar.gz) = 9fbe4d34916766c3b311b1c8f2993ebff252adb3ae3f059d64c7a238f5cc1fb96ef3ab51442623ceec437ea3a94e0bef4bc289dc9d4cca8cca67535a692d89ba +Size (dnsdiag-1.5.0.tar.gz) = 100375 bytes |