Titan it! File share server for Titan protocol with Gemini frontend https://crates.io/crates/titanit
Find a file
2025-02-20 05:46:49 +02:00
.github setup workflow 2025-02-20 05:46:49 +02:00
src initial commit 2025-02-20 05:45:19 +02:00
.gitignore initial commit 2025-02-20 05:45:19 +02:00
Cargo.toml initial commit 2025-02-20 05:45:19 +02:00
LICENSE Initial commit 2025-02-20 05:36:00 +02:00
README.md initial commit 2025-02-20 05:45:19 +02:00

titanit

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
  • --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)

Start

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

titan it!

  • titan://127.0.0.1