* feat: add save_settings_with_update_port command and update related components * refactor: remove state parameter from API key retrieval and update related functions * feat: enhance release workflow with tag validation and improve build scripts * feat: update release workflow to use version input from auto-version workflow * 📦 Chore(custom): add Clippy configuration for consistent linting across platforms * chore: add Clippy configuration for consistent linting across platforms * 🐛 Fix(custom): fix ci * 🚧 WIP(custom): fix clippy error * 🐛 Fix(custom): add default openlist and rclone version * 🚧 WIP(custom): fix clippy errors * 🚧 WIP(custom): fix clippy errors * 🐛 Fix(custom): fix ci bugs
OpenList Desktop
WIP
This project is still under development and will soon release version 1.0.
🔍 Overview
OpenList Desktop is a powerful cross-platform desktop application that provides a user-friendly interface for managing OpenList services and integrating cloud storage through Rclone. Built with modern web technologies and Rust, it offers seamless file management, cloud storage mounting, and service monitoring capabilities.
The application serves as a comprehensive solution for:
- Managing OpenList file management services
- Mounting and managing cloud storage (WebDAV)
- Monitoring service health and performance
- Providing system tray integration for background operations
✨ Features
🚀 Core Features
- OpenList Service Management: Start, stop, and monitor OpenList core services
- Cloud Storage Integration: Mount via Rclone
- Real-time Monitoring: Track service status, uptime, and performance metrics
- Process Management: Advanced process control with auto-restart capabilities
- System Tray: Background operation with system tray notifications
⚙️ Management Features
- Service Control: Start/stop/restart OpenList and Rclone services
- Configuration Management: GUI-based configuration for all services
- Log Monitoring: Real-time log viewing and management
- Update Management: Automatic update checking and installation
- Auto-startup: Configure applications to start with system boot
🎨 User Experience
- Modern UI: Clean, intuitive interface built with Vue.js
- Multi-language: Support for English and Chinese
- Responsive Design: Optimized for various screen sizes
- Keyboard Shortcuts: Efficient navigation with keyboard shortcuts
- Tutorial System: Built-in tutorial for new users
📸 Screenshots
Home Dashboard
The main dashboard provides a comprehensive overview of your OpenList Desktop environment with:
- Service status monitoring
- Quick action buttons for common tasks
- Version management and update notifications
- Service management controls
Mount Management
Manage your cloud storage connections with ease:
- Add and configure storage remotes
- Mount/unmount cloud storage
- Monitor mount status and statistics
- Configure auto-mounting options
Settings Configuration
Comprehensive settings management:
- OpenList service configuration
- Startup and automation preferences
- Theme and language selection
Log Monitoring
Keep track of system operations:
- Real-time log streaming
- Filter logs by source and level
- Export and clear log functionality
Update Management
Stay up-to-date with the latest versions:
- Check for OpenList and Rclone updates
- Download and install updates
- Version history and changelog
- Automatic update scheduling
📦 Installation
Prerequisites
- Operating System: Windows 10+, macOS 10.15+, or Linux (Ubuntu 18.04+)
Download Options
1. GitHub Releases (Recommended)
Download the latest release from GitHub Releases:
- Windows:
OpenList-Desktop_x.x.x_x64_en-US.msi - macOS:
OpenList-Desktop_x.x.x_x64.dmg - Linux:
OpenList-Desktop_x.x.x_amd64.AppImage
2. Build from Source
# Clone the repository
git clone https://github.com/OpenListTeam/openlist-desktop.git
cd openlist-desktop
# Install dependencies
npm install
# Prepare development environment
npm run prepare-dev
# Build the application
npm run build
npm run tauri build
Installation Steps
Windows
- Download the
.exeinstaller - Run the installer as Administrator
- Follow the installation wizard
- Launch from Start Menu or Desktop shortcut
macOS
- Download the
.dmgfile - Open the DMG and drag OpenList Desktop to Applications
- Right-click and select "Open" (first time only)
- Grant necessary permissions when prompted
Linux
-
Download the
.debor.rpmpackage -
Use your package manager to install:
sudo dpkg -i OpenList-Desktop_x.x.x_amd64.deb # or sudo rpm -i OpenList-Desktop_x.x.x_amd64.rpm
🚀 Usage
First Launch
- Initial Setup: On first launch, the application will guide you through initial configuration
- Service Installation: Install the OpenList service when prompted
- Storage Configuration: Configure your first cloud storage connection
- Tutorial: Complete the interactive tutorial to learn key features
Basic Operations
Starting Services
Dashboard → Service Management → Start OpenList Service
Dashboard → Quick Actions → Start Rclone Backend
Adding Cloud Storage
- Navigate to Mount tab
- Click Add Remote button
- Configure storage settings:
- Name: Unique identifier for your storage
- Type: Storage provider (WebDAV)
- URL: Storage endpoint URL
- Credentials: Username and password
- Mount Point: Local directory path
- Click Save and Mount
Monitoring Operations
- Service Status: Check the dashboard for service health indicators
- Logs: Use the Logs tab to monitor system operations
- Performance: View uptime and response metrics on the dashboard
Advanced Features
Auto-mounting Configuration
// Configure storage to mount automatically on startup
{
"autoMount": true,
"extraFlags": ["--vfs-cache-mode", "full"],
"mountPoint": "/mnt/cloudstorage"
}
Custom Rclone Flags
Add custom Rclone flags for optimal performance:
--vfs-cache-mode full: Enable full VFS caching--buffer-size 256M: Increase buffer size--transfers 10: Concurrent transfer limit
System Tray Operations
- Right-click tray icon for quick actions
- Double-click to show/hide main window
⚙️ Configuration
Application Settings
OpenList Service Configuration
{
"openlist": {
"port": 5244,
"api_token": "your-secure-token",
"auto_launch": true,
"ssl_enabled": false
}
}
Rclone Configuration
{
"rclone": {
"config": {
"mycloud": {
"type": "webdav",
"url": "https://cloud.example.com/dav",
"user": "username",
"pass": "encrypted-password",
"mountPoint": "C:/CloudDrive",
"autoMount": true,
"extraFlags": ["--vfs-cache-mode", "full"]
}
},
}
}
Application Preferences
{
"app": {
"theme": "auto",
"auto_update_enabled": true,
"monitor_interval": 30000
}
}
Environment Variables
OPENLIST_API_TOKEN: Override default API tokenOPENLIST_PORT: Override default port (5244)RCLONE_CONFIG_DIR: Custom Rclone configuration directoryLOG_LEVEL: Set logging level (debug, info, warn, error)
🔧 Development
Development Environment Setup
Prerequisites
- Node.js: v22+ with yarn
- Rust: Latest stable version
- Git: Version control
Setup Steps
# Clone repository
git clone https://github.com/OpenListTeam/openlist-desktop.git
cd openlist-desktop
# Install Node.js dependencies
yarn install
# Install Rust dependencies
cd src-tauri
cargo fetch
# Prepare development environment
cd ..
yarn run prebuild:dev
# Start development server
yarn run dev
Development Commands
# Start development server with hot reload
yarn run dev
# Start development without file watching
yarn run nowatch
# Run linting
yarn run lint
# Fix linting issues
yarn run lint:fix
# Type checking
yarn run build --dry-run
🤝 Contributing
We welcome contributions from the community!
📄 License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.




