commit f59543490d613d2af0c3954879e17ad9f0699c86 from: Omar Polo date: Tue Jul 25 20:15:40 2023 UTC rename ge -> gemexp gemserv is already taken... commit - 857635a1075e664cecc4e40fbbf7e5787b8cc974 commit + f59543490d613d2af0c3954879e17ad9f0699c86 blob - 81744926c01f9c8ba3634bc07792bac57fbb4ec4 blob + e50e2aaf50805f6311d7a92cf3918e3e8eb0796c --- .gitignore +++ .gitignore @@ -3,7 +3,7 @@ TAGS gmid gg -ge +gemexp titan *.d *.o blob - 04cfd2e2e6dba89469f7740e2624ec75b42f5c9e blob + e1fc323b25764bf9aca7684097b51153c1159533 --- Makefile +++ Makefile @@ -31,10 +31,10 @@ GMID_SRCS = gmid.c config.c crypto.c dirs.c fcgi.c iri GMID_OBJS = ${GMID_SRCS:.c=.o} ${COBJS} -GE_SRCS = ge.c config.c crypto.c dirs.c fcgi.c iri.c log.c mime.c \ +GEMEXP_SRCS = ge.c config.c crypto.c dirs.c fcgi.c iri.c log.c mime.c \ proc.c proxy.c puny.c sandbox.c server.c utf8.c utils.c -GE_OBJS = ${GE_SRCS:.c=.o} ${COBJS} +GEMEXP_OBJS = ${GEMEXP_SRCS:.c=.o} ${COBJS} GG_SRCS = gg.c iri.c utf8.c @@ -44,13 +44,13 @@ TITAN_SRCS = titan.c iri.c utf8.c TITAN_OBJS = ${TITAN_SRCS:.c=.o} ${COBJS} SRCS = gmid.h log.h parse.y proc.h \ - ${GMID_SRCS} ${GE_SRCS} ${GG_SRCS} ${TITAN_SRCS} + ${GMID_SRCS} ${GEMEXP_SRCS} ${GG_SRCS} ${TITAN_SRCS} DISTNAME = gmid-${VERSION} # -- public targets -- -all: config.mk gmid ge gg titan +all: config.mk gmid gemexp gg titan .PHONY: all tags clean cleanall test regress install config.mk config.h: configure @@ -60,7 +60,7 @@ config.mk config.h: configure include config.mk clean: - rm -f *.[do] compat/*.[do] y.tab.c y.tab.h y.output gmid ge gg + rm -f *.[do] compat/*.[do] y.tab.c y.tab.h y.output gmid gemexp gg rm -f compile_flags.txt ${MAKE} -C regress clean @@ -71,24 +71,24 @@ test: regress regress: all ${MAKE} 'TESTS=${TESTS}' -C regress all -install: gmid gg ge +install: gmid gg gemexp mkdir -p ${DESTDIR}${BINDIR} mkdir -p ${DESTDIR}${MANDIR}/man1 mkdir -p ${DESTDIR}${MANDIR}/man5 mkdir -p ${DESTDIR}${MANDIR}/man8 ${INSTALL_PROGRAM} gmid ${DESTDIR}${BINDIR} ${INSTALL_PROGRAM} gg ${DESTDIR}${BINDIR} - ${INSTALL_PROGRAM} ge ${DESTDIR}${BINDIR} + ${INSTALL_PROGRAM} gemexp ${DESTDIR}${BINDIR} ${INSTALL_MAN} gmid.8 ${DESTDIR}${MANDIR}/man8 ${INSTALL_MAN} gmid.conf.5 ${DESTDIR}${MANDIR}/man5 - ${INSTALL_MAN} ge.1 ${DESTDIR}${MANDIR}/man1 + ${INSTALL_MAN} gemexp.1 ${DESTDIR}${MANDIR}/man1 ${INSTALL_MAN} gg.1 ${DESTDIR}${MANDIR}/man1 uninstall: - rm ${DESTDIR}${BINDIR}/ge + rm ${DESTDIR}${BINDIR}/gemexp rm ${DESTDIR}${BINDIR}/gg rm ${DESTDIR}${BINDIR}/gmid - rm ${DESTDIR}${MANDIR}/man1/ge.1 + rm ${DESTDIR}${MANDIR}/man1/gemexp.1 rm ${DESTDIR}${MANDIR}/man1/gg.1 rm ${DESTDIR}${MANDIR}/man5/gmid.conf.5 rm ${DESTDIR}${MANDIR}/man8/gmid.8 @@ -101,8 +101,8 @@ tags: gmid: ${GMID_OBJS} ${CC} ${GMID_OBJS} -o $@ ${LIBS} ${LDFLAGS} -ge: ${GE_OBJS} - ${CC} ${GE_OBJS} -o $@ ${LIBS} ${LDFLAGS} +gemexp: ${GEMEXP_OBJS} + ${CC} ${GEMEXP_OBJS} -o $@ ${LIBS} ${LDFLAGS} gg: ${GG_OBJS} ${CC} ${GG_OBJS} -o $@ ${LIBS} ${LDFLAGS} blob - 57e463a5ae1222cf67193caabe9ae2996470bd9e blob + 5b368293893eb39efc9c3e6950cbf11c5cfc5e4a --- README.md +++ README.md @@ -9,7 +9,7 @@ gmid is a full-featured Gemini server written with sec It can serve static files, has optional FastCGI and proxying support, and a rich configuration syntax. -gg is a simple command-line Gemini client, and ge a stripped-down +gg is a simple command-line Gemini client, and gemexp a stripped-down config-less gmid version used to quickly serve a directory locally over Gemini. blob - b3eb5620782ad537e3d938806bda094b61d3fbc3 (mode 644) blob + /dev/null --- ge.1 +++ /dev/null @@ -1,87 +0,0 @@ -.\" Copyright (c) 2022 Omar Polo -.\" -.\" Permission to use, copy, modify, and distribute this software for any -.\" purpose with or without fee is hereby granted, provided that the above -.\" copyright notice and this permission notice appear in all copies. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -.Dd September 7, 2022 -.Dt GE 1 -.Os -.Sh NAME -.Nm ge -.Nd export a directory over Gemini -.Sh SYNOPSIS -.Nm -.Bk -words -.Op Fl hV -.Op Fl d Ar certs-dir -.Op Fl H Ar hostname -.Op Fl p Ar port -.Op Ar directory -.Ek -.Sh DESCRIPTION -.Nm -exports the given -.Ar directory -over the Gemini protocol. -It's intended to be used interactively mostly for testing purposes, -for a full-fledged daemon look for -.Xr gmid 8 . -.Pp -The arguments are as follows: -.Bl -tag -width Ds -.It Fl d Ar certs-path -Directory where certificates are stored. -By default is -.Pa $XDG_DATA_HOME/gmid , -i.e.\& -.Pa ~/.local/share/gmid . -.It Fl H Ar hostname -The -.Ar hostname -to use, -.Ar localhost -by default. -Certificates for the given -.Ar hostname -are searched inside the -.Ar certs-dir -specified with the -.Fl d -option. -The certificate files are named -.Ar hostname Ns .pem -and -.Ar hostname Ns .key -and are implicitly generated if not found. -.It Fl h , Fl -help -Print the usage and exit. -.It Fl p Ar port -The port to bind to, 1965 by default. -.It Fl V , Fl -version -Print the version and exit. -.It Ar directory -The root directory to serve, or the current working directory if not -specified. -.El -.Sh SEE ALSO -.Xr gmid 8 -.Sh ACKNOWLEDGEMENTS -.Nm -uses the -.Dq Flexible and Economical -UTF-8 decoder written by -.An Bjoern Hoehrmann . -.Sh AUTHORS -.An -nosplit -The -.Nm -program was written by -.An Omar Polo Aq Mt op@omarpolo.com . blob - /dev/null blob + ce332344588ab1bdf1851d0fa0f35bd2bd12c146 (mode 644) --- /dev/null +++ gemexp.1 @@ -0,0 +1,87 @@ +.\" Copyright (c) 2022 Omar Polo +.\" +.\" Permission to use, copy, modify, and distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +.Dd September 7, 2022 +.Dt GEMEXP 1 +.Os +.Sh NAME +.Nm gemexp +.Nd export a directory over Gemini +.Sh SYNOPSIS +.Nm +.Bk -words +.Op Fl hV +.Op Fl d Ar certs-dir +.Op Fl H Ar hostname +.Op Fl p Ar port +.Op Ar directory +.Ek +.Sh DESCRIPTION +.Nm +exports the given +.Ar directory +over the Gemini protocol. +It's intended to be used interactively mostly for testing purposes, +for a full-fledged daemon look for +.Xr gmid 8 . +.Pp +The arguments are as follows: +.Bl -tag -width Ds +.It Fl d Ar certs-path +Directory where certificates are stored. +By default is +.Pa $XDG_DATA_HOME/gmid , +i.e.\& +.Pa ~/.local/share/gmid . +.It Fl H Ar hostname +The +.Ar hostname +to use, +.Ar localhost +by default. +Certificates for the given +.Ar hostname +are searched inside the +.Ar certs-dir +specified with the +.Fl d +option. +The certificate files are named +.Ar hostname Ns .pem +and +.Ar hostname Ns .key +and are implicitly generated if not found. +.It Fl h , Fl -help +Print the usage and exit. +.It Fl p Ar port +The port to bind to, 1965 by default. +.It Fl V , Fl -version +Print the version and exit. +.It Ar directory +The root directory to serve, or the current working directory if not +specified. +.El +.Sh SEE ALSO +.Xr gmid 8 +.Sh ACKNOWLEDGEMENTS +.Nm +uses the +.Dq Flexible and Economical +UTF-8 decoder written by +.An Bjoern Hoehrmann . +.Sh AUTHORS +.An -nosplit +The +.Nm +program was written by +.An Omar Polo Aq Mt op@omarpolo.com .