# Multithreaded Domain Hoarding !?
> "How to get my IP unbanned by Whois servers"
> -- You at 3am after using this tool for a few hours
## What even is `hoardom`? (tldr)
The work of art you see below is a tool with which you will be able to achieve the pinacle of hoarding and money wasting when commiting to once again falling down the Domain Hoarding Hole!
(
for example when gambling online just isnt doing it for you anymore)
Seriously for once : It is meant to atleast make the journey you'll have loosing your mind finding a banger domain more tolerable than siting on your computer until 5am scrolling through domain registrars crappy ass domain look up webpanel just to know whats not taken yet.

Dont believe me on this being the best? Fair, but what if one of my test subjects* described to you how it felt to use this tool :
> THIS IS THE BEST domain hoarding tool ever!!! Ive gone completely mental and now have loads and loads of debt because I bought a bunch of worthless domains I will do nothing with!
*(the subject was me and voices i got in my head making this)
Dont wanna use its TUI? Fine it can also run as a normal CLI tool if you just wanna search some stuff real quick and move on with your sad chud life before going insane and launching it in TUI mode and start HOARDING you favorites, scribble your schizophrenia into its scratchpad and lose all your money to domains you wont ever use <3
## what this thing does
- searches suffixes or full domains across TLD lists
- has a TUI mode with:
- results
- favorites
- settings
- scratchpad
- exports
- has a CLI mode for quick searches, scripts or sigma terminal maxxers.
- lets you import custom TLD lists from toml files because I wont bother keeping a list of "technically obtainable ones" up to date (Check and edit List.toml before compiling if the embedded ones I prepared dont satisfy you)
- keeps a `.hoardom` config folder with your saved stuff
- favorites
- imported lists
- em notes
- settings
- cach and stuff idk
## known bugs
- missing basic ah tui features
- half of the app untested its 6am i havent slept leave me alone
- scrolling then selecting something sometimes takes a while until the button hitboxes catch up with scrolling (if using mouse or touchpad that is)
- will display fallse positives for some domains that have a minimum length that this tool doesnt know about (usually 4/5 lette domains where ur part is only 2)
## planed features
that will probably not come because I have no time.
- search within results
## more screenshots
### speedy as fuck ? heck yea !!!
How long does it takes to search all domains purchasable through either : Porkbun, INWX or OVH (~637 Domains)? 15ish seconds on wifi at my home most time coming from retries at some uglier tlds

Oh and ofcourse you can save favorites and check their status here and there, if one changes it shows an ! next to it until you confirm it with enter.
### export popup
you can export stuff from tui wow!

### cli example
Have a banger name for a website but dont know what domains for that name are free ? just type hoardom and it gives you the answer in two seconds!

## quick start
if you just wanna run it from source real quick:
```bash
cargo run -- --tui
```
some normal CLI examples:
```bash
cargo run -- pissnelke
cargo run -- drowogen.network
cargo run -- --list Country hoardom
```
import a custom list and jump into the TUI:
```bash
cargo run -- --import-filter ./doc/example-list.toml --tui
```
## docs
the proper usage docs live here cause i didnt want this readme to turn into a kilometer ah receipt paper
- [CLI usage](doc/CLI.md)
- [TUI usage](doc/TUI.md)
so yeah if you want the actual button for button docs go there, but expect part of it to be llm slop as i am not writing a manual describing each button or feature for what was supposed to be a 2 hour simple cli tool that turned into a 1.5 day project because i have too much spice.
## custom lists
there is an importable example file here:
- [`doc/example-list.toml`](doc/example-list.toml)
custom lists are just simple toml files with a name and a `tlds` array.
example shape:
```toml
name = "somecoollist"
tlds = ["com", "io", "dev", "sh"]
```
then import it with:
```bash
cargo run -- --import-filter ./path/to/list.toml --tui
```
which ads it to your config.toml environment filet
yes i know its supposed to be named import-list ... i forgot to change it but im not fixing that now, is from when i used a different list fetching method.
## did i use ai for coding this ?
for helping me fix bugs yea obv. other than that only some markdown structures and basic crap i didnt wanna do or as guidance on how to go about stuff was done by llms and comments to the code were sanetized from very harsh swearing by an llm lol.