2.1.0 / 2024-07-22

CLI

  • Added the ronin archive command.
  • Added the ronin unarchive command.
  • Added the ronin bitsquat command.
  • Added the ronin completion command to install shell completion files for all ronin and ronin-* commands for Bash and Zsh shells.
  • Added the ronin dns-proxy command.
  • Added the ronin new dns-proxy command.
  • Added the ronin pack command.
  • Added the ronin unpack command.
  • Added the --hex-octet, --octal-octet, and --ipv6-compat options to the ronin ip command.
  • Added more accepted values to the ronin http --user-agent option.
  • Added the --cookie and --cookie-param options to the ronin http command.
  • Added the cookie and set-cookie commands to the ronin http shell.
  • Added the -s,--size option to the ronin iprange command.
  • Added support for ronin cert-gen --key-type dsa.
  • All --help options and the ronin irb command now displays the Ronin logo ASCII art.
  • Alias ronin tlds to the ronin tld-list command.
  • Alias ronin public-suffixes to the ronin public-suffix-list command.
  • Alias ronin new exploit to the ronin-exploits new command.
  • Alias ronin new payload to the ronin-payloads new command.
  • Alias ronin new dns-listener to the ronin-listener new dns command.
  • Alias ronin new http-listener to the ronin-listener new http command.
  • Alias ronin new web-app to the ronin-web new app command.
  • Alias ronin new nokogiri to the ronin-web new nokogiri command.
  • Alias ronin new web-server to the ronin-web new server command.
  • Alias ronin new web-spider to the ronin-web new spider command.

2.0.5 / 2023-09-19

CLI

  • Fixed a bug in ronin cert-gen that prevented generating a new certificate signed with an EC key (ex: ronin cert-gen --key-type ec ...).
  • Fixed the formatting of the ronin cert-gen man-page.

2.0.4 / 2023-07-18

  • Require wordlist ~> 1.0, >= 1.0.2 for bug fixes.
  • Require ronin-core ~> 0.1, >= 0.1.2 for bug fixes to ronin irb.
    • This fixes an issue with defining and then calling methods inside of the ronin irb Ruby shell.

CLI

  • Fixed the ronin typosquat command to accept multiple domain arguments.
  • Added missing usage string to the ronin typosquat command.
  • Added missing -f,--file option to the ronin typosquat command.
  • Fixed a bug in the ronin host command where the -t,--query option was not being honored.
  • Added missing --file option to the ronin bitflip man-page and docs.

2.0.3 / 2023-06-12

  • Extend Ronin::Support into Ronin in order to make their Mixin instance methods accessible to the ronin irb command which spawns an IRB session within the Ronin namespace.

CLI

  • Fixed a regression in the ronin irb command where the ronin-support Mixin methods (ex: http_get) were missing from the ronin irb shell.

2.0.2 / 2023-06-09

  • Documentation fixes and improvements.

CLI

  • Fixed a bug in the ronin ip command where empty lines would be printed if the IP had no hostname.
  • Fixed a bug in the ronin hexdump command where the --type option was being ignored.
  • Fixed the Usage: of the ronin host and ronin dns commands.
  • Fixed typos in the ronin email-addr, ronin escape, and ronin sha256 man-pages.
  • Fixed formatting in the ronin cert-gen man-page.
  • Added more examples to the ronin rot, ronin encrypt, and ronin decrypt man-pages.

2.0.1 / 2023-03-01

CLI

  • Ensure that the ronin http command works with IDN host-names.

2.0.0 / 2023-02-01

  • Require ruby >= 3.0.0.
  • Require rouge ~> 3.0
  • Require async-io ~> 1.0
  • Require wordlist ~> 1.0
  • Require ronin-support ~> 1.0.0.
  • Require ronin-core ~> 0.1.
  • Require ronin-repos ~> 0.1.
  • Require ronin-db ~> 0.1.
  • Require ronin-fuzzer ~> 0.1.
  • Require ronin-web ~> 1.0.
  • Require ronin-code-asm ~> 1.0.
  • Require ronin-code-sql ~> 2.0.
  • Require ronin-payloads ~> 0.1.
  • Require ronin-exploits ~> 1.0.
  • Require ronin-vulns ~> 0.1.
  • Added new sub-commands to the ronin command:
    • asn
    • banner-grab
    • bitflip
    • cert-dump
    • cert-gen
    • cert-grab
    • decode, dec
    • decrypt
    • dns
    • email-addr
    • encode, enc
    • encrypt
    • entropy
    • escape
    • extract
    • grep
    • help
    • hexdump
    • highlight
    • hmac
    • homoglyph
    • host
    • http
    • ip
    • iprange
    • irb
    • md5
    • netcat / nc
    • new
    • proxy
    • public-suffix-list
    • quote
    • rot
    • sha1
    • sha256
    • sha512
    • string
    • strings
    • tips
    • tld-list
    • typo
    • typosquat
    • unescape
    • unhexdump
    • unquote
    • url
    • url-edit
    • xor
  • ronin help <subcommand> will now display a man page for that sub-command.
  • Renamed the ronin console command to ronin irb.
  • Moved and refactored all database code out into ronin-db and [ronin-db-activerecord].
  • Replaced all repository management related code with ronin-repos.
  • Replaced the CLI code with [command_kit] and ronin-core.
  • Refactored the ronin gem to only provide a top-level CLI with sub-commands and require the other ronin- gems.

1.5.1 / 2021-02-28

  • Require ronin-support ~> 0.5, >= 0.5.2.
  • Support Ruby 3.0:
    • Ronin::UI::CLI.commands now uses Set, since Ruby 3.0 moved SortedSet out of the stdlib.
  • Activate bundler in bin/ronin and bin/ronin-* commands, if a Gemfile.lock file is found.
  • Re-finalize all DataMapper models in Ronin::AutoLoad::ClassMethods#require_const.
  • Avoid calling Ronin::Network::TCP::Proxy specific methods in the ronin net:proxy command, if working with a UDP proxy.

1.5.0 / 2012-06-16

  • Require ronin-support ~> 0.5.
  • Added Ronin::UI::CLI::Command#setup.
  • Added Ronin::UI::CLI::Command#cleanup.
  • Added Ronin::UI::CLI::Command.examples.
  • Added the Ronin::UI::CLI::Commands::Net::Proxy net:proxy ronin command.
  • Added man-pages for each ronin command.
  • Added more specs for the Ronin::UI::CLI::Command DSL methods.
  • Added Ronin::AutoLoad::ClassMethods#require_const, to also finalize auto-loaded DataMapper models.
  • Renamed Ronin::Database.setup_log to Ronin::Database.log.
  • Allow Ronin::Database.setup to accept a URI for the default repository.
  • Allow ronin/spec/database to test against other Databases, specified by the ADAPTER environment variable.
    • If ADAPTER is set to mysql or postgres, then ronin/spec/database will connect to the ronin_test database with username/password ronin_test.
    • By default ronin/spec/database will test against a temporary sqlite3 database.
  • Allow console !commands to embed Ruby expressions:

    >> !ncat #`ip` #`port`
    
  • Moved console !command logic into Ronin::UI::Console::Shell.

    • !commands now only execute shell commands.
  • Moved console .command logic into Ronin::UI::Console::Commands.

    • .commands are now reserved only for special console commands (ex: .edit).
  • Improved recognition of console !commands and .commands.

  • Do not allow execution of console commands while in multi-line mode!

  • Fixed a bug in Ronin::UI::CLI::Command which disabled colour output.

  • When Ronin::UI::CLI::Command#start catches an Interrupt, it should exit with status 130.

  • Rescue Errno::EPIPE in Ronin::UI::CLI::Command#start.

  • Improved --help output of ronin commands by adding examples and more :descriptions to their options.

  • Changed the ronin-help COMMAND to display the man-page for the given command.

  • No longer honor the DEBUG environment variable. Use ruby -w or ruby -d instead.

  • Removed dm-constraints from the dependencies.

1.4.1 / 2012-04-01

  • Removed dependencey on env.
  • Removed #to_ary methods from Ronin Models that were causing SystemStackError: stack level too deep exceptions. Fixes issue #4.
  • Ronin::UI::CLI::Command#start now rescues Interupts.

1.4.0 / 2012-02-12

  • Require open_namespace ~> 0.4.
  • Require parameters ~> 0.4.
  • Require uri-query_params ~> 0.6.
  • Require ronin-support ~> 0.4.
  • Added Ronin::Port.parse.
  • Added Ronin::Port.from.
  • Added Ronin::EmailAddress.from.
  • Added Ronin::Password.parse.
  • Added Ronin::URL#inspect.
  • Added Ronin::Model::HasUniqueName::ClassMethods#parse.
  • Added Ronin::Script::ClassMethods#short_name.
  • Added Ronin::Script::Buildable#build_failed!.
  • Added Ronin::Script::Path#clean.
  • Added Ronin::Script::Path#destroy!.
  • Added Ronin::UI::CLI::Command.usage.
  • Added Ronin::UI::CLI::Command.summary.
  • Added Ronin::UI::CLI::Command.option.
  • Added Ronin::UI::CLI::Command.options.
  • Added Ronin::UI::CLI::Command.options?.
  • Added Ronin::UI::CLI::Command.each_option.
  • Added Ronin::UI::CLI::Command.argument.
  • Added Ronin::UI::CLI::Command.arguments.
  • Added Ronin::UI::CLI::Command.arguments?.
  • Added Ronin::UI::CLI::Command.each_argument.
  • Added Ronin::UI::CLI::Command#start.
  • Added Ronin::UI::CLI::Command#run.
  • Added Ronin::UI::CLI::Command#option_parser.
  • Added Ronin::UI::CLI::Printing.
  • Added Ronin::UI::CLI::ClassCommand.
  • Added Ronin::UI::CLI::ScriptCommand#setup.
  • Re-added the ronin install command.
  • Re-added the ronin uninstall command.
  • Re-added the ronin update command.
  • Renamed Ronin::URL.query_param to Ronin::URL.with_query_param.
  • Renamed Ronin::URL.query_value to Ronin::URL.with_query_value.
  • Renamed Ronin::Repository.add! to Ronin::Repository.add.
  • Renamed Ronin::Repository.install! to Ronin::Repository.install.
  • Renamed Ronin::Repository.uninstall! to Ronin::Repository.uninstall.
  • Renamed Ronin::UI::CLI::ScriptCommand#load_script to Ronin::UI::CLI::ScriptCommand#load!.
  • Renamed Ronin::UI::CLI::Commands::IPs to Ronin::UI::CLI::Commands::Ips.
  • Renamed Ronin::UI::CLI::Commands::URLs to Ronin::UI::CLI::Commands::Urls.
  • Removed thor from the dependencies.
  • Removed Ronin::Script::InstanceMethods#script_type in favor of Ronin::Script::ClassMethods#short_name.
  • Have Ronin::AutoLoad call finalize directly on the newly auto-loaded model.
  • Associate Ronin::EmailAddress with Ronin::Credential.
  • Ensure that all Ronin::Scripts have unique name/version properties.
  • Include Ronin::Model::HasName, Ronin::Model::HasTitle, Ronin::Model::HasDescription into Ronin::Repository.
  • Refactored Ronin::UI::CLI::Command to use Parameters::Options from parameters 0.4.0.
  • Ronin::UI::CLI::Command#start now rescues and prints exceptions, then exits with status -1.
  • Ronin::UI::CLI::ScriptCommand may now accept additional options for the loaded script after --:

    ronin exploit -f myexploit.rb -- --host victim.com --port 1337

  • Fixed a typo in the ronin repos command.

  • The ronin repos command now only lists installed Repositories.

  • Ronin::Support is now included into Ronin, making all support methods accessible in the ronin console.

  • Allow ronin console commands to be prefixed with a ..

1.3.0 / 2011-10-16

  • Require DataMapper ~> 1.2.
  • Require ronin-support ~> 0.3.
  • Added Ronin::Model::Importable.
  • Added Ronin::MACAddress.extract.
  • Added Ronin::IPAddress.extract.
  • Added Ronin::HostName.extract.
  • Added Ronin::URL.extract.
  • Added Ronin::EmailAddress.extract.
  • Renamed license! to licensed_under in Ronin::Model::HasLicense::InstanceMethods.
  • Moved Ronin::UI::Output, Ronin::UI::Shell and Ronin::Network::Mixins into ronin-support.
  • Ronin::Author.site and Ronin::License.url now use the URI property.
  • Merged Ronin::UI::CLI::ModelCommand.query_model into Ronin::UI::CLI::ModelCommand.model.

1.2.0 / 2011-08-15

  • Require dm-is-predefined ~> 0.4.
  • Added Ronin::UI::Console::Context.
  • Added custom tab-completion to Ronin::UI::Console for:
    • Ronin::IPAddress
    • Ronin::HostName
    • Ronin::EmailAddress
    • Ronin::URL
    • Paths
    • Commands
  • Added the ability to run commands in Ronin Console, via the !command --args syntax.
  • Added custom !commands to the Ronin Console:
    • !edit - Edits a Ruby tempfile and loads the contents afterwards.
    • !cd - Changes the current working directory and updates ENV['OLDPWD'].
    • !export - Sets ENV variables.
  • Added an index to Ronin::OS.version.
  • Refactored Ronin::OS.predefine using dm-is-predefined.
  • Fixed a bug in Ronin::UI::Console.setup where the wrong binding was being passed to Ripl.

1.1.0 / 2011-07-04

  • Require env ~> 0.2.
  • Require data_paths ~> 0.3.
  • Require ronin-support ~> 0.2.
  • Added ronin/repositories, for quickly loading all repositories.
  • Added Ronin#script.
  • Added Ronin::AutoLoad.
  • Added Ronin::Arch.arm.
  • Added Ronin::Arch.mips.
  • Added Ronin::Arch.x86.
  • Added Ronin::URLQueryParamName.
  • Added timestamps to Ronin::Campaign.
  • Added the created_at timestamp to Ronin::Target.
  • Added Ronin::Network::Mixins::HTTP#http_status.
  • Added Ronin::Network::Mixins::HTTP#http_ok?.
  • Added Ronin::Network::Mixins::HTTP#http_server.
  • Added Ronin::Network::Mixins::HTTP#http_powered_by.
  • Added print_info method calls to Ronin::Network::Mixins::HTTP.
  • Added Ronin::Script::InstanceMethods#run.
  • Added Ronin::Script::Exception.
  • Added Ronin::Script::Path#to_s.
  • Added Ronin::Script::ClassMethods#load_from.
  • Added Ronin::Repository#find_script.
  • Added Ronin::UI::CLI::Command#setup.
  • Added Ronin::UI::CLI::ResourcesCommand.
  • Added Ronin::UI::CLI::ScriptCommand.
  • Added the --database option to Ronin::UI::CLI::ModelCommand.
  • Renamed Ronin::Engine to Ronin::Script.
  • Renamed Ronin::Engine::Verifiable to Ronin::Script::Testable.
  • Renamed Ronin::Engine#engine_name to Ronin::Script::InstanceMethods#script_type.
  • Renamed Ronin::Engine::InstanceMethods#load_original! to Ronin::Script::InstanceMethods#load_script!.
  • Renamed Ronin::CachedFile to Ronin::Script::Path.
  • Renamed Ronin::UI::CLI::ModelCommand.model= to Ronin::UI::CLI::ModelCommand.model.
  • Renamed Ronin::UI::CLI::ModelCommand#model to Ronin::UI::CLI::ModelCommand.query_model.
  • Renamed Ronin::UI::CLI::ModelCommand#new_query to Ronin::UI::CLI::ModelCommand#query.
  • Renamed Ronin::UI::CLI::ModelCommand#print_resource to Ronin::UI::CLI::ResourcesCommand#print_resource.
  • Renamed Ronin::UI::CLI::ModelCommand#print_resources to Ronin::UI::CLI::ResourcesCommand#print_resources.
  • Removed Ronin::Engine#method_missing.
  • Extend DataPaths::Finders into Ronin::Config.
  • Fixed a RubyGems deprecation in Ronin::Installation.
  • Enabled verbose DataMapper logging if $DEBUG or the DEBUG environment variable are set.
  • Switched from DataMapper URIs to Hashes.
  • Fixed a bug in Ronin::Database::Migrations::Migration#initialize, where :needs was being overridden.
  • Group Database migration files by Ronin::VERSION.
  • Ensure that Ronin::Database::Migrations preserves the order of loaded migrations.
  • Set the length of Ronin::Password.clear_text to 256.
  • Set the length of Ronin::License.url to 256.
  • Merged Ronin::Model::Cacheable into Ronin::Script.
  • Repositories can now cache/load scripts from the scripts/ directory.
  • Disable Ronin::UI::Console.short_errors? if the VERBOSE environment variable is set.
  • Disable Ronin::UI::Console.color? if the STDOUT is a tty.
  • Set Ronin::UI::Output.handler to Ronin::UI::Output::Terminal::Raw, when STDOUT is not a tty.
  • Enable Ronin::UI::Output.verbose? if $VERBOSE or $DEBUG are set.
  • Ronin::UI::CLI::ModelCommand#setup now automatically calls Ronin::Database.setup, before executing the command.
  • Merged query_method into Ronin::UI::CLI::ModelCommand#query.
  • Allow Ronin::UI::CLI::ModelCommand.query_option to map to Model properties.
  • Use DataMapper query-paths to improve performance of query-helper methods.
  • Removed Ronin::Target#directory.

1.0.0 / 2011-03-25

  • Upgraded to the GPL-3 license.
  • Require Ruby >= 1.8.7.
  • Require dm-do-adapter ~> 1.1.0.
  • Require dm-sqlite-adapter ~> 1.1.0.
  • Require dm-core ~> 1.1.0.
  • Require dm-types ~> 1.1.0.
  • Require dm-constraints ~> 1.1.0.
  • Require dm-migrations ~> 1.1.0.
  • Require dm-validations ~> 1.1.0.
  • Require dm-serializer ~> 1.1.0.
  • Require dm-aggregates ~> 1.1.0.
  • Require dm-timestamps ~> 1.1.0.
  • Require dm-is-predefined ~> 0.3, >= 0.3.1.
  • Require uri-query_params ~> 0.5, >= 0.5.2.
  • Require open_namespace ~> 0.3.
  • Require parameters ~> 0.2, >= 0.2.3.
  • Require data_paths ~> 0.2, >= 0.2.1.
  • Require object_loader ~> 1.0.
  • Require env ~> 0.1, >= 0.1.2.
  • Require pullr ~> 0.1, >= 0.1.2.
  • Require hexdump ~> 0.1.
  • Require ripl ~> 0.3.
  • Require ripl-multi_line ~> 0.2.
  • Require ripl-auto_indent ~> 0.1.
  • Require ripl-short_errors ~> 0.1.
  • Require ripl-color_result ~> 0.2.
  • Require thor ~> 0.14.3.
  • Require ronin-support ~> 0.1.
  • Added ronin/bootstrap which only loads configuration and the Database.
  • Added Ronin::Database::Migrations.
  • Added Ronin::Model::HasUniqueName.
  • Added Ronin::Address:
    • Added Ronin::MACAddress.
    • Added Ronin::IPAddress.
    • Added Ronin::HostName.
  • Added Ronin::Port:
    • Added Ronin::TCPPort.
    • Added Ronin::UDPPort.
  • Added Ronin::Service.
  • Added Ronin::OpenPort.
  • Added Ronin::OSGuess.
  • Added Ronin::UserName.
  • Added Ronin::URL:
    • Added Ronin::URLScheme.
    • Added Ronin::URLQueryParam.
  • Added Ronin::EmailAddress.
  • Added Ronin::Credential.
  • Added Ronin::ServiceCredential.
  • Added Ronin::WebCredential.
  • Added Ronin::Organization.
  • Added Ronin::Campaign.
  • Added Ronin::Target.
  • Added Ronin::Engine.
  • Added Ronin::UI::Output::Terminal::Raw.
  • Added Ronin::UI::Output::Terminal::Color.
  • Added the ronin-repos command for listing, adding, installing and uninstalling Repositories.
  • Added the ronin-exec command for running Ruby scripts (local files or bin/ scripts in Repositories) within the Ronin environment.
  • Added the ronin-ips command for listing, importing and exporting IP addresses from the Database.
  • Added the ronin-hosts command for listing, importing and exporting host names from the Database.
  • Added the ronin-urls command for listing, importing and exporting URLs from the Database.
  • Added the ronin-emails command for listing, importing and exporting Email addresses from the Database.
  • Added the ronin-creds command for listing, importing and exporting credentials from the Database.
  • Added the ronin-campaigns command for listing, importing and exporting Campaigns from the Database.
  • Renamed Ronin::Product to Ronin::Software.
  • Renamed Ronin::UI::CommandLine to Ronin::UI::CLI.
  • Renamed Ronin::Platform::Overlay to Ronin::Repository.
  • Renamed Ronin::Platform::CachedFile to Ronin::CachedFile.
  • Renamed Ronin::Platform::Cacheable to Ronin::Model::Cacheable.
  • Removed Ronin::Platform::Extension.
  • Removed Ronin::Platform.
  • Moved the ronin-add, ronin-install, ronin-list and ronin-uninstall commands into the ronin-repos command.
  • Switched from Jeweler to Ore and Bundler.
  • Use OpenNamespace to auto-load everything in the Ronin namespace.
  • Switched from DataMapper auto-migrations to explicit-migrations.
  • Switched Ronin::UI::Console from IRB to Ripl:

0.3.0 / 2009-09-24

  • Require yard >= 0.2.3.5.
  • Require nokogiri >= 1.3.3.
  • Require extlib >= 0.9.13.
  • Require data_objects >= 0.10.0.
  • Require do_sqlite3 >= 0.10.0.
  • Require dm-core >= 0.10.0.
  • Require dm-types >= 0.10.0.
  • Require dm-validations >= 0.10.0.
  • Require dm-predefined >= 0.2.0.
  • Require chars >= 0.1.2.
  • Require parameters >= 0.1.8.
  • Require contextify >= 0.1.3.
  • Require repertoire >= 0.2.3.
  • Require thor >= 0.11.5.
  • Require rspec >= 1.1.12.
  • Moved to YARD based documentation.
  • Added YARD handlers for detecting DataMapper property, has and belongs_to method-calles.
  • Added YARD handlers for detecting Ronin::Scanners::Scanner.scanner method-calles.
  • Added Ronin::Config.tmp_dir.
  • Added Kernel.require_within.
  • Added Net.tcp_server.
  • Added Net.tcp_server_session.
  • Added Net.tcp_single_server.
  • Added Net.udp_server.
  • Added Net.udp_server_session.
  • Added Ronin::Network::HTTP::Proxy.
  • Added Ronin::Model#humanize_attributes.
  • Added Ronin::Model::HasVersion.revision.
  • Added Ronin::Templates::Template.
  • Added Ronin::Platform::Overlay#gems.
  • Added attr_reader, attr_writer and attr_accessor instance methods to Ronin::Platform::Extension.
  • Added Ronin::Platform::Overlay#load!.
  • Added Ronin::Platform::Overlay#reload!.
  • Added Ronin::Platform::Extension#tmp_dir.
  • Added Ronin::Platform::ExtensionCache#reload!.
  • Added Ronin::Platform.reload!.
  • Added Ronin::UI::Output.verbose=.
  • Added Ronin::UI::Output.verbose?.
  • Added Ronin::UI::Output.quiet=.
  • Added Ronin::UI::Output.quiet?.
  • Added Ronin::UI::Output.silent=.
  • Added Ronin::UI::Output.silent?.
  • Added Ronin::UI::Output::Helpers.
  • Added Ronin::UI::CommandLine::Command#indent.
  • Added Ronin::UI::CommandLine::Command#print_title.
  • Added Ronin::UI::CommandLine::Command#print_array.
  • Added Ronin::UI::CommandLine::Command#print_hash.
  • Renamed Ronin::License.gpl_2 to Ronin::License.gpl2.
  • Renamed Ronin::License.gpl_3 to Ronin::License.gpl3.
  • Renamed Ronin::License.lgpl_3 to Ronin::License.lgpl3.
  • Renamed the :post_data option to :postdata for the Net.http_post and Net.http_post_body methods.
  • Renamed Ronin::Sessions to Ronin::Network::Helpers.
  • Renamed Ronin::Platform::ExtensionCache#has_extension? to Ronin::Platform::ExtensionCache#has?.
  • Renamed Ronin::Platform::ExtensionCache#extension_with to Ronin::Platform::ExtensionCache#with.
  • Renamed Ronin::UI::Diagnostics to Ronin::UI::Output.
  • Removed Hash#explode.
  • Removed URI::HTTP#explode_query_params and URI::HTTP#test_query_params.
  • Removed Ronin::Model.first_or_new, since it is provided by dm-core 0.10.0.
  • Removed Ronin.console.
  • Removed Ronin::License.predefine.
  • Updated the summary and 3-point description of Ronin.
  • Aliased Integer#char to Integer#chr.
  • Changed Ronin::Database::DEFAULT_CONFIG to be a String, for printability.
  • Overrode Ronin::Model.allocate so that the initialize method of models is always called when resources are allocated.
  • Improved the white-space removal in Ronin::Model::HasDescription.
  • Have Ronin::Model::HasLicense auto-define a relationship with Ronin::License.
  • Fixed formatting issue in Ronin::Product#to_s.
  • Allow Ronin::Cacheable.load_first to accept a block.
  • Make sure Ronin::Static.directory raises a RuntimeError if the given directory is missing or not a directory.
  • Allow the :proxy option passed to Net.http_* methods to be a String, Hash or Ronin::Network::HTTP::Proxy.
  • Make sure Ronin::Network::Helpers::Helper.require_variable raises a RuntimeError if the required instance variable is not set.
  • Merged Ronin::Platform::Extension.load into Ronin::Platform::ExtensionCache#load_extension.
  • Updated the overlay.xsl used to render the ronin.xml files within Overlays.
  • Merged Ronin::UI::Verbose into Ronin::UI::Output.
  • Rewrote Ronin::UI::CommandLine::Command to inherit from Thor.
  • Rewrote the Ronin::UI::CommandLine commands to use Thor options.
  • Include Ronin::UI::Output::Helpers into Ronin::Sessions::Session.
  • Include Ronin::UI::Output::Helpers into Ronin::Console sessions.

0.2.4 / 2009-07-02

  • Require Hoe >= 2.0.0
  • Require Parameters >= 0.1.6.
  • Dropped dependency for dm-serializer.
  • Added Kernel#catch_all.
  • Added Array#bytes.
  • Added Array#chars.
  • Added Array#char_string.
  • Added File.unhexdump.
  • Added Ronin::Templates::Erb.
  • Added Ronin::Model::HasName.
  • Added Ronin::Model::HasDescription.
  • Added Ronin::Model::HasVersion.
  • Added Cacheable#prepared_for_cache?.
  • Added Cacheable#original_loaded?.
  • Added Network::HTTP.expand_options.
  • Added Net.http_request.
  • Added Sessions::HTTP#http_request.
  • Added Ronin::Scanners::Scanner.
  • Added Ronin::UI::Console.backtrace_depth.
  • Added Ronin::UI::Console.backtrace_depth=.
  • Moved Ronin::HasLicense into Ronin::Model.
  • Renamed Kernel#try to Kernel#attempt.
  • Renamed Ronin.method_missing to Ronin#method_missing.
  • Renamed Ronin::UI::CommandLine::Commands::Ls to Ronin::UI::CommandLine::Commands::List.
  • Renamed Ronin::UI::CommandLine::Commands::Rm to Ronin::UI::CommandLine::Commands::Remove.
  • Refactored OS.define.
  • Refactored Ronin::Shell as a module.
  • Removed Ronin::Translators.
  • Fixed a bug where if an object failed to be cached, it would prevent an Overlay from being added to the OverlayCache.
  • Fixed a bug where Gem::LoadError was being rescued, when only ::LoadError should be rescued.
  • Fixed a typo in Maintainer#inspect.
  • Updated the Overlay XSL file.
    • Cleaned up CSS.
    • Removed the jQuery expander plugin.

0.2.3 / 2009-05-06

  • Require extlib >= 0.9.12.
  • Require dm-core >= 0.9.11.
  • Require data_objects >= 0.9.11.
  • Require do_sqlite3 >= 0.9.11.
  • Require dm-types >= 0.9.11.
  • Require dm-serializer >= 0.9.11.
  • Require dm-validations >= 0.9.11.
  • Require chars >= 0.1.1.
  • Require parameters >= 0.1.5.
  • No longer require dm-aggregates.
  • Added Kernel#try.
  • Added String#pad.
  • Added Array#power_set.
  • Added IPAddr#each for iterating over CIDR address ranges.
  • Added IPAddr.each for iterating over CIDR and globbed address ranges.
  • Added Net.http_powered_by that returns the HTTP X-Powered-By header.
  • Added Net.http_server that returns the HTTP Server header.
  • Added Database.setup?.
  • Added Database.update!.
  • Added Extension#exposed_methods.
  • Added ExtensionCache#names.
  • Added OverlayCache#names.
  • Added Diagnostics#print_debug.
  • Added more specs.
  • Properly escape URI::HTTP#query_params.
  • Fixed a bug in File.hexdump where the file was not being closed.
  • Fixed a bug in HasLicense#licensed_under.
  • Fixed a bug in Product#to_s.
  • Moved Ronin::Target to the ronin-exploits library.
  • Renamed Net.http_prop_path to Net.http_prop_patch.
  • Removed the Parameters code from Ronin::Sessions.
  • Replaced Ronin::Objectify with Ronin::Cacheable.
  • Removed 'ronin/models'.
  • Catch exceptions when loading Extensions and carry on.
  • Renamed Overlay#deactive! to Overlay#deactivate!.
  • Allow Overlays to automatically load the 'lib/init.rb' file when activated.
  • Rewrote Ronin::Platform::ObjectCache to use the new Ronin::Cacheable module.
  • Enable Diagnostic#print_info and Diagnostic#print_error by default.
  • Refactored Ronin::UI::CommandLine:
    • Added CommandLine.get_command which loads command classes on-demand.
    • CommandLine.commands now stores all the available command names.
    • Renamed Ronin::UI::CommandLine::Commands::LS to Ronin::UI::CommandLine::Commands::Ls.
    • Renamed Ronin::UI::CommandLine::Commands::RM to Ronin::UI::CommandLine::Commands::Rm.
    • Moved Ronin::UI::CommandLine::ParamParser into the Parameters library.
  • Refactored specs to run on Ruby 1.9.1-p0.
  • Added more specs.
  • All specs now pass on Ruby 1.9.1-p0.

0.2.2 / 2009-03-26

  • Split out Ronin::Chars into the Chars library.
  • Split out ronin-overlay and ronin-ext sub-commands into the Ronin Gen library.
  • Require chars >= 0.1.0.
  • Require repertoire >= 0.2.1.
  • Removed String#to_method_name, use Extlib instead.
  • Refactored Ronin::Platform::Overlay.
    • Renamed Overlay#media_type to Overlay#media.
    • Fixed parsing bugs in Overlay#initialize_metadata.
  • Allow Extensions to be accessed via constants.
  • Added the Creative Commons Zero license to Ronin::License.
  • Added the Integer#bytes method.
  • Added the String#hex_unescape method.
  • Added the String#unhexdump method.
  • Added Ronin::Static for managing static resources.
  • Added Ronin::Static::Finders for searching for static files.
  • Added static directories to Overlays and Extensions.
  • Added ronin/platform/tasks:
    • Added ronin/platform/tasks/spec task for running RSpec tests in an Overlay.
  • Added the ExtensionCache#reload! method.
  • Added more specs.

0.2.1 / 2009-02-23

  • Added Ronin::UI::Verbose.
  • Require Nokogiri >= 1.2.0:
    • Use Nokogiri::XML, instead of REXML, for XML parsing and building.
  • Renamed String#inspect to String#dump.
    • Aliased String#inspect to String#dump.
  • Rewrote Ronin::UI::CommandLine.
    • Removed Ronin::UI::CommandLine::Options.command.
    • Refactored Ronin::UI::CommandLine::Command.
    • Added Command#defaults method to give the command's variables default values.
    • Fixed a bug in Command.run.
    • Renamed DefaultCommand to ConsoleCommand.
    • Implement git style sub-commands.
    • Use reverse-require to find sub-commands.
  • Refactored Ronin::UI::ParamParser.
    • Control parameter formats and their parsers with ParamParser.recognize.
  • Rewrote the Ronin::Chars spec.
  • Updated the Ronin::UI::ParamParser spec.

=== 0.2.0 / 2009-02-06

  • Moved the HTML formatting methods into the ronin-html library.
  • Added 'ronin/environment' which loads the Ronin Environment.
  • Added the --database option to the DefaultCommand.
  • Added the -C option to the add, install, list, update, remove and uninstall commands.
  • Added String#hex_escape.
  • Added Net.http_ok?.
  • Added UI::Diagnostics.
  • Require Contextify >= 0.1.2 for the self.load_context_block method.
  • Renamed Platform to Ronin::OS.
  • Renamed Cache to Ronin::Platform.
  • Refactored Ronin::Platform:
    • Added Overlay#activate!.
    • Added Overlay#deactivate!.
    • Added a title attribute to Ronin::Platform::Overlay.
    • Added a dirty flag to Ronin::Platform::OverlayCache to reduce unnecessary writes.
    • Added OverlayCache#has_extension?.
    • Added Ronin::Platform::ObjectCache to handle the mass caching/mirroring of object contexts.
    • Added Platform.add.
    • Added Platform.install.
    • Added Platform.update.
    • Added Platform.remove.
    • Added Platform.uninstall.
    • Added Platform::Extension#find_paths.
    • Added specs for:
    • Ronin::Platform.
    • Ronin::Platform::Overlay.
    • Ronin::Platform::OverlayCache.
    • Ronin::Platform::Extension.
    • Ronin::Platform::ExtensionCache.
    • Shortened method names.
    • Renamed OverlayCache#has_overlay? to OverlayCache#has?.
    • Renamed OverlayCache#get_overlay to OverlayCache#get.
    • Renamed OverlayCache#overlay_with to OverlayCache#with.
    • Renamed Extension#was_setup? to Extension#setup?.
    • Renamed Extension#was_toredown? to Extension#toredown?.
    • Renamed Extension#perform_setup to Extension#setup!.
    • Renamed Extension#perform_teardown to Extension#teardown!.
    • Removed un-used or surpurfulous methods.
    • Removed 'lib/ronin/platform/config.rb'.
    • Allow Overlays to have their own lib/ directories.
    • Many bug fixes.
  • Updated the README.txt.
  • Fixed bug in UI::Console.auto_load and UI::Console.start.

0.1.4 / 2009-01-22

  • Moved Ronin::Web and Ronin::Sessions::Web into the ronin-web library.
  • Removed dependencies to hpricot, mechanize, spidr and rack.
  • Moved Hexdump into the Ronin::UI namespace.
  • Require parameters >= 0.1.3:
    • Parameters 0.1.3 adds support for using lambdas as the default values of parameters.
  • Temporarily added Ronin::Model.first_or_new:
    • Will be removed once dkubb's version of first_or_new is merged into dm-core.
  • Added the File.write method.
  • Added specs for String#format_http and String#format_html.
  • Fixed a formatting bug in String#format_chars and String#format_bytes.
  • Fixed typos.
  • Automatically load 'ronin/ui/hexdump' when starting the Ronin::UI::Console.

0.1.3 / 2009-01-08

  • Moved Context into the Contextify library.
  • Require dm-core >= 0.9.9.
  • Require dm-predefined >= 0.1.0.
  • Require parameters >= 0.1.2.
  • Require contextify >= 0.1.0.
  • Require reverse-require >= 0.3.1.
  • Renamed Ronin::ObjectContext to Ronin::Objectify.
  • Added the MIT license to the Ronin::License model, using dm-predefined.
  • Added Ronin::HasLicense mixin for adding licenses to a model.
  • Added Net.tcp_send and Ronin::Sessions::TCP#tcp_send for quickly sending data through a TCP connection then closing it.
  • Added Ronin::UI::CommandLine::ParamParser for parsing command-line options into a Hash of parameters.
  • Automatically create the ~/.ronin/config/ directory.
  • Refactored Ronin::Objectify and how it uses primary keys.
  • All Ronin::Session mixins use standard naming conventions for defining the 'host' and 'port' parameters.
  • Removed Ronin::Cache::Extension dependencies.
  • Filter out the 'objects' directory from Ronin::Cache::Overlay#extensions.
  • Improved tearing down of Extensions at exit.
  • Improved output formatting of the +list+ sub-command.
  • Ronin::UI::CommandLine.run now prints any exceptions and exits.
  • Cleaned up the specs.
  • Added more specs.
  • Added more documentation.

0.1.2 / 2008-12-10

  • Require do_sqlite3 >= 0.9.9, since version 0.9.8 was totally broken.
  • Require reverse-require >= 0.2.0, for improved performance.
  • Require Spidr >= 0.1.3.
  • Moved Ronin::Parameters into the parameters 0.1.0 RubyGem.
  • Added a Ronin::Hexdump module:
    • Provides Ronin::Hexdump.dump and Kernel#hexdump, which can hexdump any object that supports the #each_byte method.
  • Refactored Ronin::Chars::CharSet:
    • Now inherites the SortedSet class.
    • Stores chars as bytes.
    • Added a Ronin::Chars::CharSet#=~ operator, for determining if a String exists in the language over the alphabet represented by the character set.
    • Added a Ronin::Chars::CharSet#inspect method which prints C-like characters.
  • Added a String#inspect method which prints C-like strings.
  • Added a String#xor method (it might come in handy).
  • Renamed Ronin::Encoders::Encoder to Ronin::Translators::Translator.
  • Added URI::QueryParams#each_query_param.
  • Added extensions to Hpricot, for comparing two Hpricot Element trees.
  • Added the Ronin::Web.spider_agent, Ronin::Web.spider_host and Ronin::Web.spider_site methods.
  • Added Ronin::Code::SymbolTable#symbols.
  • Added a basic Ronin::Code::Emittable module and a Ronin::Code::Token class.
  • Renamed Ronin::ObjectContext.object_contextify to Ronin::ObjectContext.objectify.
  • Merged the Ronin::Environment module into the Ronin::Config module.
  • Refactored the Ronin::Shell class.
  • Refactored the Ronin::Runner::Program module.
  • Created the Ronin::UI namespace, to contain all things User Interfacing:
    • Moved Ronin::Console and Ronin::Shell into the UI namespace.
    • Renamed Ronin::Runner::Program to Ronin::UI::CommandLine.
  • Added a Ronin::Cache::Overlay::Maintainer class to define maintainers of an Ronin::Cache::Overlay and their contact information.
  • Refactored the parsing of Overlay XML files.
  • Added the sub-commands +overlay+ and +extension+ for generating skeleton Overlays and Extensions.
  • Added a XSL file for generating pretty HTML from Overlay XML files.
  • Added even more specs.
  • More typo and documentation fixes.

0.1.1 / 2008-10-26

  • Depend on the newly renamed reverse-require (>= 0.1.2) gem.
  • Added Ronin::Code::SymbolTable for DSLs to make use of.
  • Added String#common_prefix, String#common_postfix and String#uncommon_substring, which will be useful when testing for successful injections.
  • Added DataMapper column indexes to Author.name, Product.name, Platform.os and Platform.version.
  • Renamed String#rand_case to String#random_case.
  • Removed the Ronin::Runner namespace, renaming the Ronin::Runner::Program namespace to Ronin::Program.

0.1.0 / 2008-09-28

  • Changed how Sessions are setup.
  • Have Ronin use it's own DataMapper Repository name-space to avoid conflicts with other DataMapper libraries.
  • Added the Ronin::Parameters#set_params methods.
  • Added specs.
  • Fixed various trivial bugs.

0.0.9 / 2008-08-20

  • Initial release.
  • Supports installing/updating/uninstalling of Overlays.
    • Supports accessing Overlays from various media types:
    • CVS
    • Darcs
    • Subversion (SVN)
    • Git
    • Rsync
  • Allows for the loading of Extensions from one or more Overlays.
  • Provides a persistant Database using DataMapper.
  • Caches and mirrors objects stored in Overlays using DataMapper.
  • Provides convievance methods for:
    • Formating data:
    • Binary
    • HTTP
    • URIs
    • HTML
    • Generating random text.
    • Networking:
    • TCP
    • UDP
    • SMTP
    • POP
    • Imap
    • Telnet
    • HTTP
    • Web access (utilizing Mechanize and Hpricot).
  • Provides an IRB styled console with:
    • Tab-completion enabled.
    • Auto-indentation enabled.
    • Pretty-Print loaded.