All Projects → unfrl → dug

unfrl / dug

Licence: other
A global DNS propagation checker that gives pretty output. Written in dotnet core

Programming Languages

C#
18002 projects
javascript
184084 projects - #8 most used programming language
shell
77523 projects
Dockerfile
14818 projects
CSS
56736 projects

Projects that are alternatives of or similar to dug

powerdns-php
PowerDNS API PHP Client
Stars: ✭ 67 (-67.79%)
Mutual labels:  dns
cfadmin
A lua web network framework.
Stars: ✭ 259 (+24.52%)
Mutual labels:  dns
AdGuard-WireGuard-Unbound-Cloudflare
The Ultimate Network Security Guide 🔒 Protection | 🔎 Privacy | 🚀 Performance on home network 24/7 🕛 Accessible anywhere 🌏
Stars: ✭ 160 (-23.08%)
Mutual labels:  dns
Windows.10.DNS.Block.List
Windows DNS Block List
Stars: ✭ 18 (-91.35%)
Mutual labels:  dns
solvere
A validating recursive DNS resolver library and standalone server with DNSSEC support
Stars: ✭ 32 (-84.62%)
Mutual labels:  dns
RESTKnot
REST API for Knot Service
Stars: ✭ 15 (-92.79%)
Mutual labels:  dns
fresh.py
An efficient multi-threaded DNS resolver validator
Stars: ✭ 80 (-61.54%)
Mutual labels:  dns
namecheapapi
Python Namecheap API wrapper. Supports domain registration/renewal/management, domain availability checks, DNS updates and more.
Stars: ✭ 22 (-89.42%)
Mutual labels:  dns
python-dyndnsc
dynamic dns (dyndns) update client with support for multiple protocols
Stars: ✭ 36 (-82.69%)
Mutual labels:  dns
flareon
🦊A cloudflare DNS over HTTPs resolver client library.
Stars: ✭ 14 (-93.27%)
Mutual labels:  dns
deckard
DNS test harness
Stars: ✭ 28 (-86.54%)
Mutual labels:  dns
Secure-Adblocking-DNS
Secure (DNS-over-TLS) Adblocking (Pi-hole) Recursive (unbound) Server System setup
Stars: ✭ 19 (-90.87%)
Mutual labels:  dns
dfex
DNS File EXfiltration
Stars: ✭ 46 (-77.88%)
Mutual labels:  dns
ssrf-agent
make http(s) request to prevent SSRF
Stars: ✭ 16 (-92.31%)
Mutual labels:  dns
ebook
Third edition of the Computer Networking: Principles, Protocols and Practice ebook
Stars: ✭ 64 (-69.23%)
Mutual labels:  dns
Dns
The Hoa\Dns library.
Stars: ✭ 22 (-89.42%)
Mutual labels:  dns
black-mirror
Automatically maintained malicious host blacklists and false-positive whitelists.
Stars: ✭ 41 (-80.29%)
Mutual labels:  dns
go-multiaddr-dns
Go library and CLI tool for /dns4, /dns6, /dnsaddr multiaddr resolution
Stars: ✭ 24 (-88.46%)
Mutual labels:  dns
noddos
Noddos client
Stars: ✭ 78 (-62.5%)
Mutual labels:  dns
checkdmarc
A parser for SPF and DMARC DNS records
Stars: ✭ 124 (-40.38%)
Mutual labels:  dns

dug

Build Status unfrl-dug

A powerful global DNS propagation checker that can output in a variety of formats.

The goal of dug is to make it easy to check the propagation of DNS records. It is also capable of providing templated output that can be used in scripts for things like monitoring.

For detailed documentation check out dug.unfrl.com

Usage

The easiest way to explore dug is through the help.

  • dug help -> Get top level help explaining the different verbs
  • dug help run or dug run --help -> Get details about a specific verb (run, which is the default)
  • dug help update or dug update --help -> Get details about the update verb

The simplest way to get started is to just run a query against the domain whose DNS records you're updating. For example: dug git.kaijucode.com:

You can also do complicated things like ask for specific record types, use the most reliable server per continent, get the output as json, and pipe it into other applications: dug git.kaijucode.com -q A --output-format JSON --server-count 1 --output-template Ipaddress,city,value,responsetime | jq:

Localization

dug automatically uses the current system's culture for localization. (You can override LANG on linux to test it).

Currently supports the following languages:

  • (en) English
  • (es) Spanish
  • (de) German

Installation

Linux Deb (Debian, Ubuntu, Mint, Pop!_os)

  1. Go to the latest release and download the .deb package.
    • It should look like dug.<version>.linux-x64.deb
  2. On most distros double clicking the .deb package will allow you to install via a UI, alternatively it can be installed by running sudo dpkg -i ./dug.<version>.linux-x64.deb

Linux RPM (RHEL, CentOS, Fedora)

  1. Go to the latest release and download the .rpm package.
    • It should look like dug.<version>.linux-x64.rpm
  2. On most distros double clicking the .deb package will allow you to install via a UI, alternatively it can be installed by running rpm -i ./dug.<version>.linux-x64.deb

Arch

A friend put dug in the AUR! here

Snap

Get it from the Snap Store

Install snap if you dont have it Guide

  1. Run: sudo snap install unfrl-dug
  2. Invoke with: unfrl-dug [OPTIONS]

Note: Annoyingly dug is a reserved package name and I am waiting for them to give it to me. When I get it the package will just be named dug

Docker

Not sure if this counts as an "Installation" but there is a docker image available here

OSX

Not Officially Supported Yet

  1. Go to the latest release and download the osx binary.
    • It should look like dug-osx-x64
  2. You should be able to download that, make is executable, and run it from the terminal. Then you can put it somewhere and update your path so you can execute it from anywhere.

Windows

Chocolatey (choco cli)

Chocolatey manually reviews all packages, which takes a while, so this can lag behind the latest. status info here

  1. Run: choco install dug

Executable

  1. Go to the latest release and download the .exe binary.
    • It should look like dug.exe
  2. You should be able to download that and run it from the terminal. Then you can put it somewhere and update your path so you can execute it from anywhere.

Development

This is a .net 5 project, so as long as you have the dotnet cli, available here you should be able to do the following: dotnet build ./cli

The project was developed in VSCode so the debugger profiles that I have used are available if you're also using VSCode.

The commands to build an optimized executable vary depending on the platform but are all available in the .drone.yml file. Here is the one to build the linux-x64 executable as an example:

dotnet publish -r linux-x64 -c Release -p:PublishSingleFile=true -p:PublishTrimmed=true -p:PublishReadyToRun=true --self-contained true -o publish ./cli

Testing

There is currently fairly limited testing, what does exist uses the BATS tool.

To run the BATS tests you will need to have cloned dug recursively, like: git clone --recursive <dug_repo_url>

If you didnt do that you can run this to restore the BATS submodules into ./cli.tests/bats/libs: git submodule update --init --recursive

Once you have BATS you should be able to simply run the BATS tests with: ./cli.tests/bats/run.sh

License

The license used by dug, here, is very explicitly designed to try to keep capitalists from benefiting from this tool. This is not a traditional license but it is very simple, please read it.

Made with ❤️ by Unfrl

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].