diff --git a/pkgs/tools/security/gitjacker/default.nix b/pkgs/tools/security/gitjacker/default.nix new file mode 100644 index 00000000000..0b8c087eccd --- /dev/null +++ b/pkgs/tools/security/gitjacker/default.nix @@ -0,0 +1,43 @@ +{ lib +, buildGoModule +, fetchFromGitHub +, git +, stdenv +}: + +buildGoModule rec { + pname = "gitjacker"; + version = "0.0.2"; + + src = fetchFromGitHub { + owner = "liamg"; + repo = "gitjacker"; + rev = "v${version}"; + sha256 = "0fg95i2y8sj7dsvqj8mx0k5pps7d0h1i4a3lk85l8jjab4kxx8h9"; + }; + + vendorSha256 = null; + + propagatedBuildInputs = [ git ]; + + checkInputs = [ git ]; + + doCheck = !stdenv.isDarwin; + + preCheck = '' + export PATH=$TMPDIR/usr/bin:$PATH + ''; + + meta = with lib; { + description = "Leak git repositories from misconfigured websites"; + longDescription = '' + Gitjacker downloads git repositories and extracts their contents + from sites where the .git directory has been mistakenly uploaded. + It will still manage to recover a significant portion of a repository + even where directory listings are disabled. + ''; + homepage = "https://github.com/liamg/gitjacker"; + license = with licenses; [ unlicense ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5985483c4ed..dc49b02cc7a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2307,6 +2307,8 @@ in gist = callPackage ../tools/text/gist { }; + gitjacker = callPackage ../tools/security/gitjacker { }; + gixy = callPackage ../tools/admin/gixy { }; glpaper = callPackage ../development/tools/glpaper { };