e0c52b3c86 | ||
---|---|---|
src | ||
test | ||
Manifest.toml | ||
Project.toml | ||
Readme.org |
Readme.org
Gemenon.jl – A Gemini Server
How to use
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()
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)