require 'package' class Nuclei < Package description 'Fast, customizable vulnerability scanner' homepage 'https://docs.projectdiscovery.io/tools/nuclei' version '3.6.1' license 'MIT' compatibility 'all' source_url({ aarch64: "https://github.com/projectdiscovery/nuclei/releases/download/v#{version}/nuclei_#{version}_linux_arm.zip", armv7l: "https://github.com/projectdiscovery/nuclei/releases/download/v#{version}/nuclei_#{version}_linux_arm.zip", i686: "https://github.com/projectdiscovery/nuclei/releases/download/v#{version}/nuclei_#{version}_linux_386.zip", x86_64: "https://github.com/projectdiscovery/nuclei/releases/download/v#{version}/nuclei_#{version}_linux_amd64.zip" }) source_sha256({ aarch64: '097fb33dba8d032e7bdea12f863d96e18038571eb9d1ec7d09fb107a18edfa05', armv7l: '097fb33dba8d032e7bdea12f863d96e18038571eb9d1ec7d09fb107a18edfa05', i686: 'dc86a4d3887f7e723d3e998e63de70559bdb0a1b43ba46fce173ba14b973cd0c', x86_64: '343be622fbb4261aaeb968072a1cab1dc103f8a74313072717a0f9774ac345a0' }) no_compile_needed no_shrink def self.install FileUtils.install 'nuclei', "#{CREW_DEST_PREFIX}/bin/nuclei", mode: 0o755 end def self.postinstall ExitMessage.add "\nType 'nuclei' to get started.\n" end def self.postremove Package.agree_to_remove("#{HOME}/.pdcp") Package.agree_to_remove("#{HOME}/nuclei-templates") end end