An open API service indexing awesome lists of open source software.

https://github.com/7c/doh-client

doh-client implementation in javascript
https://github.com/7c/doh-client

Last synced: 3 months ago
JSON representation

doh-client implementation in javascript

Awesome Lists containing this project

README

          

## DOH CLIENT (NodeJS)
NodeJS based Dns-Over-Https client implementation
## Install
`npm i -g https://github.com/7c/doh-client`
This will install doh-client as global executable

## Usage
`doh `

## Options
```
Usage:
doh [...parameters...]
--rtype resource type to query, default 'A'
--method request method,default 'POST'
--server doh server,default 'https://ns3.com'
--format output format, default 'json', available:'string','basic'

--timeout query timeout, default: 5
--useragent sets user-agent for requests, default:'ns3-doh-client'
--version outputs the version of doh-client version
```

## BASIC Output
```
$ doh ns3.com --format basic
ns3.com IN A 142.93.50.149
ns3.com IN A 144.202.68.103
ns3.com IN A 66.42.82.132
ns3.com IN A 3.136.108.55
ns3.com IN A 104.238.182.24
ns3.com IN A 140.82.29.140
ns3.com IN A 104.207.138.237
ns3.com IN A 137.184.82.165
ns3.com IN A 45.77.163.166
$ doh ns3.com --format basic --rtype mx
ns3.com IN MX 50 mx3.zoho.com
ns3.com IN MX 20 mx2.zoho.com
ns3.com IN MX 10 mx.zoho.com
```

## JSON Output
output format can be changed with --format option

```
{
query: {
name: 'ns3.com',
hostname: 'ns3.com',
path: '/',
method: 'POST',
userAgent: 'ns3-doh-client',
type: 'A',
port: 443,
klass: 'IN',
useHttps: true
},
spent: 243,
dohServer: {
id: 0,
type: 'response',
flags: 384,
flag_qr: true,
opcode: 'QUERY',
flag_aa: false,
flag_tc: false,
flag_rd: true,
flag_ra: true,
flag_z: false,
flag_ad: false,
flag_cd: false,
rcode: 'NOERROR',
questions: [ { name: 'ns3.com', type: 'A', class: 'IN' } ],
answers: [
{
name: 'ns3.com',
type: 'A',
ttl: 300,
class: 'IN',
flush: false,
data: '104.238.182.24'
},
{
name: 'ns3.com',
type: 'A',
ttl: 300,
class: 'IN',
flush: false,
data: '137.184.82.165'
},
{
name: 'ns3.com',
type: 'A',
ttl: 300,
class: 'IN',
flush: false,
data: '3.136.108.55'
},
{
name: 'ns3.com',
type: 'A',
ttl: 300,
class: 'IN',
flush: false,
data: '45.77.163.166'
},
{
name: 'ns3.com',
type: 'A',
ttl: 300,
class: 'IN',
flush: false,
data: '104.207.138.237'
},
{
name: 'ns3.com',
type: 'A',
ttl: 300,
class: 'IN',
flush: false,
data: '142.93.50.149'
},
{
name: 'ns3.com',
type: 'A',
ttl: 300,
class: 'IN',
flush: false,
data: '66.42.82.132'
},
{
name: 'ns3.com',
type: 'A',
ttl: 300,
class: 'IN',
flush: false,
data: '144.202.68.103'
},
{
name: 'ns3.com',
type: 'A',
ttl: 300,
class: 'IN',
flush: false,
data: '140.82.29.140'
},
{
name: 'ns3.com',
type: 'A',
ttl: 300,
class: 'IN',
flush: false,
data: '54.219.166.243'
}
],
authorities: [],
additionals: []
}
}
```