https://github.com/breitburg/domine
Instantly search domains with expressions and AI
https://github.com/breitburg/domine
cli domains
Last synced: 6 months ago
JSON representation
Instantly search domains with expressions and AI
- Host: GitHub
- URL: https://github.com/breitburg/domine
- Owner: breitburg
- License: gpl-2.0
- Created: 2023-07-24T16:40:02.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-08-10T05:04:16.000Z (about 2 years ago)
- Last Synced: 2025-04-10T23:43:38.936Z (6 months ago)
- Topics: cli, domains
- Language: Dart
- Homepage: https://pub.dev/packages/domine
- Size: 55.7 KB
- Stars: 78
- Watchers: 4
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Domine
Search domains with expressions. Insert numbers, letters, and any TLDs in one query with Domine. It uses reverse-engineered [Instant Domain Search](https://instantdomainsearch.com/) API, so it could break at any time.

> **Disclaimer**
> Domine is good at giving accurate data about registered domains, but it may not have up-to-date information on unregistered domains. If you want the most reliable information, use [ICANN Lookup](https://lookup.icann.org/) for the right details.## Installation
To use Domine without any installation, you can use Docker:
```console
$ docker run --rm --tty breitburg/domine check "example.com" "[1-12]am.co"
```Alternatively, if you have Dart installed, you can run the following command in your terminal:
```console
$ dart pub global activate domine
$ domine check "example.com" "[1-12]am.co"
```This command will install all the required dependencies and make `domine` accessible.
## Usage
You can always obtain information about commands by running `domine help`.
### Check
The `check` command allows you to perform domain checks on multiple domains simultaneously by including multiple queries:
```console
$ domine check "" "" ...
```By utilizing expressions, you can check the availability and status of multiple domains at once.
It also supports headless mode. If you need to write all the available domains in a file, you can use `domine check "" > domains.txt`.
#### Numbers
Iterate through any numbers using the `domine check "[1-12]am.com"` command to verify domains like `1am.com`, `2am.com`, and so on.
#### Letters
Check the entire alphabet (or any other range of letters) effortlessly with the `domine check "letter-[a-z].com"` command to validate domains like `letter-a.com`, `letter-b.com`, and more.
#### Popular TLDs at Once
Check multiple popular TLDs simultaneously. Use the asterisk symbol with the `domine check "domine.*"` command to verify domains such as `domine.com`, `domine.org`, and so forth.
> Shout out to [Robert-Jan Keizer's `domainchecker`](https://github.com/KeizerDev/domainchecker) for inspiration.
#### Multiple Queries
Perform multiple domain queries with a single command using the syntax `domine check "[1-12]am.com" "letter-[a-z].com"`.
#### Combine Expressions
Combine different patterns using the `domine check "l[a-z]n[1-2].*"` command to obtain domains like `lan1.com`, `lan2.com`, `lbn1.com` and more.
### Checking From File
To check multiple domains from a file, use the `check-file` command and provide a file as follows:
```console
$ domine check-file domains.txt
```The structure of the `domains.txt` file should be as shown:
```
example.com
domine.app
test.co
...
```> It's worth noting that file checking also supports regular expressions.
### AI
You can use AI to generate ideas for domains and automatically check their availability. You can specify the maximum amount of available domains to be found using the `-l` or `--limit ` option.
All you need is an OpenAI API key, which you can provide using the `--openai-key` option or by setting it as an environment variable named `OPENAI_KEY`.
When you're ready, just use the following syntax:
```console
$ domine brainstorm ""
```Also, you can specify the model you want to use by providing the `--model ` option.
## Contribution
Contributions to Domine are welcome! If you have any ideas, suggestions, bug reports, or feature requests, please feel free to open an issue on the [GitHub repository](https://github.com/breitburg/domine).
If you'd like to contribute directly to the codebase, you can follow these steps:
1. Fork the repository and clone it to your local machine.
2. Create a new branch for your feature or bug fix: `git checkout -b my-branch`.
3. Make the necessary changes and additions.
4. Commit your changes: `git commit -m "Add feature or bug fix"`.
5. Push to your branch: `git push origin my-branch`.
6. Open a pull request on the main repository.Please ensure that your contributions align with the project's coding style and guidelines. Your involvement helps improve Domine for everyone.