https://github.com/mxssl/doh
Simple DNS over HTTPS cli client for Cloudflare
https://github.com/mxssl/doh
Last synced: 6 months ago
JSON representation
Simple DNS over HTTPS cli client for Cloudflare
- Host: GitHub
- URL: https://github.com/mxssl/doh
- Owner: mxssl
- License: unlicense
- Created: 2022-11-19T16:44:34.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-03-15T00:25:02.000Z (over 1 year ago)
- Last Synced: 2025-03-15T01:25:09.300Z (over 1 year ago)
- Language: Go
- Homepage:
- Size: 88.9 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# doh
Simple DNS over HTTPS cli client
## Install
### Linux amd64
```bash
curl -LO https://github.com/mxssl/doh/releases/download/v0.0.19/doh_linux_amd64.tar.gz
tar zvxf doh_linux_amd64.tar.gz
sudo mv doh /usr/local/bin/doh
rm doh_linux_amd64.tar.gz
```
### Linux arm64
```bash
curl -LO https://github.com/mxssl/doh/releases/download/v0.0.19/doh_linux_arm64.tar.gz
tar zvxf doh_linux_arm64.tar.gz
sudo mv doh /usr/local/bin/doh
rm doh_linux_arm64.tar.gz
```
### MacOS arm64 (Apple Silicon)
```bash
curl -LO https://github.com/mxssl/doh/releases/download/v0.0.19/doh_darwin_arm64.tar.gz
tar zvxf doh_darwin_arm64.tar.gz
sudo mv doh /usr/local/bin/doh
rm doh_darwin_arm64.tar.gz
```
### Golang
```bash
go install github.com/mxssl/doh@latest
```
### Docker
```bash
docker pull mxssl/doh:v0.0.19
docker container run --rm mxssl/doh:v0.0.19 a google.com
```
## Usage
```bash
doh [flags] [query type] [domain name]
```
### Flags
- `--whois` - Perform WHOIS lookup for IP addresses (A and AAAA records)
- `--json` - Output results in JSON format
- `--provider` - DNS-over-HTTPS provider: `cloudflare` (default) or `google`
## Examples
### Basic DNS query (without WHOIS)
```bash
$ doh a google.com
name: google.com
type: 1
ttl: 291
data: 142.250.200.78
```
### Using Google DNS provider
```bash
$ doh a google.com --provider google
name: google.com.
type: 1
ttl: 300
data: 142.250.184.14
```
### DNS query with WHOIS lookup
```bash
$ doh a google.com --whois
name: google.com
type: 1
ttl: 291
data: 142.250.200.78
whois: Google LLC
```
### JSON output
```bash
$ doh --json a google.com
{
"records": [
{
"name": "google.com",
"type": 1,
"ttl": 115,
"data": "142.251.36.14"
}
]
}
```
### JSON output with WHOIS
```bash
$ doh --json --whois a google.com
{
"records": [
{
"name": "google.com",
"type": 1,
"ttl": 47,
"data": "142.250.179.206",
"whois": "Google LLC"
}
]
}
```