mirror of
https://github.com/omar-polo/gmid.git
synced 2024-09-27 21:11:51 +02:00
62a46b03c6
gmid 1.8.2 "Lightbulb Sun" bugfix release ========================================= Released March 26, 2022. signify(1) pubkeys for this release: RWTy3UJQzpxBUAymBwb2EGLLm0b3H/1n8hzhaC9HYFYzNuTavGt9QSwC Bug Fixes ~~~~~~~~~ * fix a CGI timing issue: if a connection handled by a CGI scripts is interrupted with the right timing it causes the server process to exit with "fatal in client_by_id: invalid id X". New Features ~~~~~~~~~~~~ * add a new block `type { ... }' to define mime types mapping. Improvements ~~~~~~~~~~~~ * use shell built-in `command' instead of which(1), prodded by cage and Allen Sobot. * configure script: allow to set MANDIR from cmdline (Allen Sobot) * add systemd-sysusers sample file in contrib/ (Nakaya) * [linux/seccomp] allow fstatat64(2), llseek(2) and sigreturn(2), needed by glibc on armv7. (Tobias Berger) * [linux/seccomp] tightens rules by allowing openat(2) only with the O_RDONLY flag.
75 lines
2.3 KiB
Plaintext
75 lines
2.3 KiB
Plaintext
# gmid
|
||
|
||
> A Gemini server
|
||
|
||
## Features
|
||
|
||
* sandboxed by default on OpenBSD, FreeBSD and Linux
|
||
* able to reload the configuration on-the-fly without loosing connections
|
||
* punycode and IRI support
|
||
* reverse proxying
|
||
* CGI and FastCGI support
|
||
* virtual hosts and per-location rules
|
||
* low memory footprint
|
||
* event-based asynchronous I/O model
|
||
* rich configuration file
|
||
|
||
gmid also bundles a small gemini client called ‘gg’ (gemini get)
|
||
|
||
=> gmid.1.MANEXT gmid(1) manpage
|
||
=> gg.1.MANEXT gg(1) manpage
|
||
|
||
## Install
|
||
|
||
Some distros provide a package — thanks to the maintainers!
|
||
|
||
=> REPOLOGY Repology: packaging status for gmid
|
||
|
||
Source code and precompiled binaries for linux are available:
|
||
|
||
=> GITHUB/releases/download/VERS/gmid-VERS.tar.gz gmid-VERS.tar.gz
|
||
|
||
=> https://git.omarpolo.com/gmid/ git repository
|
||
=> gemini://git.omarpolo.com/gmid.git/ git repository via Gemini
|
||
=> GITHUB GitHub mirror
|
||
|
||
=> GITHUB/releases/download/VERS/gmid.linux.aarch64 gmid.linux.aarch64
|
||
=> GITHUB/releases/download/VERS/gmid.linux.amd64 gmid.linux.amd64
|
||
|
||
When in doubt, compile from source: it’s easy and takes less than a minute on a raspberry pi 3. The dependencies are:
|
||
|
||
* libevent
|
||
* OpenSSL/LibreSSL
|
||
* libtls (from either LibreSSL or LibreTLS)
|
||
* yacc or GNU bison
|
||
|
||
Once all the dependencies are installed, building is as easy as:
|
||
|
||
```Example of how to compile from source
|
||
$ curl -LO GITHUB/releases/download/VERS/gmid-VERS.tar.gz
|
||
$ tar xzvf gmid-VERS.tar.gz
|
||
$ cd gmid-VERS
|
||
$ ./configure
|
||
$ make
|
||
$ sudo make install # eventually
|
||
```
|
||
|
||
A SHA256 file is available. However, that only checks for accidental corruption: you can use signify (SHA256.sig and the public key gmid-CURV.pub) or GPG. The hash of the signify public key is also included in the SHA256 file and thus signed with my GPG. The signify public key for the next release ‘gmid-NEXTV.pub’ is also included.
|
||
|
||
=> GITHUB/releases/download/VERS/SHA256 SHA256
|
||
=> GITHUB/releases/download/VERS/SHA256 SHA256.gpg
|
||
=> GITHUB/releases/download/VERS/SHA256.sig SHA256.sig
|
||
|
||
To verify the signatures with signify(1)
|
||
|
||
```Example of how to verify the signature with signify
|
||
% signify -C -p gmid-1.8.pub -x SHA256.sig
|
||
Signature Verified
|
||
gg.linux.amd64: OK
|
||
gmid-1.8.2-binaries.tar.gz: OK
|
||
gmid-1.8.2.tar.gz: OK
|
||
gmid-1.8.pub: OK
|
||
gmid-1.9.pub: OK
|
||
gmid.linux.amd64: OK
|
||
```
|