diff --git a/TODO.md b/TODO.md index 741e85b..02ffd9c 100644 --- a/TODO.md +++ b/TODO.md @@ -1,4 +1,4 @@ -# doggo - Initial Release Milestone +# todo ## Resolver - [x] Create a DNS Resolver struct @@ -58,19 +58,18 @@ - [x] Shell completions - [x] zsh - [x] fish -- [ ] Add tests for Resolvers. -- [ ] Add tests for CLI Output. - [x] Homebrew - Goreleaser -- [ ] Add support for `dig +trace` like functionality. - [x] Add `dig +short` short output - [x] Add `--strategy` for picking nameservers. -- [ ] Explore `dig.rc` kinda file - [x] Separate Authority/Answer in JSON output. - [x] Error on NXDomain (Related upstream [bug](https://github.com/miekg/dns/issues/1198)) - - [x] Reverse Lookup (dig -x) - [x] Shell completion proper -- CLI docs -- [ ] Helper util? -- Merge those as misc docs or usage -- [ ] Example Guide +- [x] CLI docs +- [x] Merge those as misc docs or usage +- [x] Example Guide + +- [ ] Add tests for Resolvers. +- [ ] Add tests for CLI Output. +- [ ] Add support for `dig +trace` like functionality. +- [ ] Explore `dig.rc` kinda file diff --git a/docs/astro.config.mjs b/docs/astro.config.mjs index 7475d11..7f814fb 100644 --- a/docs/astro.config.mjs +++ b/docs/astro.config.mjs @@ -9,7 +9,10 @@ export default defineConfig({ }, integrations: [ starlight({ - title: 'Documentation', + title: 'Doggo', + customCss: [ + './src/assets/custom.css', + ], social: { github: 'https://github.com/mr-karan/doggo', }, diff --git a/docs/public/favicon.svg b/docs/public/favicon.svg index cba5ac1..fcbfd4f 100644 --- a/docs/public/favicon.svg +++ b/docs/public/favicon.svg @@ -1 +1,28 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + diff --git a/docs/src/assets/custom.css b/docs/src/assets/custom.css new file mode 100644 index 0000000..af6c7d1 --- /dev/null +++ b/docs/src/assets/custom.css @@ -0,0 +1,3 @@ +.hero { + padding-block: unset; +} \ No newline at end of file diff --git a/docs/src/assets/doggo.png b/docs/src/assets/doggo.png new file mode 100644 index 0000000..b038483 Binary files /dev/null and b/docs/src/assets/doggo.png differ diff --git a/docs/src/assets/houston.webp b/docs/src/assets/houston.webp deleted file mode 100644 index 930c164..0000000 Binary files a/docs/src/assets/houston.webp and /dev/null differ diff --git a/docs/src/content/docs/index.mdx b/docs/src/content/docs/index.mdx index e822fdc..793057e 100644 --- a/docs/src/content/docs/index.mdx +++ b/docs/src/content/docs/index.mdx @@ -1,18 +1,35 @@ --- title: Doggo description: The Friendly DNS Client -template: splash hero: tagline: Command-line DNS client for humans - image: - file: ../../assets/houston.webp actions: - text: Visit Demo link: /app/ icon: right-arrow variant: primary - - text: Read the docs - link: /intro/installation - icon: external --- +![](../../assets/doggo.png) + +## Features + +- Human-readable output with color-coded and tabular format +- JSON output support for easy scripting and parsing +- Multiple transport protocols: + - DNS over HTTPS (DoH) + - DNS over TLS (DoT) + - DNS over QUIC (DoQ) + - DNS over TCP + - DNS over UDP + - DNSCrypt +- Support for `ndots` and `search` configurations from `resolv.conf` or command-line arguments +- Multiple resolver support with customizable query strategies +- IPv4 and IPv6 support +- Web interface available at [doggo.mrkaran.dev](https://doggo.mrkaran.dev) +- Shell completions for `zsh` and `fish` +- Reverse DNS lookups +- Flexible query options including various DNS flags (AA, AD, CD, DO, etc.) +- Debug mode for troubleshooting +- Response time measurement +- Cross-platform support (Linux, macOS, Windows, FreeBSD, NetBSD) \ No newline at end of file diff --git a/docs/src/content/docs/intro/installation.md b/docs/src/content/docs/intro/installation.md index 100262b..2515f44 100644 --- a/docs/src/content/docs/intro/installation.md +++ b/docs/src/content/docs/intro/installation.md @@ -5,21 +5,20 @@ description: Learn how to install Doggo, a modern command-line DNS client for hu Doggo can be installed using various methods. Choose the one that best suits your needs and system configuration. +### Easy Install (Recommended) -### Binary Installation - -You can download pre-compiled binaries for Linux, macOS, and Windows from the [Releases](https://github.com/mr-karan/doggo/releases) section of the GitHub repository. - -To install the latest `linux-amd64` binary: +The easiest way to install Doggo is by using the installation script: ```shell -$ cd "$(mktemp -d)" -$ curl -sL "https://github.com/mr-karan/doggo/releases/download/v0.3.7/doggo_0.3.7_linux_amd64.tar.gz" | tar xz -$ mv doggo /usr/local/bin -# doggo should be available now in your $PATH -$ doggo +curl -sS https://github.com/raw/mr-karan/doggo/main/install.sh | sh ``` +This script will automatically download and install the latest version of Doggo for your system. + +### Binary Installation + +You can download pre-compiled binaries for various operating systems and architectures from the [Releases](https://github.com/mr-karan/doggo/releases) section of the GitHub repository. + ### Docker Doggo is available as a Docker image hosted on GitHub Container Registry (ghcr.io). It supports both x86 and ARM architectures.