46 lines
1.2 KiB
Nix
46 lines
1.2 KiB
Nix
|
{ pkgs, stdenv, bundlerEnv, ruby, fetchFromGitHub, nodejs }:
|
||
|
# nix-shell --command "bundler install && bundix" in the clone, copy gemset.nix, Gemfile and Gemfile.lock
|
||
|
let
|
||
|
gems = bundlerEnv {
|
||
|
name = "beef-env";
|
||
|
inherit ruby;
|
||
|
gemdir = ./.;
|
||
|
};
|
||
|
in stdenv.mkDerivation {
|
||
|
name = "beef-2018-09-21";
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "beefproject";
|
||
|
repo = "beef";
|
||
|
rev = "d237c95";
|
||
|
sha256 = "1mykbjwjcbd2a18wycaf35hi3b9rmvqz1jnk2v55sd4c39f0jpf2";
|
||
|
};
|
||
|
prePatch = ''
|
||
|
ls -alhtr
|
||
|
'';
|
||
|
patches = [ ./db-in-homedir.patch ];
|
||
|
buildInputs = [gems pkgs.rubyPackages.nokogiri ruby];
|
||
|
installPhase = ''
|
||
|
mkdir -p $out/{bin,share/beef}
|
||
|
|
||
|
cp -r * $out/share/beef
|
||
|
# set the default db path, unfortunately setting to /tmp does not seem to work
|
||
|
# sed -i 's#db_file: .*#db_file: "/tmp/beef.db"#' $out/share/beef/config.yaml
|
||
|
|
||
|
bin=$out/bin/beef
|
||
|
cat > $bin <<EOF
|
||
|
#!/bin/sh -e
|
||
|
PATH=$PATH:${nodejs}/bin/
|
||
|
exec ${gems}/bin/bundle exec ${ruby}/bin/ruby $out/share/beef/beef "\$@"
|
||
|
EOF
|
||
|
chmod +x $bin
|
||
|
'';
|
||
|
|
||
|
meta = with stdenv.lib; {
|
||
|
homepage = https://beefproject.com/;
|
||
|
description = "The Browser Exploitation Framework";
|
||
|
platforms = platforms.linux;
|
||
|
maintainers = with maintainers; [ makefu ];
|
||
|
};
|
||
|
|
||
|
}
|