Libpsl

Jul 20, 2023

C library to handle the Public Suffix List

A “public suffix” is a domain name under which Internet users can directly register own names.

Browsers and other web clients can use it to

  • avoid privacy-leaking “supercookies”
  • avoid privacy-leaking “super domain” certificates [1]
  • domain highlighting parts of the domain in a user interface
  • sorting domain lists by site

Libpsl…

  • has built-in PSL data for fast access
  • allows to load PSL data from files
  • checks if a given domain is a “public suffix”
  • provides immediate cookie domain verification
  • finds the longest public part of a given domain
  • finds the shortest private part of a given domain
  • works with international domains UTF-8 and IDNA2008 Punycode
  • is thread-safe
  • handles IDNA2008 UTS#46 libicu is used by psl2c if installed

[1] http//lists.gnu.org/archive/html/bug-wget/2014-03/msg00093.html



Checkout these related ports:
  • Zonenotify - DNS notify sender written in C
  • Zonecheck - Perform consistency checks on DNS zones
  • Zkt -
  • Yandex-ddns - Use Yandex DNS as a dynamic DNS provider
  • Yadifa - Authoritative nameserver with DNSSEC capabilities
  • Wrapsrv - DNS SRV record command line wrapper
  • Whoseip - Get information about IP addresses country code and network
  • Wdns - Low-level DNS library
  • Walker - Recover zone file information from servers that use DNSSEC
  • Void-zones-tools - Prepare a list of void zones that can be readily fed into Unbound
  • Vizone - Updates the serial number in one or more zonefiles
  • Vhostcname - Synchronize DNS with server names and aliases from Apache vhost
  • Utdns - Proxy UDP/DNS to TCP/DNS
  • Updatedd - Dynamic DNS Update Client supporting multiple services
  • Unbound - Validating, recursive, and caching DNS resolver