- Notifications
You must be signed in to change notification settings - Fork4
🛢 DNS over HTTPS Trusted Root Resolver for Commons Host
commonshost/playdoh
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Middleware for Node.js web servers to expose DNS over HTTPS (DoH).
Implement:DNS Queries over HTTPS (DoH) [RFC8484].
Configure Firefox to use Commons Host DNS over HTTPS in 3 steps. Enjoy a more private and secure Internet.
Playdoh powers the 🐑Commons Host DNS over HTTPS service running on >20 global edge servers. The service is free and public. No tampering, no filtering, no logging.
OpenPreferences and underNetwork Settings press theSettings... button.
CheckEnable DNS over HTTPS
Enter in theURL field:
https://commons.host
Browse to:
about:config
Search:
network.trr.
Configure:
Preference Name Value network.trr.mode
2 network.trr.uri
https://commons.host
Note: HTTP/2 is the minimumrecommended version of HTTP for use with DoH.
const{ playdoh}=require('playdoh')// Defaultsconstoptions={// udp4 (IPv4) or udp6 (IPv6)protocol:'udp4',// Defaults to 0.0.0.0 (udp4) or ::0 (udp6)localAddress:'',// Defaults to 127.0.0.1 (udp4) or ::1 (udp6)resolverAddress:'',// Standard DNS portresolverPort:53,// Maximum DNS lookup durationtimeout:10000}constmiddleware=playdoh(options)
The middleware function follows the Node.js convention and is compatible with most popular web server frameworks.
Default:udp4
Can be eitherudp4
orudp6
to indicate whether to connect to the resolver over IPv4 or IPv6 respectively.
Default:0.0.0.0
(IPv4) or::0
(IPv6)
The UDP socket is bound to this address.
Use a loopback IP address (''
empty string,localhost
,127.0.0.1
, or::1
) to only accept local DNS resolver responses.
Use a wildcard IP address (0.0.0.0
or::0
) to accept remote DNS resolver responses.
Default:127.0.0.1
(IPv4) or::1
(IPv6)
The IP address of the DNS resolver. Queries are sent via UDP.
See also:List of public DNS service operators on Wikipedia.
Default:53
The port of the DNS resolver.
Default:10000
Number of milliseconds to wait for a response from the DNS resolver.
constconnect=require('connect')const{ createSecureServer}=require('http2')constapp=connect()app.use(middleware)constoptions={key:fs.readFileSync('server-key.pem'),cert:fs.readFileSync('server-cert.pem')}constserver=createSecureServer(options,app)server.listen(443)
constfastify=require('fastify')({http2:true,https:{key:fs.readFileSync('server-key.pem'),cert:fs.readFileSync('server-cert.pem')}})fastify.use(middleware)fastify.listen(443)
Made byKenny Shen andSebastiaan Deckers for 🐑Commons Host.
About
🛢 DNS over HTTPS Trusted Root Resolver for Commons Host