titanit/README.md
2025-02-24 02:25:49 +02:00

1.6 KiB

Titan it!

Build Dependencies crates.io

File Share Server for Gemini & Titan protocols

Note

Project in development!

Install

cargo install titanit

Setup

Generate PKCS (PFX)

openssl genpkey -algorithm RSA -out server.pem -pkeyopt rsa_keygen_bits:2048
openssl req -new -key server.pem -out request.csr
openssl x509 -req -in request.csr -signkey server.pem -out server.crt -days 365
openssl pkcs12 -export -out server.pfx -inkey server.pem -in server.crt

Launch

Arguments

  • --bind, -b required, server host:port to listen incoming connections
  • --identity, -i required, filepath to server identity in PKCS (PFX) format
  • --password, -p optional, unlock encrypted identity by passphrase
  • --chunk, -c optional, buffer chunk size (1024 by default)
  • --size, -s optional, max size limit in bytes (unlimited by default)
  • --mime, -m optional, uploads MIME type whitelist (comma separated, all by default)
  • --directory, -d optional, uploads target directory (public by default)
  • --redirect, -r optional, redirection URL on request handle complete (e.g. gemini://localhost)
  • --welcome, -w optional, filepath to welcome page template (in gemtext format)

Start

titanit --bind 127.0.0.1:1965 \
        --identity path/to/server.pfx

Titan it!

  • titan://127.0.0.1