README - hurl - Gopher/HTTP/HTTPS file grabber
 (HTM) git clone git://git.codemadness.org/hurl
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       README (1583B)
       ---
            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'