Skip to content

Repository files navigation

🦊 DataFox

DataFox Logo

A modern, beautiful, and intuitive FTP client for the modern developer

Built with Electron React Next.js Tailwind CSS License: MIT

Experience file transfer like never before with DataFox - where modern design meets powerful functionality

DownloadFeaturesScreenshotsDocumentation


🌟 Why DataFox?

DataFox transforms the file transfer experience with a contemporary interface, smart features, and rock-solid reliability. Built for developers, designers, and system administrators who demand both power and elegance.

🆚 DataFox vs. Traditional FTP Clients

Feature DataFox Traditional Clients
Modern UI ✅ Contemporary design with dark/light themes ❌ Outdated interfaces
Multi-Protocol ✅ FTP, FTPS, SFTP, S3 ⚠️ Limited protocol support
Smart Bookmarks ✅ Intelligent connection management ❌ Basic bookmark systems
Real-time Updates ✅ Live connection status & transfers ❌ Static interfaces
Developer Experience ✅ Built with modern web technologies ❌ Legacy codebases

✨ Features

🔌 Universal Protocol Support

  • FTP - Traditional File Transfer Protocol
  • FTPS - FTP with SSL/TLS encryption
  • SFTP - SSH File Transfer Protocol
  • S3 - Amazon S3 compatible storage

🎨 Beautiful Modern Interface

  • Sleek Design - Contemporary UI with smooth animations
  • Dark/Light Themes - Adaptive interface that respects your preferences
  • Smart Sidebar - Collapsible navigation with quick actions
  • Rich Icons - Intuitive Heroicons throughout the interface
  • Responsive Layout - Perfect on any screen size

📁 Intelligent File Management

  • Drag & Drop - Intuitive file uploads and organization
  • Smart Navigation - Breadcrumb paths and quick directory access
  • File Operations - Create, rename, delete, and manage permissions
  • Advanced Sorting - Sort by name, size, date, or type
  • File Preview - Quick preview for JSON, CSV, Parquet, and text files
  • Batch Operations - Handle multiple files efficiently
  • Real-time Updates - Live file status and modification tracking

🔍 Advanced Search & Content Discovery

  • Global File Search - Find files across entire directory structure
  • Content Search - Search within file contents (JSON, CSV, Parquet)
  • AI-Powered Semantic Search - Intelligent content understanding using LanceDB
  • Smart Filters - Filter by file type, size, date, and custom criteria
  • Search History - Track and revisit previous searches
  • Unified Search Interface - Combine filename, content, and semantic search
  • Result Highlighting - Visual highlighting of search matches
  • Pagination - Efficient handling of large search result sets

🔖 Smart Bookmark System

  • Visual Bookmarks - Save connections with custom names and descriptions
  • Quick Connect - One-click access to frequently used servers
  • Smart Detection - Automatically suggests saving new connections
  • Bookmark Management - Organize, edit, and delete saved connections
  • Import/Export - Share bookmarks across devices

🚀 Advanced Features

  • Transfer Queue - Monitor uploads/downloads with progress tracking
  • Background Transfers - Non-blocking file operations with adjustable concurrency
  • Connection Monitoring - Real-time status updates and auto-reconnection
  • Error Recovery - Intelligent error handling with retry mechanisms
  • Keyboard Shortcuts - Power user shortcuts for everything
  • Secure Storage - Encrypted credential storage
  • Content Indexing - Automatic indexing of JSON/Parquet files for search
  • Export Functionality - Export search results to JSON/CSV formats
  • Navigation Memory - Return to previous search results seamlessly

🛡️ Security & Privacy

  • Context Isolation - Secure Electron architecture
  • Encrypted Storage - System keychain integration
  • No Remote Code - Eliminates security vulnerabilities
  • Secure IPC - Safe communication between processes

🖼️ Screenshots

🌙 Dark Theme

DataFox Dark Theme

☀️ Light Theme

DataFox Light Theme

📱 Responsive Design

DataFox Mobile


🛠️ Tech Stack

Frontend Backend Desktop Styling Animation
React 18 Electron 27 Electron Tailwind CSS 3 Framer Motion
Next.js 14 Node.js Native APIs Custom Components Smooth Transitions

📚 Key Libraries

  • FTP Libraries: basic-ftp, ssh2-sftp-client
  • S3 Support: @aws-sdk/client-s3
  • Search Engine: @lancedb/lancedb, @xenova/transformers, fuse.js
  • File Processing: @dsnp/parquetjs, parquet-wasm
  • State Management: React Hooks + Context
  • Notifications: React Hot Toast
  • Icons: Heroicons
  • Build Tools: Electron Builder

📦 Installation & Setup

🔽 Download Release (Recommended)

📥 Download Latest Release

Available for:

  • 🍎 macOS (Intel & Apple Silicon) - DMG files ready for distribution
  • 🪟 Windows (x64) - NSIS installer
  • 🐧 Linux (AppImage, deb, rpm)

🔧 Development Setup

Prerequisites

  • Node.js 18 or higher
  • npm or yarn

Quick Start

# Clone the repository
git clone https://github.com/yourusername/datafox.git
cd datafox

# Install dependencies
npm install

# Start development server
npm run dev

Build from Source

# Build for production
npm run build:electron

# Package for distribution (creates DMG/installer)
npm run dist

# Build for specific platforms
npm run dist:mac    # macOS DMG files
npm run dist:win    # Windows installer
npm run dist:linux  # Linux packages

# Use automated build script
./build-release.sh

🎯 Usage Guide

🚀 First Connection

  1. Launch DataFox
  2. Click "New Connection" or press Cmd+N (Mac) / Ctrl+N (Windows/Linux)
  3. Configure connection:
    Protocol: FTP/FTPS/SFTP/S3
    Host: your-server.com
    Port: 21 (FTP), 22 (SFTP), 443 (S3)
    Username: your-username
    Password: your-password
    
  4. Save as bookmark for quick future access
  5. Connect and explore!

📁 File Operations

Action Method Shortcut
Upload Files Click upload button or drag & drop Cmd+U
Download Files Right-click → Download Cmd+D
Create Folder Click folder button Cmd+Shift+N
Delete Items Select → Delete Delete
Preview File Click preview button Space
Search Files Use search bar Cmd+F
Filter Results Use filter panel Cmd+Shift+F
Export Results Search → Export button Cmd+E
Refresh View Click refresh button F5
Navigate Up Click up arrow Backspace
Back to Search Click back button after navigation Cmd+B

🔖 Bookmark Management

  • Quick Save: Check "Save as bookmark" when connecting
  • Manage All: Click bookmark icon in sidebar
  • Quick Connect: Click any bookmark in the list
  • Smart Suggestions: DataFox suggests saving frequent connections

⌨️ Keyboard Shortcuts

Connection Management

  • Cmd+N / Ctrl+N - New Connection
  • Cmd+B / Ctrl+B - Manage Bookmarks
  • Cmd+D / Ctrl+D - Disconnect

File Operations

  • Cmd+U / Ctrl+U - Upload Files
  • Cmd+Shift+N / Ctrl+Shift+N - Create Folder
  • Space - Preview Selected File
  • F5 - Refresh Directory
  • Backspace - Navigate Up
  • Delete - Delete Selected
  • Cmd+A / Ctrl+A - Select All

Search & Discovery

  • Cmd+F / Ctrl+F - Open Search
  • Cmd+Shift+F / Ctrl+Shift+F - Advanced Filters
  • Cmd+E / Ctrl+E - Export Search Results
  • Cmd+B / Ctrl+B - Back to Search Results
  • Escape - Clear Search/Close Modals

Interface

  • Cmd+, / Ctrl+, - Preferences
  • Cmd+Shift+I / Ctrl+Shift+I - Developer Tools
  • Cmd+Q / Ctrl+Q - Quit Application

🏗️ Architecture

📁 Project Structure

datafox/
├── 🎯 src/main/              # Electron main process
│   ├── main.js               # Application entry point
│   ├── managers/             # Protocol managers
│   │   ├── ftpManager.js     # FTP/SFTP handling
│   │   └── s3Manager.js      # S3 connections
│   ├── mainSemanticSearchEngine.js # AI search engine
│   └── preload.js            # Secure IPC bridge
├── 🖼️ components/            # React components
│   ├── FTPClient.js          # Main application
│   ├── FileExplorer.js       # File browser with search
│   ├── SearchResults.js      # Search results display
│   ├── ContentSearchPanel.js # Content search interface
│   ├── FilterPanel.js        # Advanced filtering
│   ├── PreviewModal.js       # File preview modal
│   ├── ConnectionModal.js    # Connection dialog
│   ├── BookmarkModal.js      # Bookmark management
│   └── StatusBar.js          # Status display
├── 🔍 utils/                 # Search utilities
│   ├── BrowserSemanticSearchEngine.js # Client-side AI search
│   ├── unifiedSearchEngine.js # Combined search logic
│   └── searchEngine.js       # Core search functionality
├── 🎨 styles/                # Styling
│   └── globals.css           # Tailwind configuration
├── 🦊 assets/                # Brand assets
│   ├── icons/                # App icons
│   └── screenshots/          # Documentation images
├── 🏗️ build/                 # Build configuration
│   ├── entitlements.mac.plist # macOS security entitlements
│   ├── background.png        # DMG background
│   └── build-release.sh      # Automated build script
└── 📋 docs/                  # Documentation

🔒 Security Architecture

DataFox implements defense-in-depth security:

  1. Context Isolation - Renderer process isolation
  2. Preload Scripts - Secure IPC communication
  3. No Remote Module - Eliminates RCE vulnerabilities
  4. Encrypted Storage - System keychain integration
  5. Input Validation - Comprehensive data sanitization

🔧 Configuration

🌍 Environment Variables

NODE_ENV=development          # Development mode
ELECTRON_IS_DEV=true         # Override dev detection
DEBUG=datafox:*              # Enable debug logging

⚙️ Build Configuration

{
  "build": {
    "appId": "com.datafox.client",
    "productName": "DataFox",
    "icon": "public/assets/icons/datafox-icon",
    "mac": {
      "category": "public.app-category.developer-tools",
      "target": [
        { "target": "dmg", "arch": ["x64", "arm64"] }
      ]
    },
    "win": {
      "target": "nsis"
    },
    "linux": {
      "target": ["AppImage", "deb", "rpm"]
    }
  }
}

🤝 Contributing

We welcome contributions! Here's how to get started:

🐛 Bug Reports

  1. Check existing issues
  2. Create detailed bug report with:
    • Steps to reproduce
    • Expected vs actual behavior
    • System information
    • Screenshots if applicable

💡 Feature Requests

  1. Check discussions
  2. Describe the feature and use case
  3. Consider implementation approach

🔧 Development

  1. Fork the repository
  2. Create feature branch (git checkout -b feature/amazing-feature)
  3. Implement your changes with tests
  4. Commit with clear messages (git commit -m 'Add amazing feature')
  5. Push to branch (git push origin feature/amazing-feature)
  6. Open Pull Request

📝 Code Style

  • Use Prettier for formatting
  • Follow React best practices
  • Write meaningful commit messages
  • Add JSDoc comments for functions

🛣️ Roadmap

🔜 Coming Soon

  • Cloud Integrations - Google Drive, Dropbox, OneDrive
  • Sync Functionality - Bidirectional folder synchronization
  • Enhanced AI Search - Multi-language support and advanced embeddings
  • Plugins System - Extensible architecture
  • Team Features - Shared bookmarks and connections
  • Search Analytics - Usage insights and search optimization
  • Batch Content Operations - Bulk file processing and transformation

🎯 Future Vision

  • Mobile App - iOS/Android companion
  • Web Interface - Browser-based client
  • API Integration - REST API for automation
  • Enterprise Features - SSO, audit logs, compliance

📊 Performance

DataFox is optimized for speed and efficiency:

  • 🚀 Fast Startup - < 2 seconds cold start
  • 💾 Low Memory - < 150MB typical usage (includes AI search indexing)
  • ⚡ Efficient Transfers - Configurable concurrency (up to 200 concurrent downloads)
  • 🔄 Smart Caching - Intelligent directory and search result caching
  • 📱 Responsive UI - 60fps animations with optimized pagination
  • 🧠 AI Search - Local LanceDB vector database for semantic search
  • 📊 Content Indexing - Automatic background indexing of JSON/Parquet files

🌐 Compatibility

Operating Systems

  • macOS 10.14+ (Intel & Apple Silicon)
  • Windows 10/11 (x64)
  • Linux - Ubuntu 18.04+, CentOS 7+, Arch, Fedora

Protocols

  • FTP - RFC 959 compliant
  • FTPS - Explicit/Implicit SSL/TLS
  • SFTP - SSH File Transfer Protocol
  • S3 - Amazon S3 API compatible

🆘 Support & Help

📖 Documentation

💬 Community

🐛 Troubleshooting

  1. Check the FAQ for common issues
  2. Enable debug mode for detailed logging
  3. Search existing issues for solutions
  4. Create new issue with detailed information

📄 License

DataFox is open source software licensed under the MIT License.

MIT License - feel free to use in personal and commercial projects

🙏 Acknowledgments

🎨 Design Inspiration

  • Cyberduck - The gold standard of FTP clients
  • Finder/Explorer - Native file manager interfaces
  • VS Code - Modern application design patterns

🛠️ Technology Partners

👥 Contributors

Special thanks to all the amazing contributors who make DataFox possible!


Made with ❤️ and ☕ by the DataFox Team

GitHub stars GitHub forks Follow on GitHub

Transform your file transfer experience with DataFox 🦊

About

🦊 DataFox - Modern desktop FTP client with beautiful UI, S3 support, and smart bookmarks. Built with Electron, React & Tailwind CSS. A powerful alternative to Cyberduck with contemporary design.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages