Pre-release
This release is a pre-release and may not be stable for production use.
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).
Release files for slimDNS 1.0.0rc2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| slimDNS-1.0.0rc2.tar.gz | 2.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| slimDNS-1.0.0rc2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 4.6 kB
Release files / slimDNS-1.0.0rc2.tar.gz
| Download URL | slimDNS-1.0.0rc2.tar.gz |
|---|---|
| Size | 2.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
950ff83af10aa1c3274ff99332f20f236f9c0874dcf07027b15077ab28ac59c9
|
|
BLAKE2b-256 checksum How to use checksums |
76edbe9246bed8164ef7d995ab982cb73084d64e06e2408e8a516954ce385710
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.0
|
Release files / slimDNS-1.0.0rc2-py3-none-any.whl
| Download URL | slimDNS-1.0.0rc2-py3-none-any.whl |
|---|---|
| Size | 2.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
330a34f886506b15584d6c556dd30e272e21989088139f3c5d261f6a37c4df00
|
|
BLAKE2b-256 checksum How to use checksums |
bb3b8c8709e368c0dac8bdcb81061e0f2c1bf3c7715166681ac4ee8ab38272d0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.0
|