Welcome to your guide on Shaman, a small and clusterable API-driven DNS server that simplifies domain registration and management. Whether you’re managing multiple domains or testing out DNS functionalities, this blog will walk you through the setup process, usage, and troubleshooting tips, all in a user-friendly manner.
Quickstart Guide
To get started with Shaman, follow these simple steps:
- Start Shaman with Default Settings:
Run the following command in your terminal (note that you may need administrative privileges to execute):
shaman -s
To add a new domain to Shaman, use the following command:
shaman add -d nanopack.io -A 127.0.0.1
Execute one of the following commands to check the DNS records for the newly registered domain:
nslookup -port=53 nanopack.io 127.0.0.1
dig @localhost nanopack.io +short
You should see an output confirming the IP address associated with your domain, such as:
127.0.0.1
Congratulations, you’ve successfully set up your DNS server!
Usage as a Command Line Interface (CLI)
Shaman is designed for easy navigation via command-line interface. You can simply run:
shaman
or for more help, use:
shaman -h
This will display a list of available commands, including:
- add: Add a domain to Shaman.
- delete: Remove a domain from Shaman.
- list: List all domains in Shaman.
- get: Get records for a domain.
- update: Update records for a domain.
- reset: Reset all domains in Shaman.
Running Shaman as a Server
To start Shaman in server mode, use the following command:
shaman --server
You can also specify an optional configuration file:
shaman -c config.json
The Power of Configuration
When using a config file, you can set specific parameters for API access, SSL certificates, and DNS listen addresses, among other settings. Here’s an example configuration file:
{
"api-domain": "shaman.nanobox.io",
"api-crt": "",
"api-key": "",
"api-key-password": "",
"api-listen": "127.0.0.1:1632",
"token": "secret",
"insecure": false,
"l2-connect": "scribble:vardbshaman",
"ttl": 60,
"domain": ".",
"dns-listen": "127.0.0.1:53",
"log-level": "info",
"server": true
}
Understanding API Integration
Shaman also provides an API for more advanced interactions. It uses standard HTTP methods (POST, GET, PUT, DELETE) for managing DNS records. Each API call requires a token for authentication, enhancing security. For more details, refer to the API documentation.
Troubleshooting Tips
If you encounter any issues while setting up or using Shaman, consider the following troubleshooting steps:
- Check Permissions: Ensure you’re running commands with the necessary administrative privileges, especially for port 53.
- Port Conflicts: Make sure that the ports for DNS requests and the API are not occupied by other applications.
- Invalid Domains: If you encounter an error while adding domains, ensure that the domain is formatted correctly.
- SSL Issues: If you’ve enabled SSL but are facing certificate errors, double-check the paths provided in your configuration file.
For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.
Conclusion
Shaman offers a lightweight yet powerful solution for your DNS server needs, and we hope this guide has provided clarity on its features. At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.