All Projects → jczic → MicroDNSSrv

jczic / MicroDNSSrv

Licence: MIT License
A micro DNS server for MicroPython to simply respond to A queries on multi-domains with or without wildcards (used on Pycom modules & ESP32)

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to MicroDNSSrv

XAsyncSockets
XAsyncSockets is an efficient Python/MicroPython library of managed asynchronous sockets.
Stars: ✭ 28 (-34.88%)
Mutual labels:  wipy, pycom, hc2
unbound-dns-firewall
DNS-Firewall Python script for UNBOUND
Stars: ✭ 23 (-46.51%)
Mutual labels:  dns, dns-server
xip.name
Simple wildcard DNS inspired by xip.io
Stars: ✭ 143 (+232.56%)
Mutual labels:  dns, dns-server
Alfis
Alternative Free Identity System
Stars: ✭ 162 (+276.74%)
Mutual labels:  dns, dns-server
docker-nxfilter
🐳 Run NxFilter in Docker!
Stars: ✭ 28 (-34.88%)
Mutual labels:  dns, dns-server
afdns
Ad free DNS server. A docker container with a DNS server configured to block advertisement hosts.
Stars: ✭ 27 (-37.21%)
Mutual labels:  dns, dns-server
AmpliSpy
Check local or remote list of DNS servers for suitability in DNS Amplification DoS.
Stars: ✭ 39 (-9.3%)
Mutual labels:  dns, dns-server
sensor-city-delft
Collection of code examples for the Pycom Lopy development boards
Stars: ✭ 14 (-67.44%)
Mutual labels:  lopy, pycom
Windows.10.DNS.Block.List
Windows DNS Block List
Stars: ✭ 18 (-58.14%)
Mutual labels:  dns, dns-server
Secure-Adblocking-DNS
Secure (DNS-over-TLS) Adblocking (Pi-hole) Recursive (unbound) Server System setup
Stars: ✭ 19 (-55.81%)
Mutual labels:  dns, dns-server
dnsfwd
DNS forwarder over a (TCP) virtual circuit
Stars: ✭ 21 (-51.16%)
Mutual labels:  dns, dns-server
upython-aq-monitor
Air Quality monitor using PMS5003 sensor and WiPy development board implemented in MicroPython
Stars: ✭ 26 (-39.53%)
Mutual labels:  wipy, pycom
FreeGithub
😊自动获取github相关网站的ip地址,解决github链接不畅通的问题
Stars: ✭ 45 (+4.65%)
Mutual labels:  dns, ip
pycom-ruuvitag
Pycom MicroPython RuuviTag BLE Sensor Beacon scanner
Stars: ✭ 18 (-58.14%)
Mutual labels:  esp32, pycom
fastdns
Fast DNS package for Go. Tuned for high performance. Zero memory allocations in almost paths. Up to 1M QPS on a single host.
Stars: ✭ 67 (+55.81%)
Mutual labels:  dns, dns-server
newdns
A library for building custom DNS servers in Go.
Stars: ✭ 40 (-6.98%)
Mutual labels:  dns, dns-server
go-multiaddr-dns
Go library and CLI tool for /dns4, /dns6, /dnsaddr multiaddr resolution
Stars: ✭ 24 (-44.19%)
Mutual labels:  dns, resolve
cacheable-lookup
A cacheable dns.lookup(…) that respects TTL 🎉
Stars: ✭ 121 (+181.4%)
Mutual labels:  lookup, resolve
lamatrix
Animated 8x32 LED matrix display / smart clock with a microcontroller and (Micro)Python
Stars: ✭ 31 (-27.91%)
Mutual labels:  wipy, pycom
ssrf-agent
make http(s) request to prevent SSRF
Stars: ✭ 16 (-62.79%)
Mutual labels:  dns, lookup

MicroDNSSrv is a micro DNS server for MicroPython to simply respond to A queries (principally used on ESP32 and Pycom modules)

HC²

Very easy to integrate and very light with one file only :

  • "microDNSSrv.py"

Simple but effective :

  • Use it to embed a fast DNS server in yours modules
  • Simply responds to A queries (only)
  • Use a list of multiple domains
  • Include wildcards in the scheme of names
  • Use it to make a captive portal simply

Using microDNSSrv main class :

Name Function
Constructor mds = MicroDNSSrv()
Start DNS server mds.Start()
Stop DNS server mds.Stop()
Check if DNS server is running mds.IsStarted()
Set the domain names list mds.SetDomainsList(domainsList)

Basic example :

from microDNSSrv import MicroDNSSrv
domainsList = {
  "test.com"   : "1.1.1.1",
  "*test2.com" : "2.2.2.2",
  "*google*"   : "192.168.4.1",
  "*.toto.com" : "192.168.4.1",
  "www.site.*" : "192.168.4.1" }
mds = MicroDNSSrv(domainsList)
if mds.Start() :
  print("MicroDNSSrv started.")
else :
  print("Error to starts MicroDNSSrv...")

Using microDNSSrv speedly creation of the class :

from microDNSSrv import MicroDNSSrv
if MicroDNSSrv.Create( {
  "test.com"   : "1.1.1.1",
  "*test2.com" : "2.2.2.2",
  "*google*"   : "192.168.4.1",
  "*.toto.com" : "192.168.4.1",
  "www.site.*" : "192.168.4.1" } ) :
  print("MicroDNSSrv started.")
else :
  print("Error to starts MicroDNSSrv...")

Using for a captive portal :

MicroDNSSrv.Create({ '*' : '192.168.0.254' })

By JC`zic for HC² ;')

Keep it simple, stupid 👍

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].