Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/resyncgg/ripgen
Rust-based high performance domain permutation generator.
https://github.com/resyncgg/ripgen
Last synced: 2 months ago
JSON representation
Rust-based high performance domain permutation generator.
- Host: GitHub
- URL: https://github.com/resyncgg/ripgen
- Owner: resyncgg
- Created: 2022-01-24T04:00:22.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-12-02T22:57:22.000Z (about 1 year ago)
- Last Synced: 2024-10-12T22:40:19.673Z (3 months ago)
- Language: Rust
- Size: 30.3 KB
- Stars: 273
- Watchers: 4
- Forks: 30
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-offensive-rust - Ripgen - Rust-based high performance domain permutation generator. (Projects)
README
# ripgen
A rust-based version of the popular [dnsgen](https://github.com/ProjectAnte/dnsgen) python utility.`ripgen` is split into two main parts:
* **ripgen**: _A CLI utility that calls into `ripgen_lib` and uses dnsgen's transforms_.
* **ripgen_lib**: _A library that allows you to create high performance permutations of domain names._# How to Install!
Installation of `ripgen` is very simple - follow the steps below.### Step 1 - rustup.rs
Visit https://rustup.rs/ and follow the instructions to get started with `rust` and `cargo`.### Step 2 - cargo install
Run `cargo install ripgen`## How to Use - `ripgen`
`ripgen` optionally takes a domain file, a wordlist file, and a minimum word length argument.If no domain file is listed, domains are expected through `stdin` making it easy to pipe into from other tools.
e.g.
```
$ echo "www1.google.com" | ripgen
```One deviation from dnsgen's behavior is that if no wordlist is specified then no wordlist items are included automatically. To compare `ripgen` and `dnsgen` appropriately you should make sure to specify a wordlist.
## How to use - `ripgen_lib`
`ripgen_lib` exposes a `RipGenManager` struct that takes in three components:* an iterator for domain names
* an iterator for wordlist entries
* a function that converts `&&str` into `bool` for the purposes of filtering wordlist entriesAfter creating a `RipGenManager`, transforms can be added on with `transform` and `chain_transform`. These transforms require a function definition (closure or otherwise) be passed in that can take the `&DomainComponent` and `WordListIterator` types and return an `Iterator`.
Look at the non-default dnsgen transform implementations for examples on how these are implemented typically.
# FAQ
## `linker 'cc' not found`
If this happens, it means that you need to install some dependencies on your system to build `ripgen`. Here's how to fix that:### Debian (Ubuntu, Kali, WSL (_you probably used Ubuntu_))
```
sudo apt-get update
sudo apt install build-essential
```### Arch
```
sudo pacman -S base-devel
```### Centos
```
sudo yum install gcc
```### Alpine
```
apk add build-base --no-cache
```