CURVEDNS(8)
π CURVEDNS(8) β the group chat guide to curvedns
okay so this is curvedns(8), from the System Manager's Manual (section 8, system manager land, we love a system manager). she's a whole daemon, she's high-speed, she's high-security, she's elliptic-curve, and she's about to forward your DNS like nobody's business. let's get into it bestie π¦
β¨ NAME β¨
curvedns β high-speed high-security elliptic-curve cryptography DNS server. yes that is the whole vibe. no notes. π
π SYNOPSIS π
curvedns listening_IPs listening_port target_DNS_server_IP target_DNS_server_port
four arguments. all mandatory. she does not do optional here. π
π DESCRIPTION π
curvedns(8) is a daemon that implements the DNSCurve protocol, and she acts as a forwarder to an authoritative DNS server. main character energy fr.
the daemon is started with four mandatory command line arguments, and here they are, in order, no skips:
listening_IPsβ the IP addresses on which CurveDNS should listen. if you have more than one IP address, separate them by a comma (,). heads up: both IPv4 and IPv6 addresses can be used. valid inputs are, for example:192.168.0.1andfe80::1,10.3.11.86. and if you want CurveDNS to listen on all IP addresses, use0.0.0.0(for IPv4 hosts) or::(for IPv6 hosts).listening_portβ the port number on which CurveDNS should listen. if you want to use a port number beneath1024, you must be root β but not forever, bestie: nevertheless, CurveDNS will eventually drop the root privileges once it has done all the tasks that need root. she's responsible like that. πtarget_DNS_server_IPβ this is the IP address of the authoritative name server we are forwarding non-DNSCurve queries to. this can be either an IPv4 or IPv6 address. either one, she's flexible. β¨target_DNS_server_portβ the port number of the authoritative name server we are forwarding for. usually this will be53. the classic. the icon. π
π§ ENVIRONMENT VARIABLES π§
curvedns(8) does not use a configuration files. nope! instead, all remaining configuration uses environment variables. it's giving β¨config but make it vibesβ¨.
Mandatory environment variables:
CURVEDNS_PRIVATE_KEYβ the hexadecimal representation of the server's private (secret) key. okay so this one is not optional, do not forget her, do not lose her, do not post her in the group chat. π
Optional environment variables:
CURVEDNS_INTERNAL_TIMEOUTβ number of seconds when to consider the target server has timeout (default:1.2)CURVEDNS_UDP_TRIESβ total number of tries towards the target server before we drop the query (default:2)CURVEDNS_TCP_NUMBERβ number of simultaneous TCP connections that are allowed (default:25)CURVEDNS_TCP_TIMEOUTβ number of seconds before the TCP session to the client times out (default:60.0)CURVEDNS_SHARED_SECRETSβ number of shared secrets that can be cached (default:5000)
depending on your query load and the number of clients, increasing the number of cached shared secrets can improve performance. it is a good idea to temporarily set the debug level (see next option) to debug when you alter this value. using this level, curvedns will log the amount of memory it reserved for the shared secret cache during startup. in this way you can check whether this will suit your system's physical memory boundaries. so yeah β peek before you yeet. π
CURVEDNS_DEBUGβ the debug level to control what events to log (default :2)
available debug levels: 1 (fatal), 2 (error), 3 (warning), 4 (info), 5 (debug)
CURVEDNS_SOURCE_IPβ the IP address CurveDNS will use as source IP address when it forwards the query to the authoritative name server (default: let kernel decide). letting the kernel decide is lowkey the most chill option, tbh. πΈ
π«Ά SEE ALSO π«Ά
- man (1)
curvedns-keygen - installation and configuration from github
https://github.com/curvedns/curvedns/blob/master/INSTALL.md
π MANPAGE AUTHOR π
Stephane Neveu stefneveu@gmail.com
and that's the whole page, bestie!! π she's from the System Manager's Manual, she's dated July 2026, and she'll live forever as CURVEDNS(8) in your heart (and in your man pages) π mwah, go encrypt something gorgeous β¨π¦
π¦ where this page comes from
- ubuntu stonking: curvedns 0.87-8 Β· BSD-2-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms