https://github.com/ronin-rb/ronin-repos
Third-party git repository support for ronin.
https://github.com/ronin-rb/ronin-repos
repository-management repository-manager ronin-rb third-party
Last synced: 12 months ago
JSON representation
Third-party git repository support for ronin.
- Host: GitHub
- URL: https://github.com/ronin-rb/ronin-repos
- Owner: ronin-rb
- License: lgpl-3.0
- Created: 2021-11-26T08:45:01.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-02-12T06:49:40.000Z (over 1 year ago)
- Last Synced: 2025-06-14T05:24:05.012Z (about 1 year ago)
- Topics: repository-management, repository-manager, ronin-rb, third-party
- Language: Ruby
- Homepage: https://ronin-rb.dev
- Size: 129 KB
- Stars: 7
- Watchers: 1
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: ChangeLog.md
- License: COPYING.txt
Awesome Lists containing this project
README
# ronin-repos
[](https://github.com/ronin-rb/ronin-repos/actions/workflows/ruby.yml)
[](https://codeclimate.com/github/ronin-rb/ronin-repos)
[](https://badge.fury.io/rb/ronin-repos)
* [Website](https://ronin-rb.dev)
* [Source](https://github.com/ronin-rb/ronin-repos)
* [Issues](https://github.com/ronin-rb/ronin-repos/issues)
* [Documentation](https://ronin-rb.dev/docs/ronin-repos/frames)
* [Discord](https://discord.gg/6WAb3PsVX9) |
[Mastodon](https://infosec.exchange/@ronin_rb)
## Description
ronin-repos provides a repository system for installing, managing, and accessing
third-party git repositories, that can contain additional Ruby code or other
data.
Third-party git repositories can be used to extend parts of Ronin. Other Ronin
libraries can then list and load additional third-party Ruby classes from
specific directories within the installed third-party repos:
* `exploits/` - may contain additional exploits for [ronin-exploits].
* `payloads/` - may contain additional payloads for [ronin-payloads].
**tl;dr** ronin-repos is essentially a decentralized plugin system for Ronin
using git repos.
ronin-repos is part of the [ronin-rb] project, a toolkit for security research
and development.
## Features
* Supports installing any [Git][git] repository.
* Manages installed repositories.
* Has 85% documentation coverage.
* Has 100% test coverage.
## Synopsis
```
Usage: ronin-repos [options] [COMMAND [ARGS...]]
Options:
-h, --help Print help information
Arguments:
[COMMAND] The command name to run
[ARGS ...] Additional arguments for the command
Commands:
completion
help
install
list, ls
new
purge
remove, rm
show, info
update, up
```
Install a repository:
```shell
$ ronin-repos install https://github.com/...
```
List installed Repositories:
```shell
$ ronin-repos ls
```
Update all installed Repositories:
```shell
$ ronin-repos update
```
Update a specific Repositories:
```shell
$ ronin-repos update NAME
```
Uninstall a specific Repositories:
```shell
$ ronin-repos rm repo-name
```
Delete all repositories:
```shell
$ ronin-repos purge
```
Generate your own repo:
```shell
$ ronin-repos new my-repo
$ git remote add origin git@github.com:user/my-repo.git
$ git push -u origin main
```
## Examples
```ruby
require 'ronin/repos'
Ronin::Repos.find_file('wordlists/wordlist.txt')
# => "/home/user/.cache/ronin-repos/foo-repo/wordlists/wordlist.txt"
Rnnin::Repos.glob("wordlists/*.txt")
# => ["/home/user/.cache/ronin-repos/foo-repo/wordlists/cities.txt",
# "/home/user/.cache/ronin-repos/foo-repo/wordlists/states.txt",
# "/home/user/.cache/ronin-repos/bar-repo/wordlists/bands.txt",
# "/home/user/.cache/ronin-repos/bar-repo/wordlists/beers.txt"]
```
## Requirements
* [Ruby] >= 3.0.0
* [ronin-core] ~> 0.2
## Install
```shell
$ gem install ronin-repos
```
### Gemfile
```ruby
gem 'ronin-repos', '~> 0.1'
```
## Development
1. [Fork It!](https://github.com/ronin-rb/ronin-repos/fork)
2. Clone It!
3. `cd ronin-repos`
4. `./scripts/server`
5. `git checkout -b my_feature`
6. Code It!
7. `bundle exec rake spec`
8. `git push origin my_feature`
## License
Copyright (c) 2021-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
ronin-repos is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
ronin-repos is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with ronin-repos. If not, see .
[ronin-rb]: https://ronin-rb.dev/
[Ruby]: https://www.ruby-lang.org
[git]: https://git-scm.com/
[ronin-core]: https://github.com/ronin-rb/ronin-core#readme
[ronin-exploits]: https://github.com/ronin-rb/ronin-exploits#readme
[ronin-payloads]: https://github.com/ronin-rb/ronin-payloads#readme