|
2 months ago | |
---|---|---|
src | 2 months ago | |
test | 3 months ago | |
Manifest.toml | 3 months ago | |
Project.toml | 3 months ago | |
Readme.org | 2 months ago |
Gemenon.jl – A Gemini Server
The usage is quite simple and similar to HTTP.jl
First, import the library
using Gemenon
Then, setup the SSL config
const verify_callback(preverify_ok, x509_ctx)::Cint = 1 function init_ssl_context() ctx = Gemenon.OpenSSL.SSLContext(mode = Gemenon.OpenSSL.ServerMode) Gemenon.OpenSSL.ca_chain!(ctx, "./cert.crt", "./key.key") Gemenon.OpenSSL.set_options!(ctx, Gemenon.OpenSSL.SSL_OP_NO_SSLv3) accept_all = @cfunction(verify_callback, Cint, (Cint, Ptr{Cvoid})) Gemenon.OpenSSL.set_verify_mode(ctx, Gemenon.OpenSSL.VERIFY_PEER, accept_all) ctx end
You are ready to listen for connections! You can do this like in Mux.jl
@app test = ( req -> document(req.conn, """ # Welcome to Gemenon! You can discuss about this on => gemini://nixo.xyz/ The Gemenon-Powered Anonymous Board """)) serve(test, init_ssl_context, Gemenon.Sockets.ip"0.0.0.0", 1965)