docs: quickstart, api reference, faq

This commit is contained in:
ImSavsis 2026-07-19 23:23:04 +05:00
parent 2c1e4617cf
commit 8f78c8aaac
4 changed files with 132 additions and 0 deletions

63
docs/quickstart.md Normal file
View file

@ -0,0 +1,63 @@
# quickstart
## установка
```
pip install pydoh
```
## разовый резолвинг
```python
import pydoh
ips = pydoh.resolve("example.com")
print(ips) # ['93.184.216.34']
```
`resolve()` возвращает список строк-адресов, первый обычно и есть тот, что нужен.
## ipv6
```python
ips = pydoh.resolve6("example.com")
```
или через параметр:
```python
pydoh.resolve("example.com", record_type=28)
```
## подменить резолвинг во всём приложении
самый частый кейс — не переписывать код, а просто подменить как питон резолвит домены:
```python
import pydoh
pydoh.patch_socket()
import requests
requests.get("https://example.com") # уже через DoH, без изменений в коде requests
```
ставь `patch_socket()` в самом начале скрипта, до импорта/использования сетевых библиотек.
вернуть как было:
```python
pydoh.unpatch_socket()
```
## свой DoH-провайдер
если хочешь резолвить через свой сервер, а не через cloudflare/google/quad9:
```python
from pydoh.providers import Provider
my_provider = Provider(name="mine", host="doh.example.com", path="/dns-query")
ips = pydoh.resolve("example.com", providers=[my_provider])
```
сервер должен поддерживать [RFC 8484](https://www.rfc-editor.org/rfc/rfc8484) (`POST` с телом `application/dns-message`).