ronin-rb / ronin

Ronin is a Free and Open Source Ruby Toolkit for Security Research and Development. Ronin also allows for the rapid development and distribution of code, exploits, payloads, etc, via 3rd-party git repositories.
https://ronin-rb.dev
GNU General Public License v3.0
692 stars 50 forks source link

Extract Ronin::Database and all Models out of ronin and into ronin-db #26

Closed postmodern closed 2 years ago

postmodern commented 12 years ago

Move Ronin::Database and all Models (except Ronin::Repository) into ronin-db. This would allow people to access the Ronin Database, without all the dependencies of ronin itself.

nullthreat commented 11 years ago

Would this also allow ronin to operate without the overhead of ronin-database?

postmodern commented 11 years ago

Hmm, probably not. The Repository system stores all information in the Database. However, it would allow you to develop against the Database without the other dependencies of Ronin (data_paths, object_loader, parameters, pullr, ripl, etc).

postmodern commented 2 years ago

OK the new plan for 2.0.0 is to make the ronin gem pull in all other smaller ronin-* gems, including ronin-db. The other ronin-* gems will define their own commands, so you could install them individually and use them individually. I'm open to suggestions on which libraries should be deped in by default, and which should be purely opt-in.

ronin-support might end up defining it's own console command allowing you to use all the support methods in a Ruby console without the DB.

We will also be switching to Zeitwerk for auto-loading other gems. So it would be possible not activate the Database until you call out to it.

postmodern commented 2 years ago

Forgot to mention ronin-exploits will be fully decoupled from the database; all exploits will be Plain-old-Ruby-Objects (PORO) defined by classes. ronin-scanners and ronin-recon (planned) will have an option to save results directly into the database, or simply print them, or log them to a file.