Small self-contained pure-Go web server with Lua, Teal, Markdown, Ollama, HTTP/2, QUIC, Redis and PostgreSQL support
darwin
+arm64
. See #49 for more info.The *_nocgo.*
archives are built with CGO_ENABLED=0
and Go 1.16.
algernon --lua
instances not use the same temporary database..mk
, .ts
and .tsx
be served as text/plain;charset=utf-8
..frm
and .form
files written in SimpleForm..
together with --autorefresh
.staticcheck
utility.mitchellh/colorstring
dependency.algernon_history.txt
as the REPL history filename on Windows.gccgo
are resolved. Algernon now also supports gccgo
.TMPDIR
, for improved Termux support.--dir
is used together with a trailing slash.The Windows and OpenBSD releases does not compile anymore. I want to look into that at some point.
quic
package, since there were build issues with it (could not build with gccgo
and issue #41).simplebolt
with gccgo
, which is why Algernon can not be compiled with gccgo
in a way where simplebolt
works, yet. This is related to different behavior between go
and gccgo
and will be worked around in simplebolt
. See: https://github.com/golang/go/issues/36430
-a
or --autorefresh
) may now follow symlinks to diretories, to make the ./welcome.sh
script and example more user-friendly when live editing for instance samples/greetings/index.md
.PQ
function, from Lua.-trimpath
.GET
or HTTPClient
.CookieSecret
and SetCookieSecret
can now be used to get and set the secure cookie secret from Lua, or it can be set with the --cookiesecret
flag.serve2
function.help
function on the Lua prompt.IGNOREEOF
environment variable.Updated docker images can be found at https://hub.docker.com/r/xyproto/algernon
vegeta
could make Algernon crash.boltdb
has a new home, TLS 1.3 has further improvements).go version devel +447965d4e0 Sun Jan 27 04:18:10 2019 +0000 linux/amd64
, which includes support for TLS 1.3.x86_64
, except the one for arm64
/aarch64
and the one for rpi
(Raspberry Pi).welcome.sh
(fixes issue #23).--timeout=N
for setting a timeout in seconds, when serving large files (but there is range support, so if a download times out, the client can continue where it left).--largesize=N
for setting a threshold for when a file is too large to be read into memory (the default is 42 MiB).Statically compiled executable for 64-bit Linux, built with latest Go master which has recently received support for TLS 1.3.
This build is experimental, but passes initial tests.