whois
A simple and free whois client
Summary
| Latest Version | Unknown |
|---|---|
| License | MIT |
| CI Status | Failing |
| Downloads | 0 |
| Last Indexed | 2026-07-21 05:24 |
Tags
Installation
nimble install whois
choosenim install whois
git clone https://github.com/thisago/whois
OS Compatibility
| Platform | Linux | macOS | Windows | FreeBSD | OpenBSD | NetBSD | Android | iOS | WASM | Embedded |
|---|---|---|---|---|---|---|---|---|---|---|
| whois | ✓ | ✓ | ✓ | - | - | - | - | - | - | - |
Source
| Repository | https://github.com/thisago/whois |
|---|---|
| Homepage | https://github.com/thisago/whois |
| Registry Source | nimble_official |
README
Whois.nim
The Whois.nim is a simple whois client. With cache (kashae)!
The doyosi whois demo website is down, to use this lib you will need an instance of that
Requirements
- The Nim (Official website) programming language (Min version 1.4.0)
- Nimble (Github), the Nim's package manager
Hint: Install Nim with Choosenim (Github)
Installation
Directly with Nimble
# Install directly with Nimble
nimble install whois
or
Directly with Nimble (with url)
# Install directly with Nimble (with url)
nimble install https://github.com/thisago/whois.nim
or
Manually with Nimble
# Clone repo
git clone https://github.com/thisago/whois.nim
# go to folder
cd whois
# Install (with Nimble)
nimble install -y
Docs
You can find the docs in Github pages
Usage
example/example.nim
import whois
echo whois("duckduckgo.com")
# or
var domain = "metager.org".toDomain # convert to a `Domain` instance
domain.update() # Get data from API
echo domain
Run:
nim c -r -d:ssl -d:release example/example.nim
NOTE: Compile with -d:ssl
TODO
- [ ] Change the nimble package url from gitea to github
Contributing
Its easy to create a parser for another API!
Just see src/whois/api_doyosi.nim to understand how simple is it.
All definitions is in src/whois/core.nim.
- Create a new file in
src/whois/calledapi_APINAME.nim - Import module
src/whois/core.nim - Export a function named
apiFetch - In
src/whois.nim - Import the new api parser using:
nim from whois/api_APINAME.nim import nil - Call the
apiFetchfunction inupdatein end like:nim if api_APINAME.apiFetch(self, noCache): return # If any error, try next API
NOTICE
The implemented API service has no relation with this lib.