anySCP

macnev2013活跃维护

跨平台 SSH 终端、SFTP 文件管理与 S3 浏览器,可替代 Termius,方便在 macOS、Windows、Linux 上统一管理远程服务器和云存储。

Free, open-source SSH terminal, SFTP file manager & S3 browser for macOS, Windows & Linux. Alternative to Termius.

v0.11.1发布于 2026-07-26 07:09 UTC243star41fork同步于 2026-11-10 18:04 UTC

怎么上手

由 README 提炼,执行前请确认
git clone https://github.com/macnev2013/anyscp.git
cd anyscp
pnpm install
pnpm tauri dev
硬件要求按 README 说明

README 未说明硬件要求,只说明支持 macOS、Windows、Linux 三个平台

支持 Apple Silicon
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

免费开源的跨平台桌面客户端,把 SSH 终端、SFTP 文件管理和 S3 浏览合到一个应用里

跨平台 SSH 终端、SFTP 文件管理与 S3 浏览器,可替代 Termius,方便在 macOS、Windows、Linux 上统一管理远程服务器和云存储。

核心能力

  • 用 xterm.js 加 WebGL 渲染终端,支持水平、垂直分屏
  • SFTP 支持拖拽上传、多选批量操作和带速度与 ETA 的传输队列
  • S3 浏览器兼容 MinIO、R2、B2、Wasabi 等 S3 兼容存储
  • 凭据存入系统钥匙串,密码和私钥不跨 IPC 边界
  • 支持本地与远程端口转发,内置常用服务预设

容易踩的坑

从源码构建需要先装好 Rust 和 Tauri v2 工具链,前端包管理用 pnpm;macOS 上若提示 App is damaged,需执行 xattr -cr /Applications/anyscp.app;S3 连接需自行准备 access key、secret key 和正确的 region。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v0.11.1
  1. v0.11.1anySCP v0.11.1最新正式版2026-07-26 · 2026-07-26 07:09 UTC

    What's New

    • Deduplicate transfer managers into transfer_common and cap finished history (#121)
    • Add keyboard shortcuts (#116)
    • Auto relaunch in startup update (#113)

    Downloads

    PlatformFile
    macOS (Apple Silicon).dmg (aarch64)
    macOS (Intel).dmg (x64)
    Windows.msi / .exe
    Linux.deb / .AppImage

    Installation

    Download the appropriate file for your platform from the assets below.

    macOS users: If you see "app is damaged", run:

    xattr -cr /Applications/anyscp.app
    

    Auto-Updates

    Already have anySCP installed? Go to Settings > Updates and click Check to update in-app.

  2. v0.11.0anySCP v0.11.02026-07-18 · 2026-07-18 12:31 UTC
    查看更新说明

    A big community-driven release: whole-folder uploads, multi-file downloads, an editable path bar, faster SFTP transfers, and a sweeping UI-polish pass across the Explorer, tabs, transfers, modals, and dashboard.

    ✨ Highlights

    • Upload whole folders — a new Upload Folder button next to Upload File recreates the folder remotely and walks it recursively, with the same queue and progress reporting as file uploads. Works for SFTP, SCP, and S3. (#102, completes #69)

    • Download multiple files at once — select several entries and the context menu now offers Download N items instead of forcing one-at-a-time downloads. (#97, closes #6)

    • Type a path to navigate — click the Explorer breadcrumb (or focus it and press Enter) to type a path directly; Enter commits, Escape cancels, and paths are normalized per protocol. (#101)

    • Faster SFTP uploads — files now upload in four concurrent 256 KB regions instead of sequential 32 KB chunks, and large-folder scans no longer block the session while sizes are computed. (#108, #110)

    • Transfers get a full page — a pop-out button on the transfer popover opens a full Transfers tab, and clicking the sidebar button now toggles the popover closed instead of instantly reopening it. (#102, fixes #88)

    • Interface monospace font setting — pick the mono font used for paths, permissions, and code (JetBrains Mono by default, bundled with Nerd Font glyphs so terminal icons render), with live font previews in every picker. (#102, #98, closes #86)

    • Terminal focus just works — switching back to a terminal tab focuses the shell without an extra click, split panes focus on activation, and the terminal search bar remembers whether you left focus in it or the terminal. (#105)

    🐛 Fixes

    • Steadier Explorer file table — fixed-width timestamps that never wrap rows, metadata columns aligned as one monospace set, and a sort arrow that reserves its width so sorting never shifts the header. (#102, #109, refines #46)

    • Tabs behave like browser tabs — middle-click closes a tab, the active tab no longer widens and shifts its neighbours, and a narrow window shows ‹ › overflow chevrons instead of a scrollbar. (#102)

    • Modals no longer close on a text-drag — selecting text in a field and releasing on the backdrop keeps dialogs open and your input intact; every dialog now shares one backdrop with the correct rule. (#102)

    • Context menus stay on screen — menus and submenu flyouts clamp to the viewport using their real size, and dismiss when the window loses focus or resizes (no more menus stuck across fullscreen toggles). (#102)

    • Editing an S3 connection keeps its endpoint — opening a saved MinIO/R2/B2 connection no longer resets the endpoint to the provider default; presets apply only when you actively change the provider. (#102)

    • Dashboard card icons don't jiggle — host/S3 card action icons are fixed-size with tooltip labels, so hovering one can't slide the next out from under your cursor. Pages also stop shifting by the scrollbar's width when switching. (#102)

    🔧 Under the hood

    • Connection-history writes are wrapped in a DB transaction to avoid partial writes. (#108)
    • Big test-coverage push: transfers, S3 dialog presets, tab bar, table sorting, terminal focus, and the editable path bar. (#101, #102, #105)
    • Community Discord links updated. (#107)

    📦 Download for your platform from Assets below 🔄 Update in-app: Settings → About & Updates → Check 🍎 macOS "app is damaged"? Run xattr -cr /Applications/anyscp.app

  3. v0.10.5anySCP v0.10.52026-06-26 · 2026-06-26 09:04 UTC
    查看更新说明

    A focused bug-fix release: working clipboard in the rename field, a dismissible transfer popover, navigable symlinked directories, and clickable terminal links.

    🐛 Fixes

    • Copy/paste works in the Explorer rename field — selecting the filename in the inline Rename box and pressing Ctrl/Cmd+C copied nothing to your clipboard. Copy, cut, paste, and select-all now work as normal text editing inside the field. (#92, fixes #87)

    • Transfer popover can be closed during a transfer — the file-transfer status popover reopened on every progress update, so it was impossible to dismiss while an upload/download was running. It now stays closed once you close it, and still auto-opens when a new transfer starts. (#93, fixes #88)

    • Open symlinked directories in the Explorer — double-clicking a symlink that points to a directory failed with Remote I/O error: Failure. Symlink targets are now resolved, so symlinked folders open and navigate like any other directory (and symlinked files open/download correctly). (#96, fixes #90)

    • Open links clicked in the terminal — clicking a URL in the terminal raised a browser error instead of opening it. Links now open in your default browser, and plain-text URLs in terminal output are clickable too. (#96)


    📦 Download for your platform from Assets below 🔄 Update in-app: Settings → About & Updates → Check 🍎 macOS "app is damaged"? Run xattr -cr /Applications/anyscp.app

  4. v0.10.4anySCP v0.10.42026-06-15 · 2026-06-15 20:14 UTC
    查看更新说明

    A big release: drag-and-drop everywhere, terminal clipboard controls, a top-to-bottom dialog refresh, and Explorer quality-of-life.

    ✨ Highlights

    • Reorder hosts, groups & S3 connections by drag-and-drop — arrange the dashboard exactly how you want instead of fixed alphabetical order; the custom order persists across restarts. (#70, closes #41)

    • Drag-and-drop file transfers — drag files and folders (or a multi-file selection) from the Explorer onto your desktop/Finder to download them, and drag entries within the Explorer to move or copy them between folders. (#72, closes #7)

    • Terminal copy-on-select & mouse paste — new Settings → Terminal → Clipboard options: copy the selection to the clipboard automatically, and paste with middle-click or right-click. (#79, closes #71)

    • Refreshed, consistent dialogs throughout — every dialog (host / S3 / snippet / group editors, confirmations, backup, reset…) now shares one polished modal shell with consistent icons, spacing, animations, and reliable Escape/Enter handling. Delete actions across the app gained clear confirmation dialogs, and History now supports deleting individual entries. (#68)

    • Choose what double-clicking a file does — a new Settings → Explorer section lets you pick whether double-clicking a file downloads it or opens it in your editor (text files only — binaries still download). (#80)

    • Cancel a connection in progress — the connect flow now has a Cancel button, so you can abort a slow or stuck SSH connection instead of waiting for it to time out. (#66, closes #64)

    🐛 Fixes

    • Explorer upload button works again — clicking Upload in the SFTP/SCP Explorer did nothing on macOS (the file picker never opened). It now opens correctly and supports selecting multiple files at once. (#78, fixes #69)

    • Editing two files with the same name no longer overwrites the wrong one — opening a/config.yml and b/config.yml in an external editor staged both under the same temp path, so saving one could clobber the other. Each remote file now stages in its own directory. (#77, fixes #76)

    🔧 Under the hood

    • Frontend CI now runs the Vitest suite on every push and PR, with new unit + component tests covering the terminal clipboard and Explorer double-click behaviour.

    📦 Download for your platform from Assets below 🔄 Update in-app: Settings → About & Updates → Check 🍎 macOS "app is damaged"? Run xattr -cr /Applications/anyscp.app

  5. v0.10.3anySCP v0.10.32026-06-07 · 2026-06-07 20:42 UTC
    查看更新说明

    A feature-packed release: edit remote file permissions, back up and restore all your data, and reliable file listings on minimal Linux hosts.

    ✨ Highlights

    • Change file permissions from the Explorer — right-click any file or folder and open Properties to view and edit its permissions with a familiar owner/group/other (rwx) grid or octal entry. Folders can apply changes recursively to everything inside, with per-entry results so you can see exactly what succeeded. Works over both SFTP and SCP connections. (#63)

    • Encrypted backup & restore — export everything (saved hosts, groups, history, snippets, port-forward rules, S3 connections, settings, and stored credentials) into a single password-protected file, and restore it on any machine. The backup is compressed and encrypted with AES-256-GCM using a key derived from your passphrase via Argon2id — your secrets never touch disk in plaintext. Find it under Settings → Data → Backup. (#62)

    • Clear all data (factory reset) — a danger-zone action under Settings → Data that wipes every saved host, snippet, setting, and credential, returning anySCP to a fresh-install state. Gated behind a typed DELETE confirmation. (#62)

    🐛 Fixes

    • File listings now work on minimal busybox / Buildroot hosts — the SCP Explorer connected but showed an empty file list on stripped-down embedded systems (e.g. Buildroot busybox builds that ship without stat). anySCP now falls back to a universal ls -la listing path, so these hosts list files correctly. (#61, fixes #3)

    🔧 Under the hood

    • Vault credential tests now use an in-memory keystore instead of the real OS keychain, removing flakiness and speeding up the suite. (#63)
    • Added a busybox-without-stat end-to-end fixture to the SCP test matrix to lock in the listing fix. (#61)

    📦 Download for your platform from Assets below 🔄 Update in-app: Settings → About & Updates → Check 🍎 macOS "app is damaged"? Run xattr -cr /Applications/anyscp.app

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译


    🚀 Overview

    AnySCP is a free, open-source desktop application that combines an SSH terminal, SFTP file explorer, and S3-compatible cloud storage browser into a single, fast, privacy-first tool. Built with Tauri v2 (Rust backend + React frontend), it runs natively on macOS, Windows, and Linux. No cloud accounts, no subscriptions -- your credentials stay on your machine.

    ⚡ How AnySCP Compares

    FeatureAnySCPTermiusPuTTYWinSCPCyberduck
    SSH TerminalYesYesYesNoNo
    SFTP BrowserYesYesNoYesYes
    S3 BrowserYesNoNoNoYes
    Split PanesYesYesNoNoNo
    Port ForwardingYesYesYesNoNo
    Command SnippetsYesYesNoNoNo
    Cross-PlatformYesYesWindowsWindowsYes
    Free (no limits)YesNoYesYesYes
    No Account RequiredYesNoYesYesYes
    Open SourceYesNoYesYesYes (GPL)
    Credential PrivacyLocal (OS keychain)Cloud-syncedLocalLocalLocal

    ✨ Features

    💻 SSH Terminal Client

    • Full-featured terminal emulator powered by xterm.js with GPU-accelerated WebGL rendering
    • Split terminal panes (horizontal and vertical) within a single SSH session
    • In-terminal search with regex support
    • Tabbed SSH sessions with keyboard shortcuts
    • Configurable keep-alive intervals, startup commands, default shell, and proxy jump (bastion host)
    • SSH key authentication with automatic PPK-to-OpenSSH conversion
    • Import connections from ~/.ssh/config

    📁 SFTP File Manager

    • Browse, upload, download, rename, move, copy, and delete remote files and directories
    • Drag-and-drop file upload from your desktop directly into the remote file browser
    • Multi-select files with Ctrl+Click and Shift+Click for bulk operations
    • Cut, copy, and paste files between remote directories
    • Inline file and folder creation
    • Edit remote files in VS Code -- automatically re-uploads when you save
    • Transfer queue with real-time progress bars, transfer speed, and ETA
    • Concurrent file transfers with configurable parallelism

    ☁️ S3 Cloud Storage Browser

    • Connect to Amazon S3, MinIO, Cloudflare R2, Backblaze B2, Wasabi, DigitalOcean Spaces, or any S3-compatible storage service
    • Same file browser UI as SFTP -- sort, multi-select, context menus, keyboard shortcuts
    • Drag-and-drop upload with recursive directory support
    • Create files, create folders, bulk delete (including recursive folder delete)
    • Generate and copy presigned URLs for sharing
    • Edit S3 objects in VS Code with automatic re-upload on save
    • Transfer progress tracking with speed and ETA
    • Switch between multiple buckets within a single connection

    🔗 Server & Connection Management

    • Save SSH hosts and S3 connections with labels, colors, environment tags, and notes
    • Organize connections into color-coded groups
    • Import SSH hosts from ~/.ssh/config with one click
    • One-click connect using credentials stored in your OS keychain
    • Recent connections list for quick access
    • Full connection history with audit log

    📋 Command Snippets Library

    • Save frequently used shell commands with labels and descriptions
    • Create parameterized command templates with {{variable}} placeholders
    • Organize snippets into folders
    • Quick-insert panel accessible from any terminal session
    • Full-text search across all saved snippets

    🔀 SSH Port Forwarding

    • Set up local and remote SSH tunnels
    • Create, start, and stop port forwarding rules per host
    • Tunnels create their own SSH connections automatically -- no terminal session needed
    • Monitor active tunnel status in real time
    • Presets for common services (PostgreSQL, MySQL, Redis, MongoDB, HTTP, Kubernetes)

    🔐 Security & Privacy

    • Credentials stored in your OS keychain (macOS Keychain, Windows Credential Manager, Linux libsecret/KWallet)
    • SSH private keys and passwords never leave the Rust backend process
    • Fully offline -- no internet connection required after installation
    • Open source -- audit the code yourself

    📸 Screenshots

    Connection ManagerSSH Terminal
    Connection ManagerSSH Terminal
    Organize servers with groups, colors, and tagsSplit panes, search, and tabbed sessions
    File ExplorerCommand Snippets
    File ExplorerSnippets
    SFTP & S3 with drag-drop, context menusParameterized templates with quick-insert

    📥 Installation

    Download

    1. Download the latest release from the Releases page
    2. Choose the right file for your platform:
      • macOS (Apple Silicon): .dmg (aarch64)
      • macOS (Intel): .dmg (x64)
      • Windows: .msi or .exe
      • Linux: .deb or .AppImage
    3. Install and launch

    macOS note: If you see "app is damaged", run: xattr -cr /Applications/anyscp.app

    Updating

    Already have anySCP installed? Go to Settings → About & Updates and click Check to update in-app — or turn on Automatic Updates to install new releases automatically.

    Requirements

    • macOS 11+, Windows 10+, or Linux (Ubuntu 22.04+)
    • For SFTP: SSH access to remote servers
    • For S3: Access key and secret key (or S3-compatible credentials)

    🔨 Building

    Prerequisites

    Build Instructions

    # Clone the repository
    git clone https://github.com/macnev2013/anyscp.git
    cd anyscp
    
    # Install frontend dependencies
    pnpm install
    
    # Run in development mode (hot-reload)
    pnpm tauri dev
    
    # Build for production (generates platform-specific installer)
    pnpm tauri build
    

    🛠 Tech Stack

    LayerTechnology
    Desktop runtimeTauri v2
    BackendRust (tokio, russh, russh-sftp, rust-s3, rusqlite)
    FrontendReact 19, TypeScript (strict), Tailwind CSS v4
    Terminalxterm.js with WebGL renderer
    State managementZustand
    Credential storageOS keychain via keyring crate
    DatabaseSQLite (bundled, zero config)

    🏗 Architecture

    AnySCP follows a strict frontend/backend separation:

    • Rust does the heavy lifting -- all SSH, SFTP, S3, encryption, and file I/O runs in Rust
    • React is a thin view layer -- renders UI and manages local state via Zustand
    • Tauri IPC bridges the two with type-safe commands (request/response) and events (server push)
    • Credentials never cross the IPC boundary -- the frontend never sees passwords or private keys
    • Shared FileSystemProvider abstraction -- SFTP and S3 browsers use identical UI components with capability flags that show/hide features per protocol

    Project Structure

    src/                          # React frontend
      components/
        terminal/                 # SSH terminal, split panes, search
        explorer/                 # Shared file table, toolbar, drop zone
        sftp/                     # SFTP browser, session tabs
        s3/                       # S3 browser, connect dialog
        dashboard/                # Host cards, groups, connection manager
        snippets/                 # Command snippet library
        transfers/                # Transfer progress popover
      stores/                     # Zustand state stores
      providers/                  # SFTP & S3 file system providers
      types/                      # TypeScript type definitions
    
    src-tauri/src/                # Rust backend
      ssh/                        # SSH connections, PTY, key management
      sftp/                       # SFTP sessions, transfer manager
      s3/                         # S3 sessions, transfer manager
      db/                         # SQLite persistence layer
      vault/                      # OS keychain integration
      snippets/                   # Snippet storage
      portforward/                # SSH tunnel management
      import/                     # SSH config parser
    

    🤝 Contributing

    Contributions are welcome! Here's how you can help:

    1. Fork the repository
    2. Create a feature branch: git checkout -b feature/amazing-feature
    3. Commit your changes: git commit -m 'Add amazing feature'
    4. Push to the branch: git push origin feature/amazing-feature
    5. Open a Pull Request

    Please open an issue first to discuss what you'd like to change.

    🐛 Troubleshooting

    SSH Connection Issues

    • Can't connect: Verify host, port, username, and credentials
    • Authentication failed: Check password or SSH key permissions
    • Timeout: Check firewall settings and network connectivity

    S3 Connection Issues

    • Access Denied: Verify your access key and secret key are correct
    • Bucket not found: Check the bucket name and region settings
    • Invalid credentials: Ensure IAM user has S3 permissions

    File Operations

    • Permission denied: Ensure your user has appropriate file permissions
    • Upload failed: Check available disk space on remote server

    macOS

    • "App is damaged": Run xattr -cr /Applications/anyscp.app

    📄 License

    This project is licensed under the MIT License -- see the LICENSE file for details.

    🙏 Acknowledgments

    • Built with Tauri by the Tauri team
    • SSH implementation powered by russh
    • Terminal emulation powered by xterm.js
    • S3 support powered by rust-s3

    💬 Support