diff --git a/pkgs/tools/networking/photon/default.nix b/pkgs/tools/networking/photon/default.nix new file mode 100644 index 000000000000..aa5a3e9f6f11 --- /dev/null +++ b/pkgs/tools/networking/photon/default.nix @@ -0,0 +1,40 @@ +{ stdenv, pythonPackages, fetchurl, makeWrapper }: + +with pythonPackages; +buildPythonApplication rec { + pname = "photon"; + version = "1.0.7"; + + src = fetchurl { + url = "https://github.com/s0md3v/Photon/archive/v${version}.tar.gz"; + sha256 = "0c5l1sbkkagfxmh8v7yvi6z58mhqbwjyr7fczb5qwxm7la42ah9y"; + }; + + patches = [ ./destdir.patch ]; + postPatch = '' + substituteInPlace photon.py --replace DESTDIR $out/share/photon + ''; + + dontBuild = true; + doCheck = false; + propagatedBuildInputs = [ + requests + urllib3 + ]; + + installPhase = '' + mkdir -p "$out"/{bin,share/photon} + cp -R photon.py core plugins $out/share/photon + + makeWrapper ${python.interpreter} $out/bin/photon \ + --set PYTHONPATH "$PYTHONPATH:$out/share/photon" \ + --add-flags "-O $out/share/photon/photon.py" + ''; + + meta = with stdenv.lib; { + description = "a lightning fast web crawler which extracts URLs, files, intel & endpoints from a target"; + homepage = https://github.com/s0md3v/Photon; + license = licenses.gpl3; + maintainers = with maintainers; [ genesis ]; + }; +} diff --git a/pkgs/tools/networking/photon/destdir.patch b/pkgs/tools/networking/photon/destdir.patch new file mode 100644 index 000000000000..e6cf997f2e7c --- /dev/null +++ b/pkgs/tools/networking/photon/destdir.patch @@ -0,0 +1,20 @@ +diff --git a/photon.py.old b/photon.py +index 92498e4..f7e2c3d 100644 +--- a/photon.py.old ++++ b/photon.py +@@ -185,7 +185,7 @@ if args.user_agent: + user_agents = args.user_agent.split(',') + else: + user_agents = [] +- with open(os.getcwd() + '/core/user-agents.txt', 'r') as uas: ++ with open('DESTDIR/core/user-agents.txt', 'r') as uas: + for agent in uas: + user_agents.append(agent.strip('\n')) + +@@ -534,4 +534,4 @@ if args.export: + if not colors: # if colors are disabled + print ('%s Results saved in %s directory' % (good, output_dir)) + else: +- print ('%s Results saved in \033[;1m%s\033[0m directory' % (good, output_dir)) +\ No newline at end of file ++ print ('%s Results saved in \033[;1m%s\033[0m directory' % (good, output_dir)) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0ae3f49c4432..3aa9a1bb35c6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1444,6 +1444,8 @@ with pkgs; pbzx = callPackage ../tools/compression/pbzx { }; + photon = callPackage ../tools/networking/photon { }; + playerctl = callPackage ../tools/audio/playerctl { }; ps_mem = callPackage ../tools/system/ps_mem { };