🌩 Lightning Talk at the 34c3 🚀
self-hosted microblogging inspired by
http://sebsauvage.net/wiki/doku.php?id=php:shaarli. Destilled down to the bare
minimum, with easy hosting and security in mind. No PHP, no DB, no server-side
templating, JS optional.
- backwards compatible posting (https://code.mro.name/mro/Shaarli-API-test)
- trivial installation and minimal hosting requirements (run on simple hosted webspace),
- keep server lean, especially for readers,
- standards compliant (Atom,
- easy migration from existing shaarlis,
- visitor reading operates on static flat files only (no server code),
- secure against brute force login attacks,
- easy translation & skinning,
- leverage existing, widely deployed web tec (CGI, XSLT,
- easy fail2ban integration / DOS mitigation,
tl;dr: a webserver that can execute CGIs and serve files
ShaarliGo is an old-school CGI binary executable, so it needs a webserver to drive it. Example
configurations come for Apache (see
As a self-contained, statically linked, Go executable, it has no software
dependencies and can run on a variety of platforms.
It needs write access to it's webserver's filesystem location to unpack the web assets and update
the content when posting.
Storage footprint is <25 KiB per post.
When posting a page, it is once accessed via HTTP GET to suggest title, tags and a thumbnail image
Install / Update
$ curl -L http://purl.mro.name/shaarligo_cgi.gz | tee shaarligo_cgi.gz | gunzip > shaarligo.cgi && chmod a+x shaarligo.cgi
- visit in your browser: http://my.web.space/subdir/shaarligo.cgi
Or build from source at http://purl.mro.name/ShaarliGo
static/app/lighttpd.conf how to set up webserver integration.
- private posts,
- PuSH/PubSubhubbub / WebSub,
- import shaarlis (login?),
- pwd reset (maybe deleting from
app/config.yaml is acceptable),