Skip to content

A small async DNS client for MicroPython

License

Notifications You must be signed in to change notification settings

vshymanskyy/aiodns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

aiodns

StandWithUkraine GitHub issues GitHub license Support vshymanskyy

A small async DNS client for MicroPython

  • Works on ESP32, ESP8266, Raspberry Pi Pico W, WM W600 and other boards
  • Versatile, runs multiple queries at a time using multiple DNS servers
  • Supports IPv4 and IPv6
  • Works with WiFi, Ethernet, Cellular, and in multi-network scenarios
  • Caches up to 32 hostnames (configurable)
  • API-compatible with getaddrinfo

Install

Install using ViperIDE

Using CLI:

mpremote mip install github:vshymanskyy/aiodns

Using REPL (your board must be connected to the internet):

import mip
mip.install("github:vshymanskyy/aiodns")

Example

See usage examples

API

aiodns.servers = set(["8.8.8.8", "1.1.1.1"])
aiodns.servers.add("9.9.9.9")
aiodns.timeout_ms = 5000
aiodns.cache.clear()
aiodns.cache_size = 32
await aiodns.getaddrinfo(hostname, port, family=AF_INET, type=0, proto=0, flags=0)