aboutsummaryrefslogtreecommitdiff
path: root/site/index.gmi
blob: ac192e6efe00cd1eabee5a14b2de38f1cef1dc51 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# 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.aarch64: OK
gg.linux.amd64: OK
gmid-1.8-binaries.tar.gz: OK
gmid-1.8.pub: OK
gmid-1.8.tar.gz: OK
gmid-1.9.pub: OK
gmid.linux.aarch64: OK
gmid.linux.amd64: OK
```