# 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 => gmid.conf.5.MANEXT gmid.conf(5) 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 => GITHUB/releases/download/VERS/gmid-VERS.tar.bz2 gmid-VERS.tar.bz2 => 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 ```