0 purchases
slimDNS 1.0.0rc2
slimDNS
A simple DNS server written in vanilla Python.
slimDNS documentation
slimDNS discord server
slimDNS supports A, NS, SOA and SRV records (as of v1.0.0rc2).
Installation
pip install slimDNS
or simply git clone this repository.
Minimal example
import slimDNS
dns = slimDNS.server(slimDNS.UDP)
dns.run()
This would host a DNS server without any records.
There's two ways you can add records:
Swap out all records via annotation
@dns.records
def records(server):
return {
"example.com" : {
"A" : {"target" : "264.30.198.2", "ttl" : 60},
"SOA" : {"target" : "example.com", "ttl" : 60},
"NS" : {"target" : "example.com", "ttl" : 60, "priority" : 10}
},
"nas.example.com" : {
"A" : {"target" : "264.30.198.2", "type" : "A", "ttl" : 60}
},
"_matrix._tcp.riot.example.com" : {
"SRV" : {"ttl" : 60, "priority" : 10, "port" : 8448, "target" : "nas.example.com"}
}
}
Which would swap out all current records for the defined set of records.
Add, delete and update records
dns.remove('example.com', 'A')
dns.add('example.com', 'A', '264.30.198.1')
dns.update('example.com', 'A', '264.30.198.5')
Which would remove the A record example.com,
Then add a new similar one with a new UP and
finally update that new record with a new IP.
Note
Requires Python 3.8+ & Linux (not tested on other platforms).
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.