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]
Quick start
- Installation: Install via DEBIAN package or build from source
- Configuration: Edit
/etc/armor/config.yamlfor your environment - Authentication: Configure users and OIDC providers
- API Keys: Generate keys for programmatic access
- Access: Browse files via web interface or use comprehensive REST API
- 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:
- API Reference - Interactive Swagger UI documentation
- Getting Started Guide - Step-by-step setup
- Installation Guide - DEBIAN and OmniOS packages
- Authentication Guide - User management and API keys
- Configuration Reference - Complete config options
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!
Code of Conduct
Armor is committed to fostering a welcoming community.
View our Code of Conduct on our GitHub repository.