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
- The Nim (Official website) programming language (Min version 1.4.0)
- Nimble (Github), the Nim's package manager
Hint: Install Nim with Choosenim (Github)
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
You can find the docs in Github pages
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
- Change the nimble package url from gitea to github
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:
from whois/api_APINAME.nim import nil
- Call the
apiFetch
function inupdate
in end like:if api_APINAME.apiFetch(self, noCache): return # If any error, try next API
- Import the new api parser using:
The implemented API service has no relation with this lib.