PSL(1)

πŸ’– PSL(1) β€” like, the manual for psl πŸ’–

okay bestie, sit down, hydrate, and let's talk about psl β€” a lil command-line bestie from the User Commands section of the manual that is genuinely SO good at what it does. πŸ¦‹


✨ NAME ✨

psl β€” explore the Public Suffix List. that's it, that's the whole vibe. πŸ‘‘


✨ SYNOPSIS ✨

psl [options] <domains...>

✨ DESCRIPTION ✨

so here's the tea, bestie β˜• β€” psl goes exploring in the Public Suffix List. it takes a whole list of domains right there on the command line (iconic), orrrrr if you don't hand it any domains on the command line, it'll read one domain per line from standard input instead. no pressure, it's flexible like that. πŸ’…

then it prints its results to standard output, and the format is chef's kiss: every line has one domain, then a colon, then the relevant info for that domain. every. single. line. consistent. we love. ✨


πŸŽ€ MODES πŸŽ€

the info it prints per domain changes depending on which mode you picked. the available modes are, in order, no skipping:

  • --is-public-suffix β€” checks if the domains are public suffixes. this one is the [default], so if you don't say otherwise, this is what you get. πŸ“Œ returned data: 1 if the domain is a public suffix, 0 otherwise. you can combine this option with --no-star-rule. using it will switch off the PSL 'prevailing star rule' so that all TLDs that are not explicitly listed in the PSL will return 0 (aka not a public suffix). no vibes-based guessing, just facts. πŸ’€
  • --is-cookie-domain-acceptable <cookie-domain> β€” checks if cookie-domain is acceptable for the domains. πŸͺ returned data: 1 if cookie-domain is acceptable for the domain, 0 otherwise.
  • --print-unreg-domain β€” returned data: the longest public suffix part for each domain.
  • --print-reg-domain β€” returned data: the shortest private suffix part for each domain.

🌈 VERSION INFORMATION 🌈

psl can, instead of all that, be used to report info about the version of the library and its built-in Public Suffix data. so if you're feeling nosy (respectfully), this is your moment:

  • --version β€” show library version information πŸ‘€
  • --print-info β€” print info about the library's builtin data πŸ“Š

🌸 PUBLIC SUFFIX DATA 🌸

by default, psl will use the latest available Public Suffix data β€” keeping it fresh, keeping it current, periodt. ✨ but you can also point it at a different file if you want:

  • --use-latest-data β€” use the latest available PSL data [default] πŸ†•
  • --use-builtin-data β€” use the builtin PSL data 🧚
  • --load-psl-file <filename> β€” load PSL data from filename πŸ“

πŸ”₯ SEE ALSO πŸ”₯

iykyk. go read them, bestie. πŸ“š


libpsl and psl are copyright Β© Tim RΓΌhsen and Libpsl contributors under an MIT-style License.

this documentation was written by Daniel Kahn Gillmor for the Debian project, but may be used by others under the same license as libpsl itself. 🫢


and that's the whole manual, bestie!! no notes, it ate, it devoured, zero crumbs left. πŸ’…βœ¨

k bye, this was psl 0.23.3, documented back in August 2026, living in section PSL(1) of the manual. drink water, read your man pages, mwah πŸŽ€πŸ’–πŸ¦‹

πŸ“¦ where this page comes from