Content
Description
A tool to follow a http uri to it's destination. Using DNS-over-TLS and multiple sandbox mechanisms like seccomp/landlock on linux while dropping all capabilities or pledge/unveil on OpenBSD to access an absolute minimum.
# example to get a document uri while disrubting the click tracker history
uncurl -gv https://track.click.tld/l/ASDF
302 | 243.837422ms | https://track.click.tld/ASDF
200 | 390.386561ms | https://real.destination.tld/document.pdf
Usage
uncurl - A sandboxed tool to follow a http uri to it's destination.
Usage:
uncurl [OPTIONS] URI...
Options:
-a | --agent STRING | Use GET instead of HEAD method. [Default: uncurl/24.357.46802]
-d | --dot IP/NAME | Use this IP or name for DNS over TLS. [Default: dns.quad9.net]
| --disable-dot | To disable DNS over TLS and use the systems resolver.
-g | --get | Use GET instead of HEAD method.
-m | --multipath | Enable the use of MultipathTCP if the client supports it.
-t | --timeout DURATION | Connection timeout to use.
-v | --verbose | Verbose output level.
--help | Show this help.
--attribution | Used dependencies.
--license | Print license.
--version | Print version.
Examples:
uncurl --verbose http://t.ly/XMJSW
302 | 268.791999ms | https://t.ly/XMJSW
301 | 61.830464ms | http://duck.com
302 | 97.774441ms | https://duck.com/
200 | 57.565629ms | https://duckduckgo.com/
Download
Static binary for amd64 architecture:
Installation
Extract the binary from the downloaded archive.
tar -xf uncurl.tar.zst uncurl
./uncurl
You should place it in a directory that is included in the environment variable $PATH.
License
ISC License © 2024 Antonino Catinello