1.1.1 / 2025-02-14¶ ↑
-
Added the
base64
gem as a dependency for Bundler and Ruby 3.4.0. -
No longer escape
#
characters in {Ronin::Support::Encoding::Shell.escape_byte}, {Ronin::Support::Encoding::Shell.escape}, {Integer#shell_escape}, and {String#shell_escape}. -
Note: The
#
character does not actually need to be backslash escaped within double-quoted or single-quoted shell strings. -
Fixed {Ronin::Support::Encoding::Shell.unescape} and {String#shell_unescape} to return a UTF-8 encoded
String
. -
Fixed decoding of
\UXXXXXXXX
unicode characters in {Ronin::Support::Encoding::C.unescape} and {String#c_unescape}. -
Fixed decoding of
\u{X..}
unicode characters in {Ronin::Support::Encoding::Ruby.unescape} and {String#ruby_unescape}. -
Fixed multiple bugs in {Ronin::Support::Text::Patterns::VERSION_NUMBER}:
-
Fixed a regex typo that was preventing the regex from matching versions.
-
Fixed matching of version numbers containing alpha-numeric characters (ex:
1.2.3a
). -
Fixed matching of version numbers within file names, but to not accidentally also match the file extension (ex:
foo-1.2.3.zip
->1.2.3
). -
Documentation improvements.
1.1.0 / 2024-07-22¶ ↑
-
Added {Ronin::Support::Binary::CTypes::OS::Android}.
-
Added {Ronin::Support::Binary::CTypes::OS::AppleIOS}.
-
Added the
ca:
keyword argument to {Ronin::Support::Crypto::Cert.generate}. -
Added the
subject_alt_names:
keyword argument to {Ronin::Support::Crypto::Cert.generate}. -
Added {Ronin::Support::Crypto::Cert::Name#email_address}.
-
Added the
email_address:
keyword to {Ronin::Support::Crypto::Cert::Name.build}. -
Added {Ronin::Support::Crypto::Key::EC#curve}.
-
Added {Ronin::Support::Crypto::Key::EC#size}.
-
Added {Ronin::Support::Crypto.Key}.
-
Added support for parsing PEM encoded DH keys in {Ronin::Support::Crypto::Key#load}.
-
Added {Ronin::Support::Encoding::Base36}.
-
Added {Ronin::Support::Encoding::Base62}.
-
Added the
content_type:
keyword argument to {Ronin::Support::Network::HTTP#request}. -
Added the
accept:
keyword argument to {Ronin::Support::Network::HTTP#request}. -
Added the
json:
keyword argument to {Ronin::Support::Network::HTTP#request}. -
Added {Ronin::Support::Network::HTTP.post_cookies}.
-
Added {Ronin::Support::Network::HTTP#post_cookies}.
-
Added {Ronin::Support::Network::HTTP::Mixin#http_post_cookies}.
-
Added {Ronin::Support::Network::IP#ipv4}.
-
Added {Ronin::Support::Network::IPRange#first}.
-
Added {Ronin::Support::Network::IPRange#last}.
-
Added {Ronin::Support::Network::IPRange#include?}.
-
Added {Ronin::Support::Network::IPRange#==}.
-
Added {Ronin::Support::Network::IPRange#===}.
-
Added {Ronin::Support::Network::IPRange#size}.
-
Added {Ronin::Support::Network::IPRange::CIDR#first}.
-
Added {Ronin::Support::Network::IPRange::CIDR#last}.
-
Added {Ronin::Support::Network::IPRange::CIDR#include?}.
-
Added {Ronin::Support::Network::IPRange::CIDR#==}.
-
Added {Ronin::Support::Network::IPRange::CIDR#===}.
-
Added {Ronin::Support::Network::IPRange::CIDR#prefix_address}.
-
Added {Ronin::Support::Network::IPRange::CIDR#size}.
-
Added {Ronin::Support::Network::IPRange::Glob#first}.
-
Added {Ronin::Support::Network::IPRange::Glob#last}.
-
Added {Ronin::Support::Network::IPRange::Glob#include?}.
-
Added {Ronin::Support::Network::IPRange::Glob#==}.
-
Added {Ronin::Support::Network::IPRange::Glob#===}.
-
Added {Ronin::Support::Network::IPRange::Glob#size}.
-
Added {Ronin::Support::Network::IPRange::Range#===}.
-
Added {Ronin::Support::Network::IPRange::Range#size}.
-
Added {Ronin::Support::Network::SSL.socket}.
-
Added {Ronin::Support::Network::SSL.open?}.
-
Added {Ronin::Support::Network::SSL.connect}.
-
Added {Ronin::Support::Network::SSL.connect_and_send}.
-
Added {Ronin::Support::Network::SSL.get_cert}.
-
Added {Ronin::Support::Network::SSL.banner}.
-
Added {Ronin::Support::Network::SSL.send}.
-
Added {Ronin::Support::Network::SSL.server}.
-
Added {Ronin::Support::Network::SSL.server_session}.
-
Added {Ronin::Support::Network::SSL.server_socket}.
-
Added {Ronin::Support::Network::SSL.server_loop}.
-
Added {Ronin::Support::Network::SSL.accept}.
-
Added {Ronin::Support::Network::SSL::Mixin#ssl_server}.
-
Added {Ronin::Support::Network::SSL::Mixin#ssl_server_session}.
-
Added the
min_version:
andmax_version:
keyword arguments to all methods in {Ronin::Support::Network::SSL}, {Ronin::Support::Network::SSL::Mixin}, {Ronin::Support::Network::TLS}, {Ronin::Support::Network::TLS::Mixin}, {Ronin::Support::Network::HTTP}, and {Ronin::Support::Network::HTTP::Mixin}. -
Default the SSL
min_version:
to1
. -
Added {Ronin::Support::Network::TLS.socket}.
-
Added {Ronin::Support::Network::TLS.open?}.
-
Added {Ronin::Support::Network::TLS.connect}.
-
Added {Ronin::Support::Network::TLS.connect_and_send}.
-
Added {Ronin::Support::Network::TLS.get_cert}.
-
Added {Ronin::Support::Network::TLS.banner}.
-
Added {Ronin::Support::Network::TLS.send}.
-
Added {Ronin::Support::Network::TLS.server}.
-
Added {Ronin::Support::Network::TLS.server_session}.
-
Added {Ronin::Support::Network::TLS.server_socket}.
-
Added {Ronin::Support::Network::TLS.server_loop}.
-
Added {Ronin::Support::Network::TLS.accept}.
-
Added {Ronin::Support::Network::TLS::Mixin#tls_server}.
-
Added {Ronin::Support::Network::TLS::Mixin#tls_server_session}.
-
Added the
hostname:
keyword argument to all methods in {Ronin::Support::Network::SSL::Mixin} and {Ronin::Support::Network::TLS::Mixin} methods. -
Added {Ronin::Support::Network::Wildcard}.
-
No longer automatically require lesser used network protocols in
ronin/support/network/mixin
: -
ronin/support/network/ftp/mixin
-
ronin/support/network/smtp/mixin
-
ronin/support/network/esmtp/mixin
-
ronin/support/network/pop3/mixin
-
ronin/support/network/imap/mixin
-
Improve the validation of IP ranges in {Ronin::Support::Network::IPRange#initialize}.
-
Improve the validation of IP CIDR ranges in {Ronin::Support::Network::IPRange::CIDR#initialize}.
-
Improve the validation of IP glob ranges in {Ronin::Support::Network::IPRange::Glob#initialize}.
-
No longer use deprecated
Net::HTTP
methods in {Ronin::Support::Network::HTTP#initialize}. -
Add support for specify a SSL version of
1.3
in all {Ronin::Support::Network::SSL}, {Ronin::Support::Network::SSL::Mixin}, {Ronin::Support::Network::TLS}, {Ronin::Support::Network::TLS::Mixin}, {Ronin::Support::Network::HTTP}, and {Ronin::Support::Network::HTTP::Mixin} methods.
1.0.7 / 2024-07-13¶ ↑
-
Improved the performance of {Ronin::Support::Encoding::JS.unescape} and {String#js_unescape} by 2x.
-
Correctly parse Unicode surrogate character pairs in JavaScript strings (ex:
"\uD83D\uDE80"
) in {Ronin::Support::Encoding::JS.unescape}, {String#js_unescape}, {Ronin::Support::Encoding::JS.unquote}, and {String#js_unquote}.
1.0.6 / 2024-06-19¶ ↑
-
Fixed error messages in {Ronin::Support::Encoding::Base64.encode} and {Ronin::Support::Encoding::Base64.decode}.
-
Fixed {Ronin::Support::Network::IPRange::Glob#each} to support
*
in IPv6 glob ranges. -
{Ronin::Support::Network::TCP.connect}, {Ronin::Support::Network::UDP.connect}, and {Ronin::Support::Network::HTTP.connect}, when given a block, now returns the block’s return value.
-
{Ronin::Support::Network::TCP.connect} and {Ronin::Support::Network::UDP.connect} properly closes the socket when passed a block that raises an exception.
1.0.5 / 2023-12-27¶ ↑
-
Fixed a bug in {Ronin::Support::Binary::Stream::Methods#read_string} on Ruby 3.3.0.
1.0.4 / 2023-12-15¶ ↑
-
Fixed a bug in {Array#pack} where complex types (ex:
[[:uint32, 4], 10]
) were not being packed correctly. -
Fixed a bug in {String#unpack} where complex types (ex:
[[:uint32, 4], 10]
) were not being unpacked correctly. -
Fixed a bug in {Ronin::Support::Binary::CTypes::ObjectType#initialize} when the object’s type has an infinite size, such as an unbounded
Array
type. -
Allow using non-RSA keys in all SSL/TLS methods.
1.0.3 / 2023-09-19¶ ↑
-
{Ronin::Support::Crypto::Cert::Name#entries} now returns UTF-8 encoded Strings.
-
{Ronin::Support::Crypto::Cert.Name} now passes through {Ronin::Support::Crypto::Cert::Name} objects instead of copying them.
-
Fixed a bug in {Ronin::Support::Crypto::Cert.generate} when it is given a
OpenSSL::PKey::EC
signing key. -
Fixed a bug in {Ronin::Support::Network::SSL::Mixin#ssl_connect} where the
OpenSSL::SSL::SSLSocket#hostname
attribute was not being set to the host being connected to, which prevented connecting to TLS servers that use SNI. -
Fixed {Ronin::Support::Network::IP#set} to return
self
. -
Fixed {Ronin::Support::Network::IP#inspect} to call the lazy-initialized {Ronin::Support::Network::IP#address} method instead of the
@address
instance variable directly.
1.0.2 / 2023-06-09¶ ↑
-
Fixed a bug in {Ronin::Support::Encoding::Base32.decode}, {Ronin::Support::Encoding::Hex.unescape}, {Ronin::Support::Encoding::C.unescape}, {Ronin::Support::Encoding::JS.unescape}, {Ronin::Support::Encoding::PowerShell.unescape}, {Ronin::Support::Encoding::Ruby.unescape}, {Ronin::Support::Encoding::XML.unescape}, {Ronin::Support::Path#join}, {String#encode_bytes}, and {String#encode_chars} where ASCII-bit Strings were always being returned instead of UTF-8 Strings.
-
Fixed a bug where {Ronin::Support::Network::IP#address} was being improperly cached.
-
Added missing
require
for {File.tar}, {File.untar}, {File.zip}, and {File.unzip} core-ext methods. -
Added missing
require
for {Integer#pack} and {Float#pack} core-ext methods. -
No longer include {Ronin::Support::Mixin} into {Kernel} which caused Mixin methods to be included into every Class and object.
-
Added more example code to documentation.
-
Documentation fixes.
1.0.1 / 2023-03-01¶ ↑
-
{Ronin::Support::Network::HTTP.connect_uri} can now infer when to enable SSL/TLS from the given
URI
. -
{Ronin::Support::Network::HTTP.connect_uri} can now use the
user
andpassword
information from the givenURI
. -
All {Ronin::Support::Network::HTTP} class methods which accept
URI
objects can now accept URLs with International Domain Names (IDN). -
Changed {Kernel#try} to not silently ignore
SyntaxError
exceptions. -
Documentation improvements.
1.0.0 / 2023-02-01¶ ↑
-
Added {File.aes_encrypt}.
-
Added {File.aes_decrypt}.
-
Added {File.aes128_encrypt}.
-
Added {File.aes128_decrypt}.
-
Added {File.aes256_encrypt}.
-
Added {File.aes256_decrypt}.
-
Added {File.rsa_encrypt}.
-
Added {File.rsa_decrypt}.
-
Added {File.gzip}.
-
Added {File.gunzip}.
-
Added {File.tar}.
-
Added {File.untar}.
-
Added {File.zip}.
-
Added {File.unzip}.
-
Added {Integer#c_escape}.
-
Added {Integer#c_encode}.
-
Added {Integer#powershell_encode}.
-
Added {Integer#powershell_escape}.
-
Added {Integer#shell_encode}.
-
Added {Integer#shell_escape}.
-
Added {Integer#uri_form_escape}.
-
Added {Integer#uri_form_encode}.
-
Added {Integer#to_hex}.
-
Added {Integer#to_int8}.
-
Added {Integer#to_int16}.
-
Added {Integer#to_int32}.
-
Added {Integer#to_int64}.
-
Added {Integer#to_uint8}.
-
Added {Integer#to_uint16}.
-
Added {Integer#to_uint32}.
-
Added {Integer#to_uint64}.
-
Added {String#base16_encode}.
-
Added {String#base16_decode}.
-
Added {String#base32_encode}.
-
Added {String#base32_decode}.
-
Added {String#c_escape}.
-
Added {String#c_unescape}.
-
Added {String#c_encode}.
-
Added {String#c_string}.
-
Added {String#c_unquote}.
-
Added {String#hex_string}.
-
Added {String#hex_unquote}.
-
Added {String#http_encode}.
-
Added {String#js_encode}.
-
Added {String#js_string}.
-
Added {String#js_unquote}.
-
Added {String#powershell_escape}.
-
Added {String#powershell_unescape}.
-
Added {String#powershell_encode}.
-
Added {String#powershell_string}.
-
Added {String#powershell_unquote}.
-
Added {String#punycode_encode}.
-
Added {String#punycode_decode}.
-
Added {String#quoted_printable_escape}.
-
Added {String#quoted_printable_unescape}.
-
Added {String#ruby_escape}.
-
Added {String#ruby_unescape}.
-
Added {String#ruby_encode}.
-
Added {String#ruby_string}.
-
Added {String#ruby_unquote}.
-
Added {String#shell_escape}.
-
Added {String#shell_unescape}.
-
Added {String#shell_encode}.
-
Added {String#shell_string}.
-
Added {String#shell_unquote}.
-
Added {String#sql_unescape}.
-
Added {String#uri_form_escape}.
-
Added {String#uri_form_encode}.
-
Added {String#uu_encode}.
-
Added {String#uu_decode}.
-
Added {String#xml_encode}.
-
Added {String#aes_encrypt}.
-
Added {String#aes_decrypt}.
-
Added {String#aes128_encrypt}.
-
Added {String#aes128_decrypt}.
-
Added {String#aes256_encrypt}.
-
Added {String#aes256_decrypt}.
-
Added {String#rsa_encrypt}.
-
Added {String#rsa_decrypt}.
-
Added {String#gzip}.
-
Added {String#gunzip}.
-
Added {String#entropy}.
-
Added {String#homoglyph}.
-
Added {String#each_homoglyph}.
-
Added {String#homoglyphs}.
-
Added {String#typo}.
-
Added {String#each_typo}.
-
Added {String#typos}.
-
Added {Ronin::Support::Archive}.
-
Added {Ronin::Support::Archive::Tar}.
-
Added {Ronin::Support::Archive::Zip}.
-
Added {Ronin::Support::Archive::Mixin}.
-
Added {Ronin::Support::Binary::CTypes}.
-
Added {Ronin::Support::Binary::Array}.
-
Added {Ronin::Support::Binary::Memory}.
-
Added {Ronin::Support::Binary::Buffer}.
-
Added {Ronin::Support::Binary::CString}.
-
Added {Ronin::Support::Binary::Stack}.
-
Added {Ronin::Support::Binary::Stream}.
-
Added {Ronin::Support::Binary::Union}.
-
Added {Ronin::Support::Binary::Unhexdump::Parser#unpack}.
-
Added {Ronin::Support::Binary::Unhexdump::Parser#unhexdump}.
-
Added {Ronin::Support::CLI::ANSI}.
-
Added {Ronin::Support::CLI::Printing}.
-
Added {Ronin::Support::Compression}.
-
Added {Ronin::Support::Compression::Gzip}.
-
Added {Ronin::Support::Compression::Gzip::Reader}.
-
Added {Ronin::Support::Compression::Gzip::Writer}.
-
Added {Ronin::Support::Compression::Mixin}.
-
Added {Ronin::Support::Crypto}.
-
Added {Ronin::Support::Crypto::HMAC}.
-
Added {Ronin::Support::Crypto::Key}.
-
Added {Ronin::Support::Crypto::Key::DH}.
-
Added {Ronin::Support::Crypto::Key::DSA}.
-
Added {Ronin::Support::Crypto::Key::EC}.
-
Added {Ronin::Support::Crypto::Key::RSA}.
-
Added {Ronin::Support::Crypto::Mixin}.
-
Added {Ronin::Support::Encoding}.
-
Added {Ronin::Support::Encoding::Base16}.
-
Added {Ronin::Support::Encoding::Base32}.
-
Added {Ronin::Support::Encoding::Base64}.
-
Added {Ronin::Support::Encoding::C}.
-
Added {Ronin::Support::Encoding::Hex}.
-
Added {Ronin::Support::Encoding::HTML}.
-
Added {Ronin::Support::Encoding::HTTP}.
-
Added {Ronin::Support::Encoding::JS}.
-
Added {Ronin::Support::Encoding::PowerShell}.
-
Added {Ronin::Support::Encoding::Punycode}.
-
Added {Ronin::Support::Encoding::QuotedPrintable}.
-
Added {Ronin::Support::Encoding::Ruby}.
-
Added {Ronin::Support::Encoding::Shell}.
-
Added {Ronin::Support::Encoding::SQL}.
-
Added {Ronin::Support::Encoding::URI}.
-
Added {Ronin::Support::Encoding::UUEncoding}.
-
Added {Ronin::Support::Encoding::XML}.
-
Added {Ronin::Support::Home}.
-
Added {Ronin::Support::Mixin}.
-
Added {Ronin::Support::Network::ASN}.
-
Added {Ronin::Support::Network::ASN::List}.
-
Added {Ronin::Support::Network::DNS::IDN}.
-
Added {Ronin::Support::Network::DNS::Resolver}.
-
Added {Ronin::Support::Network::Domain}.
-
Added {Ronin::Support::Network::EmailAddress}.
-
Added {Ronin::Support::Network::Host}.
-
Refactored {Ronin::Support::Network::HTTP} into a class.
-
Added {Ronin::Support::Network::HTTP.connect}.
-
Added {Ronin::Support::Network::HTTP.connect_uri}.
-
Added {Ronin::Support::Network::HTTP#ssl?}.
-
Added {Ronin::Support::Network::HTTP#user_agent}.
-
Added {Ronin::Support::Network::HTTP#user_agent=}.
-
Added {Ronin::Support::Network::HTTP#cookie=}.
-
Added {Ronin::Support::Network::HTTP#request}.
-
Added {Ronin::Support::Network::HTTP#response_status}.
-
Added {Ronin::Support::Network::HTTP#ok?}.
-
Added {Ronin::Support::Network::HTTP#response_headers}.
-
Added {Ronin::Support::Network::HTTP#server_header}.
-
Added {Ronin::Support::Network::HTTP#powered_by_header}.
-
Added {Ronin::Support::Network::HTTP#response_body}.
-
Added {Ronin::Support::Network::HTTP#copy}.
-
Added {Ronin::Support::Network::HTTP#delete}.
-
Added {Ronin::Support::Network::HTTP#get}.
-
Added {Ronin::Support::Network::HTTP#get_headers}.
-
Added {Ronin::Support::Network::HTTP#get_cookies}.
-
Added {Ronin::Support::Network::HTTP#get_body}.
-
Added {Ronin::Support::Network::HTTP#head}.
-
Added {Ronin::Support::Network::HTTP#lock}.
-
Added {Ronin::Support::Network::HTTP#mkcol}.
-
Added {Ronin::Support::Network::HTTP#move}.
-
Added {Ronin::Support::Network::HTTP#options}.
-
Added {Ronin::Support::Network::HTTP#allowed_methods}.
-
Added {Ronin::Support::Network::HTTP#patch}.
-
Added {Ronin::Support::Network::HTTP#post}.
-
Added {Ronin::Support::Network::HTTP#post_headers}.
-
Added {Ronin::Support::Network::HTTP#post_body}.
-
Added {Ronin::Support::Network::HTTP#propfind}.
-
Added {Ronin::Support::Network::HTTP#proppatch}.
-
Added {Ronin::Support::Network::HTTP#put}.
-
Added {Ronin::Support::Network::HTTP#trace}.
-
Added {Ronin::Support::Network::HTTP#unlock}.
-
Added {Ronin::Support::Network::HTTP#close}.
-
Added {Ronin::Support::Network::HTTP.response_status}.
-
Added {Ronin::Support::Network::HTTP.ok?}.
-
Added {Ronin::Support::Network::HTTP.response_headers}.
-
Added {Ronin::Support::Network::HTTP.server_header}.
-
Added {Ronin::Support::Network::HTTP.powered_by_header}.
-
Added {Ronin::Support::Network::HTTP.response_body}.
-
Added {Ronin::Support::Network::HTTP.copy}.
-
Added {Ronin::Support::Network::HTTP.delete}.
-
Added {Ronin::Support::Network::HTTP.get}.
-
Added {Ronin::Support::Network::HTTP.get_headers}.
-
Added {Ronin::Support::Network::HTTP.get_cookies}.
-
Added {Ronin::Support::Network::HTTP.get_body}.
-
Added {Ronin::Support::Network::HTTP.head}.
-
Added {Ronin::Support::Network::HTTP.lock}.
-
Added {Ronin::Support::Network::HTTP.mkcol}.
-
Added {Ronin::Support::Network::HTTP.move}.
-
Added {Ronin::Support::Network::HTTP.options}.
-
Added {Ronin::Support::Network::HTTP.allowed_methods}.
-
Added {Ronin::Support::Network::HTTP.patch}.
-
Added {Ronin::Support::Network::HTTP.post}.
-
Added {Ronin::Support::Network::HTTP.post_headers}.
-
Added {Ronin::Support::Network::HTTP.post_body}.
-
Added {Ronin::Support::Network::HTTP.propfind}.
-
Added {Ronin::Support::Network::HTTP.proppatch}.
-
Added {Ronin::Support::Network::HTTP.put}.
-
Added {Ronin::Support::Network::HTTP.trace}.
-
Added {Ronin::Support::Network::HTTP.unlock}.
-
Added {Ronin::Support::Network::HTTP::Cookie}.
-
Added {Ronin::Support::Network::HTTP::Mixin}.
-
Added {Ronin::Support::Network::HTTP::Mixin#http_connect}.
-
Added {Ronin::Support::Network::HTTP::Mixin#http_connect_uri}.
-
Added {Ronin::Support::Network::HTTP::Mixin#http_response_status}.
-
Added {Ronin::Support::Network::HTTP::Mixin#http_response_headers}.
-
Added {Ronin::Support::Network::HTTP::Mixin#http_server_header}.
-
Added {Ronin::Support::Network::HTTP::Mixin#http_powered_by_header}.
-
Added {Ronin::Support::Network::HTTP::Mixin#http_response_body}.
-
Added {Ronin::Support::Network::HTTP::Mixin#http_patch}.
-
Added {Ronin::Support::Network::IP}.
-
Added {Ronin::Support::Network::IP::Mixin}.
-
Added {Ronin::Support::Network::IP::Mixin#public_address}.
-
Added {Ronin::Support::Network::IP::Mixin#public_ip}.
-
Added {Ronin::Support::Network::IP::Mixin#local_addresses}.
-
Added {Ronin::Support::Network::IP::Mixin#local_address}.
-
Added {Ronin::Support::Network::IP::Mixin#local_ips}.
-
Added {Ronin::Support::Network::IP::Mixin#local_ip}.
-
Added {Ronin::Support::Network::IPRange}.
-
Added {Ronin::Support::Network::IPRange::CIDR}.
-
Added {Ronin::Support::Network::IPRange::Glob}.
-
Added {Ronin::Support::Network::IPRange::Range}.
-
Added {Ronin::Support::Network::Mixin}.
-
Added {Ronin::Support::Network::PublicSuffix}.
-
Added {Ronin::Support::Network::PublicSuffix::List}.
-
Added {Ronin::Support::Network::SSL.context}.
-
Added {Ronin::Support::Network::SSL::Proxy#version}.
-
Added {Ronin::Support::Network::TCP}.
-
Added {Ronin::Support::Network::TLD}.
-
Added {Ronin::Support::Network::TLD::List}.
-
Added {Ronin::Support::Network::TLS}.
-
Added {Ronin::Support::Network::TLS::Proxy}.
-
Added {Ronin::Support::Network::UDP}.
-
Added {Ronin::Support::Text}.
-
Added {Ronin::Support::Text::Entropy}.
-
Added {Ronin::Support::Text::Homoglyph}.
-
Added {Ronin::Support::Text::Homoglyph::Table}.
-
Added {Ronin::Support::Text::Patterns::SSH_PRIVATE_KEY}.
-
Added {Ronin::Support::Text::Patterns::DSA_PRIVATE_KEY}.
-
Added {Ronin::Support::Text::Patterns::EC_PRIVATE_KEY}.
-
Added {Ronin::Support::Text::Patterns::RSA_PRIVATE_KEY}.
-
Added {Ronin::Support::Text::Patterns::PRIVATE_KEY}.
-
Added {Ronin::Support::Text::Patterns::AWS_ACCESS_KEY_ID}.
-
Added {Ronin::Support::Text::Patterns::AWS_SECRET_ACCESS_KEY}.
-
Added {Ronin::Support::Text::Patterns::API_KEY}.
-
Added {Ronin::Support::Text::Patterns::MD5}.
-
Added {Ronin::Support::Text::Patterns::SHA1}.
-
Added {Ronin::Support::Text::Patterns::SHA256}.
-
Added {Ronin::Support::Text::Patterns::SHA512}.
-
Added {Ronin::Support::Text::Patterns::HASH}.
-
Added {Ronin::Support::Text::Patterns::PUBLIC_KEY}.
-
Added {Ronin::Support::Text::Patterns::SSH_PUBLIC_KEY}.
-
Added {Ronin::Support::Text::Patterns::DIR_NAME}.
-
Added {Ronin::Support::Text::Patterns::MAC_ADDR}.
-
Added {Ronin::Support::Text::Patterns::IPV4_ADDR}.
-
Added {Ronin::Support::Text::Patterns::IPV6_ADDR}.
-
Added {Ronin::Support::Text::Patterns::IP_ADDR}.
-
Added {Ronin::Support::Text::Patterns::PUBLIC_SUFFIX}.
-
Added {Ronin::Support::Text::Patterns::DOMAIN}.
-
Added {Ronin::Support::Text::Patterns::URI}.
-
Added {Ronin::Support::Text::Patterns::URL}.
-
Added {Ronin::Support::Text::Patterns::NUMBER}.
-
Added {Ronin::Support::Text::Patterns::HEX_NUMBER}.
-
Added {Ronin::Support::Text::Patterns::VERSION_NUMBER}.
-
Added {Ronin::Support::Text::Patterns::EMAIL_ADDRESS}.
-
Added {Ronin::Support::Text::Patterns::OBFUSCATED_EMAIL_AT}.
-
Added {Ronin::Support::Text::Patterns::OBFUSCATED_EMAIL_DOT}.
-
Added {Ronin::Support::Text::Patterns::OBFUSCATED_EMAIL_ADDRESS}.
-
Added {Ronin::Support::Text::Patterns::SSN}.
-
Added {Ronin::Support::Text::Patterns::AMEX_CC}.
-
Added {Ronin::Support::Text::Patterns::DISCOVER_CC}.
-
Added {Ronin::Support::Text::Patterns::MASTERCARD_CC}.
-
Added {Ronin::Support::Text::Patterns::VISA_CC}.
-
Added {Ronin::Support::Text::Patterns::VISA_MASTERCARD_CC}.
-
Added {Ronin::Support::Text::Patterns::CC}.
-
Added {Ronin::Support::Text::Patterns::VARIABLE_NAME}.
-
Added {Ronin::Support::Text::Patterns::VARIABLE_ASSIGNMENT}.
-
Added {Ronin::Support::Text::Patterns::FUNCTION_NAME}.
-
Added {Ronin::Support::Text::Patterns::DOUBLE_QUOTED_STRING}.
-
Added {Ronin::Support::Text::Patterns::SINGLE_QUOTED_STRING}.
-
Added {Ronin::Support::Text::Patterns::STRING}.
-
Added {Ronin::Support::Text::Patterns::BASE64}.
-
Added {Ronin::Support::Text::Patterns::C_STYLE_COMMENT}.
-
Added {Ronin::Support::Text::Patterns::C_COMMENT}.
-
Added {Ronin::Support::Text::Patterns::CPP_COMMENT}.
-
Added {Ronin::Support::Text::Patterns::JAVA_COMMENT}.
-
Added {Ronin::Support::Text::Patterns::JAVASCRIPT_COMMENT}.
-
Added {Ronin::Support::Text::Patterns::SHELL_STYLE_COMMENT}.
-
Added {Ronin::Support::Text::Patterns::SHELL_COMMENT}.
-
Added {Ronin::Support::Text::Patterns::BASH_COMMENT}.
-
Added {Ronin::Support::Text::Patterns::RUBY_COMMENT}.
-
Added {Ronin::Support::Text::Patterns::PYTHON_COMMENT}.
-
Added {Ronin::Support::Text::Patterns::COMMENT}.
-
Added {Ronin::Support::Text::Random}.
-
Added {Ronin::Support::Text::Random::Mixin}.
-
Added {Ronin::Support::Text::Typo}.
-
Added {Ronin::Support::Text::Typo::Generator}.
-
Moved all
Ronin::
constants into the {Ronin::Support} namespace. -
Moved
ronin/support/formatting/digest
core-ext methods intoronin/support/crypto
. -
Renamed
ronin/support/formatting
toronin/support/encoding
. -
Renamed
Ronin::Support::Binary::Hexdump::Parser
to {Ronin::Support::Binary::Unhexdump::Parser}. -
Merged
ronin/support/network/network
intoronin/support/network
. -
Removed the
data_paths
gem dependency. -
Removed the
parameters
gem dependency. -
Removed the
yard-parameters
gem dependency. -
Removed
ronin/support/inflector
. -
Removed
Integer#bytes
. -
Removed
Array#bytes
andArray#chars
in favor of {Ronin::Support::Binary::CString}. -
Removed the
probability:
keyword argument from {String#random_case}. -
Removed
udp_single_server
in favor of {Ronin::Support::Network::UDP::Mixin#udp_recv udp_recv}. -
Removed
tcp_single_server
in favor of {Ronin::Support::Network::TCP::Mixin#tcp_accept tcp_accept}. -
Removed
String#format_uri
. -
Removed
String#format_uri_form
. -
Removed
Integer#format_js
. -
Removed
String#format_js
. -
Removed
Integer#format_http
. -
Removed ‘String#format_http.
-
Removed
Integer#format_xml
. -
Removed ‘String#format_xml.
-
Removed
Integer#format_html
. -
Removed ‘String#format_html.
-
Removed
Integer#format_c
. -
Removed ‘String#format_c.
-
Removed
Ronin::Support::Network::IP.each
andRonin::Support::Network::IP#each
in favor of {Ronin::Support::Network::IPRange}. -
Removed
Resolv.resolver
in favor of {Ronin::Support::Network::DNS.resolver}. -
Removed
Ronin::Support::Network::Telnet.default_prompt
. -
Removed
Ronin::Support::Network::Telnet.default_port
. -
Removed
Ronin::Support::Network::SMTP.default_port
. -
Removed
Ronin::Support::Network::POP3.default_port
. -
Removed
Ronin::Support::Network::IMAP.default_port
. -
Removed
Ronin::Support::Network::FTP.default_port
. -
Removed
Ronin::Support::Network::HTTP::Proxy
value object. -
Removed verbose, normal, quiet, and silent printing modes from {Ronin::Support::CLI::Printing}.
-
Removed
Ronin::Support::CLI::Printing.format
. -
Removed
Ronin::Support::CLI::Printing#print_exception
. -
Removed
ronin/spec/cli/printing
. -
Removed
Ronin::UI::Output
in favor of {Ronin::Support::CLI::Printing}. -
Removed
Ronin::Wordlist
in favor of the wordlist gem. -
Removed
Ronin::UI::REPL
in favor ofRonin::Core::CLI::Shell
in the ronin-core gem. -
Removed
Ronin::UI::Shell
in favor ofRonin::Core::CLI::Shell
in the ronin-core gem. -
Removed
Ronin::Network::Mixins
in favor of separateMixin
modules for each {Ronin::Support::Network} module. -
Removed
Net
core-exts. -
Removed
Ronin::Support::Binary::Template.translate
. -
Removed
Ronin::Templates
in favor of {Ronin::Support::Text::ERB}. -
Removed
ssl_server
andssl_server_session
in favor of {Ronin::Support::Network::SSL::Mixin#ssl_server_socket ssl_server_socket}. -
Removed
String#depack
in favor of overriding {String#unpack}. -
Also override {String#unpack1} to match the functionality of {String#unpack}.
0.5.2 / 2021-02-28¶ ↑
-
Support Ruby 3.0:
-
Temporarily added the net-telnet gem as a dependency, since Ruby 3.0 moved
net/telnet
out of the stdlib. -
Ronin::Fuzzing::SHORT_LENGTHS
andRonin::Fuzzing::LONG_LENGTHS
are nowSet
objects, instead ofSortedSet
, which Ruby 3.0 moved out of stdlib. -
Use
URI::DEFAULT_PARSER.escape
/.unescape
in {String#uri_encode}, {String#uri_decode}, and {Integer#uri_encode} now thatURI.encode
,URI.decode
,URI.escape
,URI.unescape
have all been removed in Ruby 3.0. -
Deprecated
Ronin::Network::Telnet
. -
Allow
Ronin::Path#initialize
to accept a separator argument. -
No longer bind new sockets to
0.0.0.0
by default inRonin::Network::TCP
andRonin::Network::UDP
.0.0.0.0
is the IPv4 Any address, which makes the socket IPv4 and thus incompatible with IPv6 hosts. -
Fixed a bug in
Ronin::Network::UDP#udp_open?
where it would always timeout and returnnil
, even when the UDP port was open. -
Filter out
nil
or empty:query
options passed toRonin::Network::HTTP.request
. -
No longer append the query
String
to the path inRonin::Network::HTTP.expand_url
. -
Support escaping
"</code>"<code>tick-marks in
String#sql_escape`. -
Allow setting the request body or form-data in
Ronin::Network::HTTP.request
, even for request types that typically do not use a body or form-data.
0.5.1 / 2012-06-29¶ ↑
-
Added
Ronin::Binary::Template#inspect
. -
Added the
:passive
option toRonin::Network::FTP#ftp_connect
. -
Forgot to require
ronin/formatting/extensions/binary/array
. -
Fixed a bug where {Array#pack} would not accept tuples (ex:
[:uint8, 2]
). -
Fixed a bug in
String#sql_decode
where"\'\'"
would incorrectly be converted to'"'
. -
Ensure that {Integer#pack} only accepts one argument.
-
Have {String#hex_unescape} to decode every two characters.
-
Enable passive-mode by default in
Ronin::Network::FTP#ftp_connect
.
0.5.0 / 2012-06-16¶ ↑
-
Require uri-query_params ~> 0.6.
-
Added {Float#pack}.
-
Added
Regexp::WORD
. -
Added
Regexp::PHONE_NUMBER
. -
Added
Ronin::Binary::Template
. -
Added
Ronin::Binary::Struct
. -
Added
Ronin::Binary::Hexdump::Parser
. -
Added
Ronin::Fuzzing::Template
. -
Added
Ronin::Fuzzing::Repeater
. -
Added
Ronin::Fuzzing::Fuzzer
. -
Added
Ronin::Fuzzing::Mutator
. -
Added
Ronin::Wordlist.create
. -
Added
Ronin::Wordlist#path
andRonin::Wordlist#words
. -
Added
Ronin::Wordlist#save
. -
Added
Ronin::Network::Proxy
,Ronin::Network::TCP::Proxy
andRonin::Network::UDP::Proxy
. -
Added
Ronin::Network::TCP#tcp_open?
. -
Added
Ronin::Network::TCP#tcp_server_loop
. -
Added
Ronin::Network::UDP#udp_open?
. -
Added
Ronin::Network::UDP#udp_server_loop
. -
Added
Ronin::Network::Mixins::TCP#tcp_open?
. -
Added
Ronin::Network::Mixins::UDP#udp_open?
. -
Added
Ronin::Network::Mixins::UDP#udp_server_loop
. -
Added
Ronin::Network::Mixins::UDP#udp_recv
. -
Added
Ronin::Network::FTP
. -
Added
Ronin::Network::UNIX
. -
Added
Ronin::Network::Mixins::FTP
. -
Added
Ronin::Network::Mixins::UNIX
. -
Aliased {String#escape} to
String#dump
. -
Renamed {String#hex_unescape} to {String#unescape}.
-
Aliased {String#hex_unescape} to {String#unescape}.
-
Renamed
Ronin::Network::TCP#tcp_single_server
toRonin::Network::TCP#tcp_accept
. -
Renamed
Ronin::Network::UDP#udp_single_server
toRonin::Network::UDP#udp_recv
. -
Deprecated
Ronin::Network::TCP#tcp_single_server
. -
Deprecated
Ronin::Network::UDP#udp_single_server
. -
Backported Ruby 1.9 only
Base64
methods. -
Allow {Integer#pack} to accept a type from
Ronin::Binary::Template::TYPES
. -
Allow {Array#pack} to accept types from
Ronin::Binary::Template::TYPES
. -
Allow {String#unpack} to accept types from
Ronin::Binary::Template::TYPES
. -
Support nmap-style
i,j-k
globbed IP address ranges in {IPAddr.each}. -
Moved {String#unhexdump} logic into
Ronin::Binary::Hexdump::Parser
. -
Added the
:named_chars
option. -
Improved the parsing of
od
hexdumps. -
Support unhexdumping specific endianness.
-
Support unhexdumping floats / doubles.
-
Allow
String#mutate
to accept Symbols that map toRonin::Fuzzing
generator methods. -
Ronin::Fuzzing.[]
now raises aNoMethodError
for unknown fuzzing methods. -
Use
module_function
inRonin::Fuzzing
, so the generator methods can be included into other Classes/Modules. -
Use
$stdout
instead of callingKernel.puts
orSTDOUT
. Prevents infinite recursion if another library overridesKernel.puts
. -
Allow
Ronin::Network::DNS
methods to yield resolved addresses. -
Inject
Ronin::Network::DNS
intoNet
for backwards compatibility. -
Allow
Ronin::Network::TCP#tcp_server
to accept abacklog
argument. -
Default the server host to
0.0.0.0
inRonin::Network::TCP#tcp_accept
. -
No longer honor the
VERBOSE
environment variable for enabling verbose output inRonin::UI::Output
. Useruby -w
orruby -d
instead. -
No longer support loading
extlib
inronin/support/inflector
.
0.4.0 / 2012-02-12¶ ↑
-
Require uri-query_params ~> 0.6.
-
Require parameters ~> 0.4.
-
Added
Regexp::DELIM
. -
Added
Regexp::IDENTIFIER
. -
Added
Regexp::OCTET
. -
Added
Regexp::FILE_EXT
. -
Added
Regexp::FILE_NAME
. -
Added
Regexp::FILE
. -
Added
Regexp::DIRECTORY
. -
Added
Regexp::RELATIVE_UNIX_PATH
. -
Added
Regexp::ABSOLUTE_UNIX_PATH
. -
Added
Regexp::UNIX_PATH
. -
Added
Regexp::RELATIVE_WINDOWS_PATH
. -
Added
Regexp::ABSOLUTE_WINDOWS_PATH
. -
Added
Regexp::WINDOWS_PATH
. -
Added
Regexp::RELATIVE_PATH
. -
Added
Regexp::ABSOLUTE_PATH
. -
Added
Regexp::PATH
. -
Added
String#repeating
. -
Added
String#sql_inject
. -
Added
String#mutate
. -
Added
Ronin::Fuzzing
. -
Added
Ronin::Fuzzing.[]
. -
Added
Ronin::Fuzzing.bad_strings
. -
Added
Ronin::Fuzzing.format_strings
. -
Added
Ronin::Fuzzing.bad_paths
. -
Added
Ronin::Fuzzing.bit_fields
. -
Added
Ronin::Fuzzing.signed_bit_fields
. -
Added
Ronin::Fuzzing.uint8
. -
Added
Ronin::Fuzzing.uint16
. -
Added
Ronin::Fuzzing.uint32
. -
Added
Ronin::Fuzzing.uint64
. -
Added
Ronin::Fuzzing.int8
. -
Added
Ronin::Fuzzing.int16
. -
Added
Ronin::Fuzzing.int32
. -
Added
Ronin::Fuzzing.int64
. -
Added
Ronin::Fuzzing.sint8
. -
Added
Ronin::Fuzzing.sint16
. -
Added
Ronin::Fuzzing.sint32
. -
Added
Ronin::Fuzzing.sint64
. -
Added
Ronin::Wordlist
. -
Added
Ronin::Network::DNS
. -
Added
Ronin::Network::Mixins::Mixin
. -
Added
Ronin::Network::Mixins::DNS
. -
Added
Ronin::Network::Mixins::SSL
. -
Added missing
Ronin::Network::UDP#udp_send
andRonin::Network::Mixins::UDP#udp_send
methods. -
Added
Ronin::UI::Output::Helpers#print_exception
. -
Made
Regexp::HOST_NAME
case-insensitive. -
Refactored
Regexp::IPv4
to not match invalid IPv4 addresses. -
Require
ronin/formatting/html
inronin/formatting
. -
Allow {String#base64_encode} and {String#base64_decode} to accept a formatting argument.
-
:normal
-
:strict
-
:url
/:urlsafe
-
Fixed a bug in {String#js_unescape}, where
%uXX
chars were not being unescaped (thanks isis!). -
Moved
String#fuzz
andString.generate
intoronin/fuzzing
. -
Moved
Net.*
methods into theRonin::Network
modules. -
Fixed bugs in
Ronin::Network::UDP#udp_connect
andRonin::Network::UDP#udp_server
. -
Fixed a bug in
Ronin::Network::HTTP.expand_url
, where theURI
query-string was not being escaped. -
Allow
Ronin::Network::HTTP.request
to accept:query
and:query_params
options. -
Fixed a bug in
Ronin::Network::Mixins::HTTP#http_session
, where normalized options were not being yielded. -
Ronin::Network::HTTP#http_get_headers
andRonin::Network::HTTP#http_post_headers
now return a Hash of Capitalized Header names andString
values. -
Allow
Ronin::Templates::Erb
to use<%- -%>
syntax. -
Alias
<<
towrite
inRonin::UI::Output::Helpers
. -
Fixed bugs in
Ronin::UI::Shell
. -
Warning messages are printed by
Ronin::UI::Output::Helpers
, unless output is silenced. -
Ronin::UI::Output::Helpers
andRonin::Network
modules are included intoRonin::Support
.
0.3.0 / 2011-10-16¶ ↑
-
Require combinatorics ~> 0.4.
-
Added {Enumerable#map_hash}.
-
Added
String.generate
. -
Added
String#fuzz
. -
Added {File.each_line}.
-
Added {File.each_row}.
-
Added
Resolv.resolver
. -
Added
URI::HTTP#request
. -
Added {URI::HTTP#status}.
-
Added {URI::HTTP#ok?}.
-
Added
URI::HTTP#server
. -
Added
URI::HTTP#powered_by
. -
Added
URI::HTTP#copy
. -
Added
URI::HTTP#delete
. -
Added
URI::HTTP#get
. -
Added
URI::HTTP#get_headers
. -
Added
URI::HTTP#get_body
. -
Added
URI::HTTP#head
. -
Added
URI::HTTP#lock
. -
Added
URI::HTTP#mkcol
. -
Added
URI::HTTP#move
. -
Added
URI::HTTP#options
. -
Added
URI::HTTP#post
. -
Added
URI::HTTP#post_headers
. -
Added
URI::HTTP#post_body
. -
Added
URI::HTTP#prop_find
. -
Added
URI::HTTP#prop_match
. -
Added
URI::HTTP#trace
. -
Added
URI::HTTP#unlock
. -
Added
Regexp::MAC
. -
Added
Regexp::IPv6
,Regexp::IPv4
andRegexp::IP
. -
Added
Regexp::HOST_NAME
. -
Added
Regexp::USER_NAME
. -
Added
Regexp::EMAIL_ADDR
. -
Moved
Ronin::UI::Output
,Ronin::UI::Shell
andRonin::Network::Mixins
from ronin into ronin-support. -
Refactored
Ronin::UI::Shell
into a Class where commands are defined as protected methods.
0.2.0 / 2011-07-04¶ ↑
-
Require data_paths ~> 0.3.
-
Added
Ronin::Mixin
. -
Added
Ronin::Network::SMTP::Email#headers
. -
Added {Integer#html_escape}.
-
Added {Integer#js_escape}.
-
Added
Integer#format_js
. -
Added {String#html_escape}.
-
Added {String#html_unescape}.
-
Added {String#js_escape}.
-
Added {String#js_unescape}.
-
Added
String#format_js
. -
Added
Net.smtp_send_message
. -
Added
Net.http_status
. -
Added
Net.http_get_headers
. -
Added
Net.http_post_headers
. -
Added YARD
@api
tags to define the public, semi-public and private APIs. -
Renamed
Kernel#attempt
to {Kernel#try}. -
Allow
:method
to be used withNet.http_ok?
. -
Fixed a bug in
Ronin::Network::HTTP.expand_url
where:host
and:port
options were being overridden. -
Improved the performance of
Integer#bytes
. -
Only redefine
String#dump
for Ruby 1.8.x. -
Ruby >= 1.9.1 correctly hex-escapes special characters.
-
Fixed a bug in
String#format_chars
, where it was not usingeach_char
for unicode characters. -
Deprecated
String#common_postfix
, in favor of {String#common_suffix}.String#common_postfix
will be removed in ronin-support 1.0.0. -
Net.http_get_body
no longer accepts a block. -
Net.http_post_body
no longer accepts a block.
0.1.0 / 2011-03-20¶ ↑
-
Initial release:
-
Split out of ronin 0.3.0.
-
Upgraded to the LGPL-3 license.
-
Require Ruby >= 1.8.7.
-
Require chars ~> 0.2.
-
Require combinatorics ~> 0.3.
-
Require uri-query_params ~> 0.5, >= 0.5.2.
-
Require data_paths ~> 0.2, >= 0.2.1.