HTTP::T...aranoid(3)

πŸ“¦
version 0.07 Β· 2 versions
, in fedora 43

πŸ’– HTTP::Tiny::Paranoid πŸ’–

okay bestie, so this is a Perl module from the User Contributed Perl Documentation section of the manual, and the name of the page itself is HTTP::T...aranoid(3) (the terminal truncates it, don't worry, it's just HTTP::Tiny::Paranoid). Anyway. Sit down. We're learning about a safer HTTP::Tiny and it's genuinely so iconic of it.


✨ NAME ✨

HTTP::Tiny::Paranoid β€” a safer HTTP::Tiny 🫢

Like, it's HTTP::Tiny but it looked both ways before crossing the street. Main character energy fr fr.


🌸 SYNOPSIS 🌸

# use just like HTTP::Tiny
use HTTP::Tiny::Paranoid;
my $response = HTTP::Tiny::Paranoid->new->get('http://example.com');

# block or whitelist specific hosts
# delegates to Net::DNS::Paranoid
HTTP::Tiny::Paranoid->blocked_hosts([...]);
HTTP::Tiny::Paranoid->whitelisted_hosts([...]);

not me dropping the most normal-looking Perl of all time 😭 it literally works exactly like HTTP::Tiny, you just use the paranoid one instead and suddenly you have ✨boundaries✨


πŸ¦‹ DESCRIPTION πŸ¦‹

so here's the tea πŸ“ β€” this module is a subclass of HTTP::Tiny that does exactly one additional function:

before connecting, it passes the hostname to Net::DNS::Paranoid. if the hostname is rejected, then the request is aborted before a connect is even attempted. πŸ’€

like. it doesn't even try. it checks the vibes first, the connect never happens, and honestly? queen behavior. that's what we call a vibe check before the door opens. πŸšͺβœ‹

by default, Net::DNS::Paranoid rejects connections to private network ranges. lowkey important, highkey the whole point.

and the blocklist & whitelist? you can manipulate them using the blocked_hosts and whitelisted_hosts class methods. those are class methods, bestie, not object methods β€” call them on the class. iykyk. πŸ’…


πŸ‘‘ SEE ALSO πŸ‘‘

  • HTTP::Tiny
  • Net::DNS::Paranoid
  • LWPx::ParanoidAgent
  • LWP::UserAgent::Paranoid

the whole paranoid cinematic universe 🌈 go read them, they're all giving "i don't trust the internet and neither should you"


🫢 SUPPORT 🫢

πŸ› Bugs / Feature Requests

found a bug? got a feature request? please report it through the issue tracker at <https://github.com/robn/HTTP-Tiny-Paranoid/issues>. no cap, they want to hear from you. πŸ’–

and the best part: you will be notified automatically of any progress on your issue. like a little notification fairy 🧚 keeping you posted. obsessed.

πŸ“¦ Source Code

this is open source software ✨ the code repository is available for public review and contribution under the terms of the license.

<https://github.com/robn/HTTP-Tiny-Paranoid>

and if you wanna clone it (you do), here's the exact line, copy it carefully bestie:

git clone https://github.com/robn/HTTP-Tiny-Paranoid.git

🌟 AUTHORS 🌟

  • Robert Norris <rob@eatenbyagrue.org>

one (1) legend. periodt.


this software is copyright (c) 2014 by Robert Norris.

this is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.


so yeah β€” free software, same terms as Perl 5, go wild, just don't go wild at a private IP address. HTTP::Tiny::Paranoid will absolutely catch you. 🚨

and that's the whole page, babes. this doc ships with perl v5.42.0 and the version date on it is 2025-07-25 πŸŽ€ mwah, slay, go be safe on the internet πŸ’…βœ¨

πŸ“¦ where this page comes from