phinze/homebrew-cask

View on GitHub
Casks/b/burp-suite-professional.rb

Summary

Maintainability
A
2 hrs
Test Coverage
cask "burp-suite-professional" do
  arch arm: "MacOsArm64", intel: "MacOsx"

  version "2024.7.5"
  sha256 arm:   "3243c9b0de9e660b468a1843e2a701612cb75ca74a90d226a32ef3c10889197e",
         intel: "5bfd2b2fbf0738ebd24fc48051164704bd2bed0a586151a6ab111a711fb36350"

  url "https://portswigger-cdn.net/burp/releases/download?product=pro&version=#{version}&type=#{arch}",
      verified: "portswigger-cdn.net/burp/releases/"
  name "Burp Suite Professional"
  desc "Web security testing toolkit"
  homepage "https://portswigger.net/burp/pro"

  livecheck do
    url "https://portswigger.net/burp/releases/data"
    strategy :json do |json|
      all_versions = json.dig("ResultSet", "Results")
      next if all_versions.blank?

      all_versions.filter_map do |item|
        item["version"] if
              item["releaseChannels"].include?("Stable") &&
              item["categories"].include?("Professional") &&
              item["builds"].any? do |build|
                build["ProductPlatform"] == arch.to_s
              end
      end
    end
  end

  app "Burp Suite Professional.app"

  zap trash: "~/.BurpSuite"
end