PureSftp is a lightweight cross-platform SFTP desktop client built with Avalonia.
It focuses on simple remote file browsing, saved connections, upload/download actions, and a clean bilingual interface.
- Cross-platform Avalonia desktop UI
- Saved SFTP connections backed by SQLite
- Chinese and English language switching
- Remote directory browsing with parent navigation
- Upload local files to the current remote directory
- Download remote files or folders to local storage
- Create and delete remote items from the file context menu
- macOS native menu integration
- Lightweight toast notifications
- macOS packaging script with
.appand drag-to-Applications.dmg - Windows packaging script with portable
.zip
- .NET 10
- Avalonia 12
- SSH.NET
- Microsoft.Data.Sqlite
- CommunityToolkit.Mvvm
- .NET SDK 10.0 or later
- macOS, Windows, or Linux for development
- macOS packaging requires macOS command line tools such as
hdiutilandcodesign
dotnet run --project PureSFTP.csprojdotnet build PureSFTP.csprojCreate a local macOS .app and .dmg:
scripts/package-mac.sh --rid osx-arm64 --version 1.0.0For Intel Macs:
scripts/package-mac.sh --rid osx-x64 --version 1.0.0The generated files are written to:
artifacts/
Local builds use ad-hoc signing. Public distribution outside your own machine should use a Developer ID certificate and Apple notarization.
Create a portable Windows package:
powershell -ExecutionPolicy Bypass -File scripts/package-windows.ps1 -Rid win-x64 -Version 1.0.0For Windows ARM64:
powershell -ExecutionPolicy Bypass -File scripts/package-windows.ps1 -Rid win-arm64 -Version 1.0.0The generated .zip is written to:
artifacts/
For a guided installer, use the generated package folder with an installer tool such as Inno Setup or WiX.
PureSftp stores local app data in the user application data directory:
PureSFTP/puresftp.db
Saved connection passwords are stored locally in SQLite. Do not share your local database file.
This project is licensed under the MIT License. See LICENSE.