CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In
rapid7

Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.

GitHub Repository: rapid7/metasploit-framework
Path: blob/master/docker/bin/msfconsole
Views: 11766
#! /bin/bash

if [[ -z "$MSF_PATH" ]]; then
  path=`dirname $0`

  # check for ./docker/msfconsole.rc
  if [[ ! -f $path/../msfconsole.rc ]] ; then

    # we are not inside the project
    realpath --version > /dev/null 2>&1 || { echo >&2 "I couldn't find where metasploit is. Set \$MSF_PATH or execute this from the project root"; exit 1 ;}

    # determine script path
    pushd $(dirname $(realpath $0)) > /dev/null
    path=$(pwd)
    popd > /dev/null
  fi
  MSF_PATH=$(dirname $(dirname $path))
fi

cd $MSF_PATH

PARAMS="$@"

if [[ $PARAMS == *"--rebuild"* ]]; then
  echo "Rebuilding image"
  docker compose build
  exit $?
fi

docker compose run --rm --service-ports -e MSF_UID=$(id -u) -e MSF_GID=$(id -g) ms ./msfconsole -r docker/msfconsole.rc "$PARAMS"