无故障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文件。