Galileo is a Gemini proxy for the World Wide Web (www.) It speaks FastCGI and is intended to be run behind OpenBSD' httpd(8), but is known to work also with nginx and lighttpd. Galileo doesn't serve static files, it connects to an upstream Gemini server and translate HTTP requests into Gemini requests. It serves the content as-is, with the only exception of translating text/gemini into HTML. To compile Galileo run: $ ./configure $ make $ doas make install To change the default user (`www`), the default configuration file (`/etc/galileo.conf`) or the default socket location (`/var/www/run/galileo.sock`), pass the the custom `USER`, `CONF` and `SOCK` to the configure: $ ./configure USER=_galileo CONF=/usr/local/etc/galileo.conf While a custom configuration file can be given using `-f`, the user can only be set during compilation. The `galileo.css` file is installed by default in `/var/www/htdocs`, set a custom `WWWDIR` during the install to specify another location: $ doas make WWWDIR=/usr/local/www/htdocs install The dependencies are - libasr - libevent - libtls or libretls When *not* building from a release tarball: - (or if `parse.y' is modified) yacc or GNU bison are also needed. - cross-compiling requires `HOSTCC' and `HOSTCFLAGS' to be passed to the `configure' script, e.g.: $ ./configure CC=riscv64-unknown-elf-gcc HOSTCC=cc