A simple and free whois client written in Nim
apiReturns | ||
example | ||
src | ||
tests | ||
.gitignore | ||
changelog.md | ||
license | ||
readme.md | ||
whois.nimble |
Whois.nim
The Whois.nim is a simple whois client. With cache (kashae)!
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://gitea.com/Thisago/whois.nim
or
Manually with Nimble
# Clone repo
git clone https://gitea.com/Thisago/whois.nim
# go to folder
cd whois
# Install (with Nimble)
nimble install -y
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
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:
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:
NOTICE
The implemented API service has no relation with this lib.