/dot-proxy

DNS over TLS Proxy Server for Non-Systemd Distros.

Primary LanguagePythonMIT LicenseMIT

README

PyPI - Version PyPI - License PyPI - Downloads

DNS over TLS Proxy Server.

Install and Run

Via Docker Compose:

# clone project
$ git clone https://github.com/s3rgeym/dot-proxy
$ cd dot-proxy

# edit .env to specify custom dns

# run proxy
$ docker-compose up -d

# test
$ dig www.linux.org.ru @127.0.0.52

; <<>> DiG 9.18.26 <<>> www.linux.org.ru @127.0.0.52
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48430
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; PAD: (403 bytes)
;; QUESTION SECTION:
;www.linux.org.ru.              IN      A

;; ANSWER SECTION:
www.linux.org.ru.       2072    IN      A       178.248.233.6

;; Query time: 100 msec
;; SERVER: 127.0.0.52#53(127.0.0.52) (UDP)
;; WHEN: Sun Apr 28 05:55:31 MSK 2024
;; MSG SIZE  rcvd: 468


# To view logs
$ docker-compose logs -f

Using PIP:

pip install dot-proxy
dot-proxy -h

Configure System DNS

Configure Network Manager:

/etc/NetworkManager/conf.d/dns.conf:

[main]
dns=none

Configure DNS Resolver:

/etc/resolv.conf:

nameserver 127.0.0.52

Test:

$ dig www.linux.org.ru | grep -i server
;; SERVER: 127.0.0.52#53(127.0.0.52) (UDP)