burpsuite: 2026.3.2 -> 2026.4.3
Changelogs: - https://portswigger.net/burp/releases/professional-community-2026-4-3 - https://portswigger.net/burp/releases/professional-community-2026-4-2 - https://portswigger.net/burp/releases/professional-community-2026-4 - https://portswigger.net/burp/releases/professional-community-2026-3-3
This commit is contained in:
@@ -4,44 +4,36 @@
|
||||
fetchurl,
|
||||
jdk,
|
||||
makeDesktopItem,
|
||||
proEdition ? false,
|
||||
unzip,
|
||||
|
||||
# Either "community" or "pro"
|
||||
iconName ? "community",
|
||||
}:
|
||||
assert lib.assertMsg (
|
||||
iconName == "pro" || iconName == "community"
|
||||
) "iconName has to be either pro or community";
|
||||
|
||||
let
|
||||
version = "2026.3.2";
|
||||
|
||||
product =
|
||||
if proEdition then
|
||||
{
|
||||
productName = "pro";
|
||||
productDesktop = "Burp Suite Professional Edition";
|
||||
hash = "sha256-oZGSP19ejP9amfXV89kNDQwxLekZCs7oGKaX/DDHSZM=";
|
||||
}
|
||||
else
|
||||
{
|
||||
productName = "community";
|
||||
productDesktop = "Burp Suite Community Edition";
|
||||
hash = "sha256-PuV5XmgdBBkfPS0pc3xENtTUPMpemyHDDOTLVux24Xs=";
|
||||
};
|
||||
pname = "burpsuite";
|
||||
version = "2026.4.3";
|
||||
|
||||
src = fetchurl {
|
||||
name = "burpsuite.jar";
|
||||
urls = [
|
||||
"https://portswigger-cdn.net/burp/releases/download?product=${product.productName}&version=${version}&type=Jar"
|
||||
"https://portswigger.net/burp/releases/download?product=${product.productName}&version=${version}&type=Jar"
|
||||
"https://web.archive.org/web/https://portswigger.net/burp/releases/download?product=${product.productName}&version=${version}&type=Jar"
|
||||
"https://portswigger-cdn.net/burp/releases/download?product=desktop&version=${version}&type=Jar"
|
||||
"https://portswigger.net/burp/releases/download?product=desktop&version=${version}&type=Jar"
|
||||
"https://web.archive.org/web/https://portswigger.net/burp/releases/download?product=desktop&version=${version}&type=Jar"
|
||||
];
|
||||
hash = product.hash;
|
||||
hash = "sha256-mewbN1uZAFCsxAiXsrNKJ/AexCccVcza40DjxMDbrlM=";
|
||||
};
|
||||
|
||||
pname = "burpsuite";
|
||||
description = "Integrated platform for performing security testing of web applications";
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "burpsuite";
|
||||
name = pname;
|
||||
exec = pname;
|
||||
icon = pname;
|
||||
desktopName = product.productDesktop;
|
||||
desktopName = "Burp Suite Desktop";
|
||||
comment = description;
|
||||
categories = [
|
||||
"Development"
|
||||
@@ -49,12 +41,11 @@ let
|
||||
"System"
|
||||
];
|
||||
};
|
||||
|
||||
in
|
||||
buildFHSEnv {
|
||||
inherit pname version;
|
||||
|
||||
runScript = "${jdk}/bin/java -jar ${src}";
|
||||
runScript = "${lib.getExe jdk} -jar ${src}";
|
||||
|
||||
targetPkgs =
|
||||
pkgs: with pkgs; [
|
||||
@@ -88,7 +79,7 @@ buildFHSEnv {
|
||||
|
||||
extraInstallCommands = ''
|
||||
mkdir -p "$out/share/icons/hicolor/64x64/apps"
|
||||
${lib.getBin unzip}/bin/unzip -p ${src} resources/Media/icon64${product.productName}.png > "$out/share/icons/hicolor/64x64/apps/burpsuite.png"
|
||||
${lib.getBin unzip}/bin/unzip -p ${src} resources/Media/icon64${iconName}.png > "$out/share/icons/hicolor/64x64/apps/burpsuite.png"
|
||||
cp -r ${desktopItem}/share/applications $out/share
|
||||
'';
|
||||
|
||||
@@ -103,9 +94,9 @@ buildFHSEnv {
|
||||
exploiting security vulnerabilities.
|
||||
'';
|
||||
homepage = "https://portswigger.net/burp/";
|
||||
changelog =
|
||||
"https://portswigger.net/burp/releases/professional-community-"
|
||||
+ lib.replaceStrings [ "." ] [ "-" ] version;
|
||||
changelog = "https://portswigger.net/burp/releases/professional-community-${
|
||||
lib.replaceStrings [ "." ] [ "-" ] version
|
||||
}";
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
|
||||
license = lib.licenses.unfree;
|
||||
platforms = jdk.meta.platforms;
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p curl jq xxd gnused diffutils
|
||||
set -eu -o pipefail
|
||||
trap 'rm -f latest.json' EXIT
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd)"
|
||||
|
||||
curl -s 'https://portswigger.net/burp/releases/data' | jq -r '
|
||||
def verarr: (.Version // "") | split(".") | map(tonumber? // 0);
|
||||
[ .ResultSet.Results[]
|
||||
| select((.categories|sort) == (["Professional","Community"]|sort))
|
||||
| select(.categories == ["Desktop"])
|
||||
| .builds[]
|
||||
| select(.BuildCategoryPlatform == "Jar")
|
||||
] as $all
|
||||
@@ -16,23 +17,13 @@ curl -s 'https://portswigger.net/burp/releases/data' | jq -r '
|
||||
' > latest.json
|
||||
|
||||
version=$(jq -r '.[0].Version' latest.json)
|
||||
|
||||
comm_hex=$(jq -r '.[] | select(.BuildCategoryId=="community") .Sha256Checksum' latest.json)
|
||||
pro_hex=$(jq -r '.[] | select(.BuildCategoryId=="pro") .Sha256Checksum' latest.json)
|
||||
|
||||
comm_sri="sha256-$(printf %s "$comm_hex" | xxd -r -p | base64 -w0)"
|
||||
pro_sri="sha256-$(printf %s "$pro_hex" | xxd -r -p | base64 -w0)"
|
||||
hex=$(jq -r '.[0].Sha256Checksum' latest.json)
|
||||
sri="sha256-$(printf %s "$hex" | xxd -r -p | base64 -w0)"
|
||||
|
||||
sed -i \
|
||||
-e "s|^\(\s*version = \)\"[^\"]*\";|\1\"$version\";|" \
|
||||
-e "/productName = \"community\"/,/hash =/ {
|
||||
s|sha256-[^\"]*|$comm_sri|
|
||||
}" \
|
||||
-e "/productName = \"pro\"/,/hash =/ {
|
||||
s|sha256-[^\"]*|$pro_sri|
|
||||
}" \
|
||||
$SCRIPT_DIR/package.nix
|
||||
-e "s|^\(\s*version = \)\"[^\"]*\";|\1\"$version\";|" \
|
||||
-e "s|^\(\s*hash = \)\"[^\]*\";|\1\"$sri\";|" \
|
||||
$SCRIPT_DIR/package.nix
|
||||
|
||||
echo "burpsuite → $version"
|
||||
echo " community: $comm_sri"
|
||||
echo " pro : $pro_sri"
|
||||
echo " hash: $sri"
|
||||
|
||||
Reference in New Issue
Block a user