/FileExplorer

Fast file explorer written with Tauri and React.

Primary LanguageRustGNU General Public License v3.0GPL-3.0

πŸš€ Fast File Explorer

Rust Logo

License: GPL v3

A fast file explorer built with Rust and Tauri

Fast Search Feature

✨ Features

  • πŸš€ Blazing Fast Search: Multiple search algorithms with ~15ms response time vs 3min 45sec for Windows Explorer
  • πŸ” Advanced Search Engine:
    • Fast fuzzy search with ART (Adaptive Radix Tree) implementation
    • LRU caching for optimal performance
    • Multiple search algorithms for different use cases
  • πŸ“ Comprehensive File Operations: Copy, move, delete, rename with robust error handling
  • 🌐 SFTP Support: Full remote file system operations including browsing, uploading, and downloading
  • πŸ” Advanced Permissions: File and directory permission management
  • πŸ“Š File Metadata: Comprehensive metadata viewing and management
  • πŸ”¨ File Hashing: MD5, SHA2, and CRC32 hash generation for file integrity
  • πŸ“„ File Templates: Template system for creating new files
  • πŸ‘οΈ File Preview: Built-in preview system for various file types (spotlight-like)
  • πŸ’Ύ Volume Operations: Drive management and volume operations
  • βš™οΈ Customizable Settings: Extensive configuration options
  • 🎨 Modern UI: React-based interface with context menus and responsive design

πŸ” Current Status

Cross platform compatibility is given and it supports all common Linux distros, macOS, and Windows which are supported by Tauri. If there is an interest in contributing feel free to join the discord channel from Connaticus or message me or my team.

πŸ—οΈ Architecture

This is a Tauri-based application with a Rust backend and React frontend:

Backend (Rust)

  • Search Engine: Multiple algorithms with LRU caching
  • File System Operations: Local and SFTP file operations
  • Command System: Modular command handlers for different operations
  • Error Handling: Centralized error management with standardized codes (401-500)
  • Feature Flags: Extensive Cargo features for different build configurations

Frontend (React)

  • Provider Pattern: Hierarchical context providers for state management
  • Modern UI: Component-based architecture with custom hooks
  • Responsive Design: Adaptive layouts for different screen sizes

Coming Soon

  • Real-time file watching with caching service
  • Search/caching progress indicators
  • Enhanced terminal integration

πŸ› οΈ Installation

Our plan is to provide installers for the supported operating systems or common package installers. Unfortunately we have serious Problems with Tauri and creating installers. There are some installers for linux under dist-builds. In the future there will be ready to go packages for macOS, Linux and Windows until then please refer to the compilation from source for your computer.

Installation from source

Prerequisites for installing from source

Other required dependencies are installed automatically by the Tauri CLI. If they are not please contact us.

Install with compiling from source

Note that on macOS you need XCode installed with the build tools.

# Install Tauri CLI
cargo install tauri-cli # The version should be >2.4.0 if not already installed

# Build for production
cargo tauri build

Go into the build directory and run the created binary. The binary is located in FileExplorer/src-tauri/target/release/bundle/. The name of the binary is file-explorer or

🐧 Linux

Under Linux the given command generates an .deb, .rpm, AppImage in the FileExplorer/src-tauri/target/release/bundle folder. Select the one which fits your distribution. Either run the AppImage, Binary or install the .deb or .rpm package.

For the AppImage

#Make sure the image is runnable
chmod +x yourapp-x.y.z.AppImage
#Run the image. After that it should behaving like a native application
./yourapp-x.y.z.AppImage

Recommended is to use the binary created in FileExplorer/src-tauri/target/release/src-tauri. Give it executable permissions and then run it from the terminal. You can also put it into your user binaries folder, e.g. ~/bin, and add it to your PATH variable.

🍎 macOS

# Install Tauri CLI
cargo install tauri-cli # The version should be >2.4.0 if not already installed

# Build for production
cargo tauri build

Tauri creates an .dmg or .app bundle under the folder FileExplorer/src-tauri/target/release/bundle/macos/. Recommended is to use the binary created in FileExplorer/src-tauri/target/release/src-tauri. Give it executable permissions and then run it from the terminal. You can also put it into your user binaries folder, e.g. ~/bin, and add it to your PATH variable.

πŸͺŸ Windows

This generates an installer for your system, which lays in FileExplorer/src-tauri/target/release/bundle/msi/. There should be an .exe or .msi which is called file-explorer. To install it you need to double click the file and install like any other application. Then you can completely remove the FileExplorer folder.

Development Setup

# Install Tauri CLI
cargo install tauri-cli # The version should be >2.4.0

# Build for production
cargo tauri build

# Run the development server
cargo tauri dev

Testing and Development Commands

The project uses feature flags for different configurations:

# Run all tests including long-running ones
cargo test --features full

# Run with benchmark features
cargo test --features benchmarks

# Enable all logging during tests
cargo test --features log-all

Available feature combinations:

  • full - All features including long tests, benchmarks, and file opening
  • log-search - Enable search progress and error logging
  • log-index - Enable indexing progress and error logging

πŸ“Έ Images

πŸ“„ History

The Explorer was started as a project from the youtuber Connaticus. He documented parts of his development journey online in two Videos: I Made a FAST File Explorer and How I RUINED My Rust Project.

Lots of changes were made in the course of the InformatiCup from the year 2025. It is a competition in Germany. The given task was to contribute to existing open source projects. The team members were Marco Brandt, Daniel Schatz, Lauritz Wiebusch, SΓΆren Panten. The repo can be found under FileExplorer.

⚑ Performance

This file explorer emphasizes extreme performance with benchmarks showing significant improvements over native solutions (tested on 170,000 paths):

Operation Fast File Explorer Windows Explorer
File search ~15ms 3min 45sec

Technical Implementation

  • Multiple Search Algorithms: Fast fuzzy search, ART (Adaptive Radix Tree)
  • LRU Caching: Intelligent caching for search results
  • Rust Backend: Memory-safe, zero-cost abstractions
  • Modular Architecture: Command-based system with feature flags

βš™οΈ Configuration

The application uses several configuration files:

  • src-tauri/config/settings.json - Application settings
  • src-tauri/config/meta_data.json - Metadata configuration
  • src-tauri/tauri.conf.json - Tauri application configuration
  • package.json - Frontend dependencies and scripts

🀝 Contributing

Contributions are welcome! Before contributing, please read our contributing guidelines.

πŸ“ License

This project is licensed under the GNU General Public License v3.0 – see the LICENSE file for details.

πŸ“¬ Contact

Have questions or feedback? Open an issue on our GitHub repository!