Files
chromebrew/packages/nikto.rb
2023-06-18 17:00:15 -04:00

45 lines
1.6 KiB
Ruby

require 'package'
class Nikto < Package
description 'Open Source (GPL) web server scanner which performs comprehensive tests against web servers'
homepage 'https://cirt.net/Nikto2'
version '2.5.0'
license 'GPL-2'
compatibility 'all'
source_url 'https://github.com/sullo/nikto.git'
git_hashtag "nikto-#{version}"
depends_on 'perl'
depends_on 'perl_net_ssleay'
no_compile_needed
def self.patch
# Fix /usr/bin/perl: bad interpreter: No such file or directory
system "sed -i 's,/usr/bin/perl,/usr/bin/env perl,' program/replay.pl"
end
def self.build
File.write 'nikto.env', <<~EOF
NIKTO_DIR=#{CREW_PREFIX}/share/nikto
EOF
end
def self.install
FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/bin"
FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/share/nikto"
FileUtils.install 'nikto.env', "#{CREW_DEST_PREFIX}/etc/env.d/10-nikto", mode: 0o644
FileUtils.install 'program/nikto.conf.default', "#{CREW_DEST_HOME}/nikto.conf", mode: 0o644
FileUtils.install 'program/docs/nikto.1', "#{CREW_DEST_MAN_PREFIX}/man1/nikto.1", mode: 0o644
FileUtils.mv Dir['program/*'], "#{CREW_DEST_PREFIX}/share/nikto"
FileUtils.ln_s "#{CREW_PREFIX}/share/nikto/nikto.pl", "#{CREW_DEST_PREFIX}/bin/nikto"
FileUtils.ln_s "#{CREW_PREFIX}/share/nikto/replay.pl", "#{CREW_DEST_PREFIX}/bin/replay"
end
def self.postinstall
puts "\nTo finish the installation, execute 'source #{HOME}/.bashrc'".lightblue
puts "\nThe configuration file is located at #{HOME}/nikto.conf.".lightblue
puts "\nExample: nikto -host https://chromebrew.github.io/\n".lightblue
end
end