无故障yo / dealdoh-client
一个DNS代理客户端,通过HTTP和CLI以不同的协议进行DNS查询和转发。
Requires
- php: ^7.3
- ext-json: *
- noglitchyo/dealdoh: ^0.4.0
- nyholm/psr7: ^1.1
- php-di/php-di: ^6.0
- php-http/guzzle6-adapter: ^2.0
- psr/http-client: 1.0.1
- psr/log: ^1.1
- slim/http: ^0.7.0
- slim/slim: 4.0.0-beta
- symfony/console: ^4.3
Requires (Dev)
- mockery/mockery: ^1.2
- monolog/monolog: ^1.24
- phpstan/phpstan: ^0.11.8
- phpunit/phpunit: ^8.1
- squizlabs/php_codesniffer: 3.5
This package is auto-updated.
Last update: 2024-09-21 23:35:22 UTC
README
一个处理DNS over HTTPS等的玩具!
dealdoh-client是一个简单的DNS客户端,内嵌了DNS-over-HTTPS (DoH) 代理服务器和CLI,可以多种上游方式执行和转发DNS查询。
描述
dealdoh-client可以以不同的方式、用于不同的目的
- 作为一个DoH代理服务器
- 作为一个DNS客户端,使用提供的命令行客户端进行DNS查询
- 两者都可以使用一组DNS上游,可以通过运行一些命令轻松配置
Dealdoh是基于Dealdoh库构建的。
路线图
入门
如上所述,有多种方式使用dealdoh-client。让我们看看目前可以用dealdoh-client做什么。
作为一个DoH代理服务器
作为一个DNS命令行客户端
要求
- PHP 7.3
- Composer
安装
- 您可以通过克隆项目来使用客户端
git clone https://github.com/noglitchyo/dealdoh-client
composer install
- 或者在一个项目中作为依赖项使用
composer require noglitchyo/dealdoh-client
用法
添加DNS上游
您可以使用以下命令将DNS上游添加到DNS池
php bin/dealdoh upstream:add https://dns.google.com/resolve google-doh-api
执行DNS查询
要从命令行直接执行DNS查询,您可以使用提供的二进制文件
php bin/dealdoh resolve tools.ietf.org AAAA --pretty
它将以JSON字符串的形式输出结果:(响应被截断)
{ "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": [] }
测试
如果您想运行测试,请检出项目,然后使用以下命令运行测试
composer test
贡献
从这里开始CONTRIBUTING.md。
许可
本项目的许可协议为MIT许可 - 有关详细信息,请参阅LICENSE.md文件。