nixpkgs/pkgs/tools/security/theharvester/default.nix
2021-01-18 07:49:46 +01:00

58 lines
1.4 KiB
Nix

{ lib
, fetchFromGitHub
, python3
}:
python3.pkgs.buildPythonApplication rec {
pname = "theHarvester";
version = "3.2.2";
src = fetchFromGitHub {
owner = "laramies";
repo = pname;
rev = "V${version}";
sha256 = "0lxzxfa9wbzim50d2jmd27i57szd0grm1dfayhnym86jn01qpvn3";
};
propagatedBuildInputs = with python3.pkgs; [
aiodns
aiohttp
aiomultiprocess
aiosqlite
beautifulsoup4
censys
certifi
dns
gevent
grequests
lxml
netaddr
plotly
pyppeteer
pyyaml
requests
retrying
shodan
texttable
uvloop
];
checkInputs = [ python3.pkgs.pytest ];
checkPhase = "runHook preCheck ; pytest tests/test_myparser.py ; runHook postCheck";
# We don't run other tests (discovery modules) because they require network access
meta = with lib; {
description = "Gather E-mails, subdomains and names from different public sources";
longDescription = ''
theHarvester is a very simple, yet effective tool designed to be used in the early
stages of a penetration test. Use it for open source intelligence gathering and
helping to determine an entity's external threat landscape on the internet. The tool
gathers emails, names, subdomains, IPs, and URLs using multiple public data sources.
'';
homepage = "https://github.com/laramies/theHarvester";
maintainers = with maintainers; [ c0bw3b treemo ];
license = licenses.gpl2Only;
};
}