chromium,chromedriver: 129.0.6668.91 -> 129.0.6668.100
[NixPkgs.git] / pkgs / by-name / di / dirbuster / package.nix
blob59b41efab6ea7999c972627f9660d58f486f9623
1 { lib
2 , stdenv
3 , fetchurl
4 , makeBinaryWrapper
5 , copyDesktopItems
6 , makeDesktopItem
7 , unzip
8 , jdk8
9 }:
11 stdenv.mkDerivation (finalAttrs: {
12   pname = "dirbuster";
13   version = "1.0-RC1";
15   src = fetchurl {
16     url = "mirror://sourceforge/dirbuster/DirBuster%20(jar%20%2B%20lists)/${finalAttrs.version}/DirBuster-${finalAttrs.version}.tar.bz2";
17     hash = "sha256-UoEt1NkaLsKux3lr+AB+TZCCshQs2hIo63igT39V68E=";
18   };
20   desktopItems = [
21     (makeDesktopItem {
22       name = "dirbuster";
23       desktopName = "OWASP DirBuster";
24       exec = "dirbuster";
25       icon = "dirbuster";
26       comment = "Web Application Brute Forcing";
27       categories = [ "Network" ];
28     })
29   ];
31   nativeBuildInputs = [
32     makeBinaryWrapper
33     copyDesktopItems
34     unzip
35   ];
37   installPhase = ''
38     runHook preInstall
40     export JAR=$out/share/java/dirbuster.jar
41     install -Dm444 DirBuster-${finalAttrs.version}.jar $JAR
42     makeWrapper ${jdk8}/bin/java $out/bin/dirbuster \
43       --add-flags "-Duser.dir=$out/share/dirbuster/" \
44       --add-flags "-Xmx256M" \
45       --add-flags "-jar $JAR"
47     cp -r lib/ $out/share/java/lib/
49     # Copy wordlists
50     mkdir -p $out/share/dirbuster
51     for f in *.txt; do
52       cp $f $out/share/dirbuster/
53     done
55     # Extract embedded desktop icon
56     mkdir -p $out/share/pixmaps
57     unzip $JAR
58     strings com/sittinglittleduck/DirBuster/ImageCreator.class | grep iVBORw0KG | base64 -d > $out/share/pixmaps/dirbuster.png
60     runHook postInstall
61   '';
63   meta = {
64     description = "Brute force directories and files names on web/application servers";
65     homepage = "https://wiki.owasp.org/index.php/Category:OWASP_DirBuster_Project";
66     license = lib.licenses.lgpl21Only;
67     mainProgram = "dirbuster";
68     maintainers = with lib.maintainers; [ emilytrau ];
69     platforms = lib.platforms.all;
70     sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
71   };