3
3
Fork
You've already forked galileo
0
Gemini proxy for the World Wide Web
  • C 81.7%
  • Yacc 10.6%
  • Roff 4.6%
  • Makefile 2.5%
  • CSS 0.6%
Omar Polo 3f8555a233 defer pidfile writing after daemon(3)
After daemon(3) our PID could change. still lock the pidfile early
and truncate it, but fill it after daemon(3).
2025年10月08日 14:54:47 +00:00
compat add compat for endian.h 2023年07月02日 10:32:04 +00:00
keys key for 0.4 2023年04月15日 13:56:33 +00:00
template move the buffering from the fastcgi layer to the template 2023年09月13日 07:56:13 +00:00
tests add compat for endian.h 2023年07月02日 10:32:04 +00:00
.gitignore be portable: switch to a custom version of Kristaps' oconfigure 2022年09月29日 08:47:28 +00:00
CHANGES CHANGES for 0.3 2023年04月15日 13:57:37 +00:00
config.c typo; continue instead of break 2022年09月30日 10:55:14 +00:00
configure configure: remove dead code 2025年07月20日 12:19:18 +00:00
fcgi.c fcgi: fix dowrite() to actually write what's been passed 2025年07月26日 17:16:23 +00:00
fragments.tmpl allow to disable navbar/footer/image preview 2023年03月03日 09:15:12 +00:00
galileo.8 add -P pidfile 2025年07月23日 21:32:28 +00:00
galileo.c defer pidfile writing after daemon(3) 2025年10月08日 14:54:47 +00:00
galileo.conf.5 allow to disable navbar/footer/image preview 2023年03月03日 09:15:12 +00:00
galileo.css css: set overflow-wrap: anywhere 2023年03月23日 09:48:24 +00:00
galileo.h move the buffering from the fastcgi layer to the template 2023年09月13日 07:56:13 +00:00
log.c initial import 2022年09月13日 16:36:38 +00:00
log.h initial import 2022年09月13日 16:36:38 +00:00
Makefile configure: allow setting mandir+prefix 2025年07月20日 10:31:10 +00:00
parse.y allow to disable navbar/footer/image preview 2023年03月03日 09:15:12 +00:00
proc.c add -P pidfile 2025年07月23日 21:32:28 +00:00
proc.h initial import 2022年09月13日 16:36:38 +00:00
proxy.c fcgi: fix dowrite() to actually write what's been passed 2025年07月26日 17:16:23 +00:00
README update README 2022年09月29日 17:00:05 +00:00
TODO more to do 2023年03月03日 09:48:13 +00:00
xmalloc.c initial import 2022年09月13日 16:36:38 +00:00
xmalloc.h initial import 2022年09月13日 16:36:38 +00:00

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