anchor.diff:  $ go-camo -k "somekey"
   ----
   
  -Go-Camo does not daemonize on its own. For production usage, it is recommended
  -to launch in a process supervisor, and drop privileges as appropriate.
  -
  -Examples of supervisors include:
  -http://cr.yp.to/daemontools.html[daemontools],
  -http://smarden.org/runit/[runit],
  -http://upstart.ubuntu.com/[upstart],
  -http://launchd.macosforge.org/[launchd],
  -https://www.freedesktop.org/wiki/Software/systemd/[systemd], and many more.
  -
  -For the reasoning behind lack of daemonization, see
  -http://cr.yp.to/daemontools/faq/create.html#why[daemontools/why]. In addition,
  -the code is much simpler because of it.
  +Go-Camo does not daemonize on its own. For production usage, it is recommended to launch in a process supervisor, and drop privileges as appropriate.
  +
  +Examples of supervisors include: {link-damontools}, {link-runit}, {link-upstart}, {link-launchd}, {link-systemd}, and many more.
  +
  +For the reasoning behind lack of daemonization, see {link-daemontools-why}.
  +In addition, the code is much simpler because of it.
   
   == Running on Heroku
   
   In order to use this on Heroku with the provided Procfile, you need to:
   
  -*   Create an app specifying the https://github.com/kr/heroku-buildpack-go
  -    buildpack
  +*   Create an app specifying the {link-heroku-buildpack-go} buildpack
   *   Set `GOCAMO_HMAC` to the key you are using
   
   == Securing an installation
   
  -go-camo will generally do what you tell it to with regard to fetching signed
  -urls. There is some limited support for trying to prevent
  -https://en.wikipedia.org/wiki/DNS_rebinding[dns rebinding] attacks.
  -
  -go-camo will attempt to reject any address matching an rfc1918 network block,
  -or a private scope ipv6 address, be it in the url or via resulting hostname
  -resolution. Please note, however, that this does not provide protecton for a
  -network that uses public address space (ipv4 or ipv6), or some of the
  -https://en.wikipedia.org/wiki/IPv6_address#Special_addresses[more exotic] ipv6
  -addresses.
  +go-camo will generally do what you tell it to with regard to fetching signed urls.
  +There is some limited support for trying to prevent {link-dns-rebinding} attacks.
  +
  +go-camo will attempt to reject any address matching an rfc1918 network block, or a private scope ipv6 address, be it in the url or via resulting hostname resolution.
  +Please note, however, that this does not provide protecton for a network that uses public address space (ipv4 or ipv6), or some of the {link-ip6-special-addresses}[more exotic] ipv6 addresses.
   
   The list of networks rejected include...
   
  
positive.code: 
  For examples of url generation, see the link:examples/[examples] directory.
  
  While Go-Camo will support proxying HTTPS images as well, for performance
  reasons you may choose to filter HTTPS requests out from proxying, and let the
  client simply fetch those as they are. The linked code examples do this.
  
  Note that it is recommended to front Go-Camo with a CDN when possible.
  
  == Differences from Camo
  
  *   Go-Camo supports 'Path Format' url format only. Camo's "Query String Format"
      is not supported.
  *   Go-Camo supports some optional "allow/deny" origin filters.
  *   Go-Camo supports client http keep-alives.
  *   Go-Camo provides native SSL support.
  *   Go-Camo provides native HTTP/2 support
  *   Go-Camo supports using more than one os thread (via GOMAXPROCS) without the
      need of multiple instances or additional proxying.
  *   Go-Camo builds to a static binary. This makes deploying to large numbers
      of servers a snap.
  *   Go-Camo supports both Hex and Base64 urls. Base64 urls are smaller, but
      case sensitive.
  *   Go-Camo supports HTTP HEAD requests.
  *   Go-Camo allows custom default headers to be added -- useful for things
      like adding https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security[HSTS]
      headers.
  
  == Installing pre-built binaries
  
  Download the tarball appropriate for your OS/ARCH from
  https://github.com/cactus/go-camo/releases[releases]. +
  Extract, and copy files to desired locations.
  
  == Building
  
  Building requires:
  
  * make
  * git
  * go (latest version recommended. At least version >= 1.13)
  * asciidoctor (for building man pages only)
  
  Additionally required, if cross compiling:
  
  * https://github.com/mitchellh/gox[gox]
  
  Building:
  
  
negative.code: 
  go-camo is a go version of a https://github.com/atmos/camo[camo] server.
  
  A camo server is a special type of image proxy that proxies non-secure images over SSL/TLS, in order to prevent mixed content warnings on secure pages.
  The server works in conjunction with back-end code that rewrites image URLs and signs them with an {link-hmac}.
  
  == How it works
  
  