RULI(1)
π RULI β bestie edition π
okay so this is the manual page for RULI(1), from the General Commands Manual section of your local man setup, and it's literally all about the sample programs that ship with the RULI library π we're doing RFC 2782 SRV lookups and we're doing them cute.
β¨ NAME β¨
srvsearch, sync_srvsearch, smtpsearch, sync_smtpsearch, httpsearch, sync_httpsearch, ruli-getaddrinfo, getaddrinfo β these are the sample programs for the RULI Library, and yes they do RFC 2782 things π¦
πΈ SYNOPSIS πΈ
like, just pipe an SRV-ish name into them and go:
echo _service._protocol.nongnu.org | getaddrinfo
echo _service._protocol.nongnu.org | ruli-getaddrinfo [ options ]
echo _service._protocol.nongnu.org | srvsearch [ options ]
echo _service._protocol.nongnu.org | sync_srvsearch [ options ]
echo nongnu.org | smtpsearch [ options ]
echo nongnu.org | sync_smtpsearch [ options ]
echo nongnu.org | httpsearch [ options ]
echo nongnu.org | sync_httpsearch [ options ]
see how the smtp/http ones only want the bare domain? yeah. different vibe, different input π
π DESCRIPTION π
This manual page documents, briefly, the sample programs for the ruli(3) library. Short and sweet, we love that for us.
ruli is a library aimed at querying DNS SRV resource records β that's the whole point of it, no cap.
π OPTIONS π
For http searches, one can force the port number by specifying it as the first option. (yes, first. position matters, bestie, it's giving picky but okay.)
searchβ use the resolver search list defined in/etc/resolv.confπneed_raβ require the RA (Recursion Available) bit in the name server answer. no RA, no vibes.noinetβ don't fetch IPv4 addresses πnoinet6β don't fetch IPv6 addresses π«Άuri_portβ assume the specified default port was forced by the user-supplied URInowalkβ don't search addresses that are missing from the name server answernofallβ don't launch fallback queries for addresses, if the SRV query fails πnosort6β don't sort the address list to give preference to IPv6 addressesrfc3484β enable RFC3484 destination address selection rules βcnameβ allow CNAME in SRV targets π
π EXAMPLES π
copy-paste these, they ate:
echo _sip._udp.nongnu.org | getaddrinfo
echo _telnet._tcp.nongnu.org | ruli-getaddrinfo rfc3484
echo _smtp._tcp.nongnu.org | srvsearch search
echo _smtp._tcp.nongnu.org | sync_srvsearch search noinet6
echo nongnu.org | smtpsearch noinet
echo nongnu.org | sync_smtpsearch nowalk nofall
echo nongnu.org | httpsearch noinet6
echo nongnu.org | sync_httpsearch 80
note that last one? 80 sitting right there in first-option position like the OPTIONS section promised π consistency is the moment.
π¦ SEE ALSO π¦
π AUTHOR π
This manual page was written by Everton da Silva Marques <evertonsm@yahoo.com.br> β thank you for your service, legend π«Ά
and that's the whole page, bestie!! this version of RULI(1) is dated September 1, 2005, living in the General Commands Manual section forever and ever, and honestly? iconic. periodt. π
β¨
π¦ where this page comes from
- debian bookworm: libruli-bin 0.36-3+b1
- debian trixie: libruli-bin 0.36-3.1+b1
- ubuntu jammy: libruli-bin 0.36-2
- ubuntu noble: libruli-bin 0.36-3.1build2
- ubuntu questing: libruli-bin 0.36-3.1build2
- ubuntu resolute: libruli-bin 0.36-3.1build3
- ubuntu stonking: libruli-bin 0.36-3.1build3
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms