Skip to content
P A M O D edited this page Feb 21, 2026 · 2 revisions

SkyBox Wiki

Welcome to the SkyBox project documentation! SkyBox is a modern desktop file explorer application that integrates Telegram as unlimited free cloud storage, built with Tauri, React, TypeScript, and Rust.

🎯 Project Overview

SkyBox solves a common problem: cloud storage services cost money and have storage limits. This application leverages Telegram as a free, unlimited cloud storage backend while providing a beautiful, native desktop file management experience.

Key Concepts

  • Telegram-powered Storage: Uses Telegram's infrastructure for unlimited file storage
  • Desktop-First: Native desktop application for Windows, macOS, and Linux
  • Offline-First: Local database for fast operations and offline access
  • Modern UI: Clean, responsive interface inspired by Telegram's design language

🚀 Quick Links

For Developers

Core Features

Specialized Topics


🛠️ Tech Stack

Frontend

  • React + TypeScript - Modern UI framework with type safety
  • Vite - Fast build tool and dev server
  • Tailwind CSS - Utility-first styling
  • shadcn/ui + Radix UI - Accessible component primitives

Backend

  • Rust - Systems programming for performance and safety
  • Tauri v2 - Desktop application framework
  • SQLite - Local embedded database
  • grammers - Telegram client library

Testing & Quality

  • Vitest - Unit testing framework
  • Testing Library - Component testing
  • ESLint - Code linting
  • Prettier - Code formatting

📁 Project Structure

SkyBox/
├── src/                      # Frontend React application
│   ├── components/           # React components
│   │   ├── skybox/          # App-specific components
│   │   └── ui/              # shadcn/ui components
│   ├── pages/               # Page components
│   ├── hooks/               # Custom React hooks
│   └── lib/                 # Utilities and helpers
│
├── src-tauri/               # Rust backend
│   ├── src/
│   │   ├── telegram/        # Telegram integration
│   │   ├── db/              # Database layer
│   │   ├── fs/              # File system operations
│   │   └── utils/           # Backend utilities
│   ├── Cargo.toml           # Rust dependencies
│   └── tauri.conf.json      # Tauri configuration
│
├── docs/                    # Documentation
├── .github/workflows/       # CI/CD automation
└── public/                  # Static assets

🎨 Key Features

File Management

  • Modern Explorer UI: Grid and list views with sorting and filtering
  • Breadcrumb Navigation: Intuitive path navigation
  • Search: Quick file and folder search
  • Context Menus: Right-click actions for file operations
  • Details Panel: View file metadata and properties

Telegram Integration

  • Multiple Auth Methods: Phone number, QR code, password-based login
  • Session Management: Secure, persistent authentication
  • Saved Messages Browser: Browse and manage Telegram saved messages
  • File Upload/Download: Seamless file transfer to/from Telegram
  • Thumbnail Generation: Preview images and videos

Data Management

  • Local SQLite Database: Fast, embedded data storage
  • Category System: Organize files by category
  • Message Indexing: Quick search across Telegram messages
  • Recycle Bin: Soft delete with recovery option

🔧 Development

Prerequisites

  • Node.js 20 or higher
  • Rust stable (MSRV: 1.77.2)
  • npm or yarn package manager

Quick Start

# Install dependencies
npm install

# Run development server
npm run tauri:dev

# Run tests
npm run test

# Build for production
npm run tauri:build

Code Style

  • Frontend: 2-space indentation, double quotes, semicolons
  • Backend: Follow rustfmt conventions
  • Commits: Conventional commits (feat:, fix:, docs:, etc.)

📚 Documentation Sections

Getting Started

  • Installation and setup
  • Development environment configuration
  • First-time contribution guide

Architecture

Features

Advanced Topics


🤝 Contributing

We welcome contributions! Please follow these guidelines:

  1. Follow the code style defined in Development Guidelines
  2. Write tests for new features
  3. Update documentation when changing behavior
  4. Use conventional commits for clear history
  5. Keep PRs focused - one feature/fix per PR

Commit Message Format

feat(scope): add new feature
fix(scope): resolve bug
docs(scope): update documentation
refactor(scope): code restructuring
chore: maintenance tasks

🐛 Troubleshooting

Having issues? Check out:


📄 License

This project is open source. See the LICENSE file for details.


🔗 Additional Resources


Last Updated: February 2026
Version: See VERSION file

Clone this wiki locally