mirror of
https://github.com/thisago/whois
synced 2026-01-15 04:11:41 +00:00
No description
| docs | ||
| example | ||
| src | ||
| tests | ||
| .gitignore | ||
| changelog.md | ||
| license | ||
| readme.md | ||
| whois.nimble | ||
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:
from whois/api_APINAME.nim import nil - Call the
apiFetchfunction inupdatein 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.