git.y1.nz

hurl

Simple gopher and http(s) client.
download: http://git.y1.nz/archives/hurl.tar.gz
README | Files | Log | Refs | LICENSE

README

      1 hurl
      2 ----
      3 
      4 Relatively simple HTTP, HTTPS and Gopher client/file grabber.
      5 
      6 
      7 Why?
      8 ----
      9 
     10 Sometimes (or most of the time?) you just want to fetch a file via the HTTP,
     11 HTTPS or Gopher protocol.
     12 
     13 The focus of this tool is only this.
     14 
     15 
     16 Dependencies
     17 ------------
     18 
     19 - C compiler (C99).
     20 - libc + some BSD functions like err() and strlcat().
     21 - LibreSSL(-portable)
     22 - libtls (part of LibreSSL).
     23 
     24 
     25 Optional dependencies
     26 ---------------------
     27 
     28 - POSIX make(1) (for Makefile).
     29 - mandoc for documentation: https://mdocml.bsd.lv/
     30 
     31 
     32 Features
     33 --------
     34 
     35 - Uses OpenBSD pledge(2) and unveil(2). Allow no filesystem access (writes to
     36   stdout).
     37 - Impose time-out and maximum size limits.
     38 - Use well-defined exitcodes for reliable scripting (curl sucks at this).
     39 - Send as little information as possible (no User-Agent etc by default).
     40 
     41 
     42 Anti-features
     43 -------------
     44 
     45 - No HTTP byte range support.
     46 - No HTTP User-Agent.
     47 - No HTTP If-Modified-Since/If-* support.
     48 - No HTTP auth support.
     49 - No HTTP/2+ support.
     50 - No HTTP keep-alive.
     51 - No HTTP chunked-encoding support.
     52 - No HTTP redirect support.
     53 - No (GZIP) compression support.
     54 - No cookie-jar or cookie parsing support.
     55 
     56 - No Gopher text handling (".\r\n").
     57 
     58 - ... etc...
     59 
     60 
     61 Get self-signed certificates of a host
     62 --------------------------------------
     63 
     64 To show the certificates of a host the following openssl command can be used.
     65 This can be used to create a CA file also, useful for self-signed certificates:
     66 
     67 	openssl s_client -showcerts -connect "codemadness.org:443" </dev/null | \
     68 		sed -n '/^-----BEGIN CERTIFICATE-----/,/^-----END CERTIFICATE-----/p'

This webpage is intended to be an accessible preview of this repository. To get a fuller picture, clone it and use the git CLI.