Kang 1e347be154 docs: Update configuration storage details in documentation
This commit updates the documentation to reflect the new configuration storage method, specifying that application settings are now stored in `~/.dragonfly/dragonfly.redb`. It clarifies that legacy JSON/text files will be imported on first launch and retained as backups. Changes were made across multiple files, including README.md, FAQ, architecture, backend, and security guides, ensuring consistency in the description of configuration management and data persistence.
2026-04-29 08:44:35 +08:00
2026-02-18 20:18:30 +08:00
2026-02-18 20:18:30 +08:00
2026-02-18 20:18:30 +08:00
2026-02-24 16:45:31 +08:00
2026-02-18 20:30:50 +08:00
2026-02-18 20:18:30 +08:00
2026-02-24 16:45:31 +08:00

Dragonfly Logo

Dragonfly is a modern remote terminal workspace built with Tauri and Rust

Overview

Dragonfly is a desktop client for SSH-centric operations and mixed terminal workflows. It combines a React + Tauri interface with a Rust backend so you can manage remote hosts, local shells, file transfers, authentication, network tooling, session import / export, diagnostics, and protected configuration sync / backup workflows from one workspace.

Highlights

Sessions and workspace

  • SSH, Local Terminal, Telnet, and Serial session support
  • Multi-tab workspace with horizontal and vertical pane splits
  • Saved connections with folders, icons, duplication, reconnect, and import tools
  • Child windows for settings, new-session, quick-command, and auto-upload flows
  • Tray support with optional minimize-to-tray behavior on window close

Terminal experience

  • Search bar, command history, fuzzy suggestions, online search, translation, and context actions
  • Configurable command suggestion history length thresholds for noisy or long commands
  • Optional line numbers and timestamps gutter for dense terminal output
  • Optional action links for IPv4 addresses, host:port, and archive filenames
  • Optional keyword highlighting with built-in presets and custom rules
  • Large-output protection under load, configurable scrollback, and SSH keep-alive
  • Session recording with configurable save path and remote resource monitor for active SSH sessions

Remote operations

  • Built-in SFTP file explorer with upload, download, rename, move, delete, symlink, and properties
  • Folder upload, multi-select actions, editable path bar, and manual / automatic sync with terminal cwd
  • Open remote files in a local editor and upload changes back through the watcher flow
  • Windows support for dragging local files or folders directly into the file explorer to upload
  • Quick Commands with categories, colors, icons, execution modes, pinning, and variable prompts

Security and networking

  • Password auth, private keys, host-key verification, and local encrypted credential storage
  • OTP management with TOTP/HOTP, QR import, and SSH auto-fill support
  • Screen lock, master password support, and known-hosts management
  • Proxy configs, SSH jump hosts, and local / remote / dynamic tunnels
  • Diagnostics settings, local log management, and diagnostics bundle export for troubleshooting

Sync, backup, and portability

  • Encrypted cloud sync and backup for portable Dragonfly data through WebDAV and S3-compatible storage
  • Master password required before enabling sync, running manual actions, importing / exporting encrypted config backups, or creating scheduled encrypted backups
  • Startup sync checks, debounced auto-push after supported local changes, and scheduled backup retention policies
  • Manual test / push / pull / backup actions, remote backup restore, and snapshot-level conflict resolution
  • Session import from Xshell, MobaXterm, and WindTerm, plus full-app encrypted .dgfy import / export

Supported session types

Type Typical use Notes
SSH Linux / Unix remote servers Supports SFTP, OTP, resource monitor, proxy, jump host, tunnels
Local Terminal Local shell workflows Uses your local shell path and working directory
Telnet Legacy network devices / lab systems Lightweight terminal session without SSH-only features
Serial Routers, boards, embedded devices Configurable port, baud rate, parity, stop bits

Documentation map

The detailed user docs live in docs-site/.

The docs site ships with Simplified Chinese by default and English under /en/.

Screenshot placeholders

If you want to add screenshots later, these are the recommended stable asset paths to use in the docs site:

  • docs-site/static/img/docs/readme/main-workspace.png — main workspace with split panes and both side panels
  • docs-site/static/img/docs/readme/session-types.png — new-session window showing SSH / Local / Telnet / Serial tabs
  • docs-site/static/img/docs/readme/terminal-features.png — gutter, action links, and highlight demo output
  • docs-site/static/img/docs/readme/network-and-security.png — proxy / tunnel / OTP related UI

Tech stack

Layer Technology
Frontend React 19, TypeScript, Vite, TailwindCSS 4
Desktop runtime Tauri 2
Backend Rust
Terminal xterm.js
SSH russh
File transfer russh-sftp
Local persistence redb
Storage abstraction OpenDAL

Getting started

Prerequisites

  • Node.js 18+
  • Rust stable via rustup
  • pnpm recommended

Installation

git clone https://git.coderkang.top/Tauri/dragonfly.git
cd dragonfly
pnpm install

Run the app in development

pnpm tauri dev

Run the docs site locally

pnpm --dir docs-site start

This builds and serves all locales, so both / and /en/ are available.

For locale-specific hot reload during editing:

pnpm --dir docs-site start:zh
pnpm --dir docs-site start:en

Build

pnpm build
pnpm tauri build
pnpm --dir docs-site build

The desktop bundles are generated under src-tauri/target/release/bundle.

Contributing

Please read the docs under docs-site/docs/development/ before contributing.

License

MIT

Languages
Rust 97.5%
Python 1.2%
TypeScript 1.1%
CSS 0.1%