PHPackages                             noglitchyo/dealdoh-client - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [CLI &amp; Console](/categories/cli)
4. /
5. noglitchyo/dealdoh-client

ActiveLibrary[CLI &amp; Console](/categories/cli)

noglitchyo/dealdoh-client
=========================

A DNS proxy client to make/forward DNS query via HTTP &amp; CLI with different protocols.

0.2.0-beta(5y ago)271[3 PRs](https://github.com/noglitchyo/dealdoh-client/pulls)MITPHPPHP ^7.3

Since Jun 20Pushed 3y ago1 watchersCompare

[ Source](https://github.com/noglitchyo/dealdoh-client)[ Packagist](https://packagist.org/packages/noglitchyo/dealdoh-client)[ RSS](/packages/noglitchyo-dealdoh-client/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (2)Dependencies (14)Versions (6)Used By (0)

dealdoh-client
==============

[](#dealdoh-client)

> A toy to deal DNS over HTTPS and more!

dealdoh-client is a simple DNS client embedding a DNS-over-HTTPS (DoH) proxy server and CLI to make &amp; forward DNS queries through a variety of upstreams.

[![PHP from Packagist](https://camo.githubusercontent.com/cdc5325882961398543f333342a24d3ca0257720d04b27d9d497e9fa0687dd3a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6e6f676c69746368796f2f6465616c646f682d636c69656e742e737667)](https://camo.githubusercontent.com/cdc5325882961398543f333342a24d3ca0257720d04b27d9d497e9fa0687dd3a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6e6f676c69746368796f2f6465616c646f682d636c69656e742e737667)[![Build Status](https://camo.githubusercontent.com/3104cb4d2e3b12c8691cbf4fe52b6f48c433beb2ed96f2f2c2135896f4185114/68747470733a2f2f7472617669732d63692e6f72672f6e6f676c69746368796f2f6465616c646f682d636c69656e742e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/noglitchyo/dealdoh-client)[![codecov](https://camo.githubusercontent.com/2f98cc179dca2992a49f26a9ebc9f45bd136e7d048cf128c9212a56b32b115c4/68747470733a2f2f636f6465636f762e696f2f67682f6e6f676c69746368796f2f6465616c646f682d636c69656e742f6272616e63682f6d61737465722f67726170682f62616467652e737667)](https://codecov.io/gh/noglitchyo/dealdoh-client)[![Scrutinizer code quality (GitHub/Bitbucket)](https://camo.githubusercontent.com/3c8274ac8fb3b1dc23870e1ec0bbb99e9955be494e2b6450f1ac5dc203c4e33f/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f7175616c6974792f672f6e6f676c69746368796f2f6465616c646f682d636c69656e742e737667)](https://camo.githubusercontent.com/3c8274ac8fb3b1dc23870e1ec0bbb99e9955be494e2b6450f1ac5dc203c4e33f/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f7175616c6974792f672f6e6f676c69746368796f2f6465616c646f682d636c69656e742e737667)[![Packagist](https://camo.githubusercontent.com/29bd2cdbe4b7ac7e28085ddd42a034ab3bf245099016e99cfba95b7ad2ce78ae/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6e6f676c69746368796f2f6465616c646f682d636c69656e742e737667)](https://camo.githubusercontent.com/29bd2cdbe4b7ac7e28085ddd42a034ab3bf245099016e99cfba95b7ad2ce78ae/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6e6f676c69746368796f2f6465616c646f682d636c69656e742e737667)[![Docker Cloud Build Status](https://camo.githubusercontent.com/0ae58d76b94cda32f4a1266d37311583f260d3daee12c0c69923291c4f7891e6/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f636c6f75642f6275696c642f6e6f676c69746368796f2f6465616c646f682d636c69656e742e737667)](https://camo.githubusercontent.com/0ae58d76b94cda32f4a1266d37311583f260d3daee12c0c69923291c4f7891e6/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f636c6f75642f6275696c642f6e6f676c69746368796f2f6465616c646f682d636c69656e742e737667)

Description
-----------

[](#description)

dealdoh-client can be use in different manners and for different purposes:

- as a DoH proxy server
- as a DNS client, using the provided command-line client to make DNS queries
- both can use a pool of DNS upstream which can be easily configured by running some commands

Dealdoh is built on top of the [Dealdoh library](https://github.com/noglitchyo/dealdoh).

Roadmap
-------

[](#roadmap)

- [Docker image](./docker/README.md)

Getting started
---------------

[](#getting-started)

As mentionned above, there is multiple ways to use dealdoh-client. Let's see what can be done at the time with dealdoh-client.

### As a DoH proxy server

[](#as-a-doh-proxy-server)

### As a DNS command-line client

[](#as-a-dns-command-line-client)

#### Requirements

[](#requirements)

- PHP 7.3
- [Composer](https://getcomposer.org/doc/00-intro.md)

#### Installation

[](#installation)

- You can use the client by cloning the project:

`git clone https://github.com/noglitchyo/dealdoh-client`

`composer install`

- or by using as a dependency in a project:

`composer require noglitchyo/dealdoh-client`

#### Usage

[](#usage)

##### Add a DNS upstream

[](#add-a-dns-upstream)

You can use the following command to add a DNS upstream to the DNS pool:

`php bin/dealdoh upstream:add https://dns.google.com/resolve google-doh-api`

##### Execute a DNS query

[](#execute-a-dns-query)

To execute DNS query directly from the command-line, you can use the provided binary:

`php bin/dealdoh resolve tools.ietf.org AAAA --pretty`

It will output the result as JSON string: (response is truncated)

```
{
    "header": {
        "id": 0,
        "qr": true,
        "opcode": 0,
        "aa": false,
        "tc": false,
        "rd": true,
        "ra": true,
        "z": 0,
        "rcode": 0
    },
    "question": [
        {
            "qname": "tools.ietf.org.",
            "qtype": 28,
            "qclass": 1
        }
    ],
    "answer": [
        {
            "name": "tools.ietf.org.",
            "type": 28,
            "class": 1,
            "ttl": 13,
            "data": "2001:1900:3001:11::3e"
        }
    ],
    "authority": [],
    "additional": []
}
```

Testing
-------

[](#testing)

If you wish to run the test, checkout the project and run the test with:

`composer test`

Contributing
------------

[](#contributing)

Get started here [CONTRIBUTING.md](CONTRIBUTING.md).

License
-------

[](#license)

This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~412 days

Total

2

Last Release

2104d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/5823bcfba95933f99e94e241cbd3f5c22cec877d24b8c9f602bf44c4cd821cd5?d=identicon)[noglitchyo](/maintainers/noglitchyo)

---

Top Contributors

[![noglitchyo](https://avatars.githubusercontent.com/u/764791?v=4)](https://github.com/noglitchyo "noglitchyo (5 commits)")

---

Tags

clidnsdns-clientdns-over-httpsdohmiddlewareproxyrfc-8484dnsdns-resolverdns-over-httpsdohdns-clientdns-proxy

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/noglitchyo-dealdoh-client/health.svg)

```
[![Health](https://phpackages.com/badges/noglitchyo-dealdoh-client/health.svg)](https://phpackages.com/packages/noglitchyo-dealdoh-client)
```

###  Alternatives

[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.3M152](/packages/sulu-sulu)[crunzphp/crunz

Schedule your tasks right from the code.

2292.0M6](/packages/crunzphp-crunz)[contao/core-bundle

Contao Open Source CMS

1231.6M2.3k](/packages/contao-core-bundle)[civicrm/cv

CLI tool for CiviCRM

4219.8k](/packages/civicrm-cv)[bacula-web/bacula-web

The open source web based reporting and monitoring tool for Bacula

1537.5k](/packages/bacula-web-bacula-web)[danog/dns-over-https

Async DNS-over-HTTPS resolution for Amp.

11709.8k7](/packages/danog-dns-over-https)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
