gurty-cli

Crates.iogurty-cli
lib.rsgurty-cli
version0.1.0
created_at2025-09-09 19:52:28.692119+00
updated_at2025-09-09 19:52:28.692119+00
descriptionGURT protocol server CLI tool
homepage
repositoryhttps://github.com/outpoot/gurted
max_upload_size
id1831450
size136,606
Niklas Wojtkowiak (0xnim)

documentation

README

Gurty - a CLI tool to setup your GURT Protocol server

Gurty is a command-line interface tool for setting up and managing GURT protocol servers.

Configuration

Gurty uses a TOML configuration file to manage server settings. The gurty.template.toml file provides a complete configuration template with all available options:

Sections

  • Server: Basic server settings (host, port, protocol version, connection limits)
  • TLS: Certificate and private key configuration for secure connections
  • Logging: Logging levels, request/response logging, and log file paths
  • Security: File access restrictions, allowed HTTP methods, and rate limiting
  • Error Pages: Custom error page templates and default error responses
  • Headers: Custom HTTP headers for security and server identification

Using Configuration Files

  1. Copy the configuration template:

    cp gurty.template.toml gurty.toml
    
  2. Edit the configuration to match your environment. (optional)

  3. Use the configuration file:

    gurty serve --config gurty.toml
    

Setup for Production

For production deployments, you can use the Gurted Certificate Authority to get proper TLS certificates:

  1. Install the Gurted CA CLI:

    🔗 https://gurted.com/download

  2. Request a certificate for your domain:

    gurtca request yourdomain.web --output ./certs
    
  3. Follow the DNS challenge instructions: When prompted, add the TXT record to your domain:

    • Go to gurt://dns.web (or your DNS server)
    • Login and navigate to your domain
    • Add a TXT record with:
      • Name: _gurtca-challenge
      • Value: (provided by the CLI tool)
    • Press Enter to continue verification
  4. Copy the configuration template and customize:

    cp gurty.template.toml gurty.toml
    
  5. Deploy with CA-issued certificates:

    gurty serve --cert ./certs/yourdomain.web.crt --key ./certs/yourdomain.web.key --config gurty.toml
    

Development Environment Setup

To set up a development environment for GURT, follow these steps:

  1. Install mkcert:

    # Windows (with Chocolatey)
    choco install mkcert
    
    # Or download from: https://github.com/FiloSottile/mkcert/releases
    
  2. Install local CA in system:

    mkcert -install
    

    This installs a local CA in your system certificate store.

  3. Generate localhost certificates:

    cd gurted/protocol/cli
    mkcert localhost 127.0.0.1 ::1
    

    This creates:

    • localhost+2.pem (certificate)
    • localhost+2-key.pem (private key)
  4. Copy the configuration template and customize:

    cp gurty.template.toml gurty.toml
    
  5. Start GURT server with certificates and configuration:

    gurty serve --config gurty.toml
    

    Or specify certificates explicitly:

    gurty serve --cert localhost+2.pem --key localhost+2-key.pem --config gurty.toml
    
Commit count: 261

cargo fmt