reverse-skills-max: initial public release (restored, redacted, hardened)
This commit is contained in:
63
reverse-skill-repo/burp-mcp-full/build.sh
Normal file
63
reverse-skill-repo/burp-mcp-full/build.sh
Normal file
@@ -0,0 +1,63 @@
|
||||
#!/bin/bash
|
||||
# BurpSuite MCP Full Control - Linux / macOS Build Script
|
||||
# Requires: JDK 21+, curl
|
||||
# Produces: build/libs/burp-mcp-full.jar (fat jar, Burp-loadable)
|
||||
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
cd "$SCRIPT_DIR"
|
||||
|
||||
# ===== Auto-detect JAVA_HOME =====
|
||||
if [ -z "$JAVA_HOME" ]; then
|
||||
if command -v javac >/dev/null 2>&1; then
|
||||
JAVA_HOME="$(dirname "$(dirname "$(readlink -f "$(command -v javac)")")")"
|
||||
else
|
||||
echo "ERROR: javac not found. Install JDK 21+ or set JAVA_HOME."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
JAVAC="$JAVA_HOME/bin/javac"
|
||||
JAR="$JAVA_HOME/bin/jar"
|
||||
|
||||
if ! "$JAVAC" -version 2>/dev/null | grep -qE '(1\.)?(2[1-9]|[3-9][0-9])'; then
|
||||
echo "WARNING: JDK 21+ recommended. Detected: $("$JAVAC" -version 2>&1)"
|
||||
fi
|
||||
|
||||
SRC="src/main/java/com/burpmcp"
|
||||
RES="src/main/resources"
|
||||
LIB="lib"
|
||||
OUT="build/classes"
|
||||
DIST="build/libs"
|
||||
MONTOYA="https://repo1.maven.org/maven2/net/portswigger/burp/extensions/montoya-api/2025.5/montoya-api-2025.5.jar"
|
||||
GSON="https://repo1.maven.org/maven2/com/google/code/gson/gson/2.11.0/gson-2.11.0.jar"
|
||||
NANO="https://repo1.maven.org/maven2/org/nanohttpd/nanohttpd/2.3.1/nanohttpd-2.3.1.jar"
|
||||
|
||||
echo "[1/4] Downloading dependencies..."
|
||||
mkdir -p "$LIB"
|
||||
[ -f "$LIB/montoya-api.jar" ] || curl -sL -o "$LIB/montoya-api.jar" "$MONTOYA"
|
||||
[ -f "$LIB/gson.jar" ] || curl -sL -o "$LIB/gson.jar" "$GSON"
|
||||
[ -f "$LIB/nanohttpd.jar" ] || curl -sL -o "$LIB/nanohttpd.jar" "$NANO"
|
||||
|
||||
echo "[2/4] Compiling..."
|
||||
mkdir -p "$OUT"
|
||||
"$JAVAC" --release 21 -encoding UTF-8 -cp "$LIB/montoya-api.jar:$LIB/gson.jar:$LIB/nanohttpd.jar" -d "$OUT" "$SRC"/*.java
|
||||
|
||||
# Copy resources (extension descriptor) so the jar is loadable by Burp
|
||||
cp -r "$RES/META-INF" "$OUT/"
|
||||
|
||||
echo "[3/4] Packaging fat jar..."
|
||||
mkdir -p "$DIST"
|
||||
cd "$OUT"
|
||||
"$JAR" xf "../../$LIB/gson.jar" com
|
||||
"$JAR" xf "../../$LIB/nanohttpd.jar" fi
|
||||
cd ../..
|
||||
"$JAR" cf "$DIST/burp-mcp-full.jar" -C "$OUT" .
|
||||
|
||||
echo "[4/4] Done!"
|
||||
echo "Output: $DIST/burp-mcp-full.jar"
|
||||
echo ""
|
||||
echo "Install: Burp Suite -> Extensions -> Add -> Java -> Select $DIST/burp-mcp-full.jar"
|
||||
echo ""
|
||||
echo "MCP config (any client):"
|
||||
echo " { \"command\": \"node\", \"args\": [\"$SCRIPT_DIR/mcp-bridge.js\"] }"
|
||||
Reference in New Issue
Block a user