Armor Documentation

A secure Node.js file server with comprehensive Swagger UI integration and real-time collaboration features.

Get started now View API Reference View on GitHub


Getting started

ARMOR Reliably Manages Online Resources - A production-ready file management system with comprehensive API documentation and real-time collaboration features.

Key Features

  • Secure File Management: Upload, download, rename, delete with real-time collaboration
  • Comprehensive Swagger UI: Dark theme, seamless authentication, clean REST API design
  • Universal Authentication: HTTP Basic Auth (wget compatible), JWT sessions, API keys
  • Role-Based Security: Users (downloads only) vs Admins (full access)
  • Real-Time Collaboration: All operations sync across users instantly via Server-Sent Events
  • Clean REST API: Dedicated endpoints for search, folder creation, and file operations
  • Multi-Platform: DEBIAN and OmniOS packages with professional CI/CD

Architecture

graph TD
    A[Web Browser] -->|HTTPS| B[Armor Server]
    C[CLI Tools] -->|HTTP Basic Auth| B
    D[API Clients] -->|Bearer Tokens| B
    B -->|File Operations| E[File System]
    B -->|Real-time Updates| F[Server-Sent Events]
    B -->|Authentication| G[JWT/API Keys/OIDC]
    B -->|File Metadata| H[(Database)]
    B -->|Background Processing| I[Checksum Service]

View Detailed Architecture

Quick start

  1. Installation: Install via DEBIAN package or build from source
  2. Configuration: Edit /etc/armor/config.yaml for your environment
  3. Authentication: Configure users and OIDC providers
  4. API Keys: Generate keys for programmatic access
  5. Access: Browse files via web interface or use comprehensive REST API
  6. Try API: Visit the API documentation for interactive testing

Core Capabilities

Universal Authentication

  • HTTP Basic Auth: wget --user=admin --password=pass https://domain.com/file.txt
  • JWT Sessions: Browser-based authentication with OIDC support
  • API Keys: Bearer token authentication with configurable permissions

Complete File Management

  • Upload: Drag-and-drop or API with automatic checksum calculation
  • Download: Direct download or force download via long-press
  • Search: Find files by name or SHA256 checksum
  • Rename: Real-time file/folder renaming with SSE updates
  • Delete: Secure deletion with multi-user notification

Swagger UI Integration

  • Dark theme: Professional appearance with seamless integration
  • Dynamic server detection: Auto-detects current host with custom override
  • API key integration: Fill authentication directly from your existing keys
  • Temporary keys: Generate testing keys on-demand
  • Clean REST design: Dedicated endpoints eliminate API confusion

Documentation

Comprehensive documentation for all aspects of Armor:


About the project

Armor is © 2025 by STARTcloud.

License

Armor is distributed under a GPL-3.0 license.

Contributing

When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change. Read more about becoming a contributor in our GitHub repo.

Thank you to the contributors of Armor!

  • Makr91
  • MarkProminic
  • devin-ai-integration[bot]
  • github-actions[bot]
  • dependabot[bot]

Code of Conduct

Armor is committed to fostering a welcoming community.

View our Code of Conduct on our GitHub repository.