Pay once · No subscription

The FTP, SFTP & S3 clientmacOS always deserved.

FTP, FTPS, SFTP and S3 buckets in one native app — two panes, drag and drop, and a transfer engine built in Swift & SwiftNIO. No subscription, no account.

Version 1.5 · see what’s new

  • Free to download — SSH keys included
  • Keychain & App Sandbox secure
  • Native for macOS 15 Sequoia and later
Servers and buckets
FTPFTPSSFTPS3Swift & SwiftNIOKeychainApp Sandbox
4protocols in one app
0subscriptions, ever
100%native Swift & SwiftNIO
∞saved sites, even free
Connectivity

Every protocol, done properly

One app for plain FTP, encrypted FTPS, SFTP over SSH and S3-compatible storage — with the authentication your servers actually use, from passwords to private keys.

FTP

Classic FTP

Active and passive mode, UTF-8 paths and robust listing parsing (Unix & Windows servers). Perfect for legacy hosting and intranet boxes.

FTPS

FTPS over TLS

Explicit (AUTH TLS) and implicit FTPS with full certificate validation, including servers that require TLS session reuse on the data channel, like vsftpd and FileZilla Server. A self-signed certificate shows its fingerprint and you decide.

SFTP

SFTP over SSH

SFTP with a password or RSA and ed25519 private keys with passphrases — free for everyone. Host keys are pinned in a known-hosts store to stop MITM, and FULL adds jump hosts.

S3

S3-compatible storage

Amazon S3, Backblaze B2, Cloudflare R2, Wasabi and MinIO open as folders in the same two panes. Multipart uploads, resumable downloads, folder renames done on the server. In FULL.

Passwords are stored in the macOS Keychain. Private keys never leave your Mac. Host fingerprints are verified on every connection.

Built for power users

Everything a pro client needs, none of the clutter

A real dual-pane workflow with a professional transfer engine — and, new in 1.5, cloud buckets, auto-upload and an Info panel.

FULL · Cloud storage

S3 buckets, as folders

Add an Amazon S3, Backblaze B2, Cloudflare R2, Wasabi or MinIO endpoint like any other site. Buckets open in the same two panes as your servers, and what you already use — the queue, folder sync, auto-upload — works on them too.

  • Multipart uploads for big files, resumable downloads
  • Renaming a folder happens on the server
  • Access keys kept in the macOS Keychain
S3 buckets, as folders
FULL · Auto-upload

Save locally. It’s already uploaded.

Turn on auto-upload and keep working in your local folder: every file you save goes up to the server on its own, through the transfer queue. Editor temp files and your .syncignore rules are skipped, and nothing is ever deleted on the server.

  • One button in the toolbar, or ⌃⌘U
  • Respects .syncignore, ignores editor temp files
  • Uploads only — never deletes anything remotely
Save locally. It’s already uploaded.
Info panel

Look before you download

⌥⌘I opens a panel beside the file lists with a preview and the details of the selection: images, code, permissions, owner, public URL. Need to fix one line? Edit Here changes a text file without leaving the window.

  • Local previews free, remote previews in FULL
  • Permissions, owner, size and public URL at a glance
  • Edit Here keeps straight quotes straight
Look before you download
Home

A home for a hundred servers

Open Upstream and you land on the servers you actually work on: the ones you pinned, the ones you used last, and the full list with a count of whatever didn’t fit on screen. Search by name, host, user or tag — type “prd” and production comes up.

  • Pinned servers stay on top, in the order you pinned them
  • Tags as a real list, and tag filters saved under a name
  • Fuzzy search across name, host, user and tag
Dual-Pane

Local and remote, side by side

Browse your disk and your server in a clean two-panel view with native icons, breadcrumbs, instant filtering, list and grid modes. Drag & drop from Finder or between panes.

  • Interactive breadcrumb address bar
  • List, small & large icons, detail columns
  • Drag & drop with Finder and across panes
Transfer engine

A queue you actually control

Multi-threaded, recursive transfers for files and whole folders — and now yours to command. Pause anything mid-flight and resume from the exact byte it stopped at, reorder what is waiting, or send an urgent file to the front. Quit the app and the queue is still there when you come back.

  • Pause, resume and reorder — resume is byte-exact
  • The queue survives quitting the app
  • Automatic retry with exponential backoff
FULL

Edit remote files like they're local

Open any remote file in VS Code, TextMate or Xcode. Upstream watches for saves and re-uploads to the server instantly — your edit loop without the manual round-trip.

  • Watch mode auto-uploads on save
  • Pick your editor from the app catalog
  • One-shot remote edit is free, too
FULL

Sync folders with total confidence

Compare local and remote directories and mirror them in either direction. A dry-run preview shows exactly what will upload, download or delete before anything happens — with .syncignore exclusions and smart conflict handling.

  • Dry-run preview before every sync
  • Color-coded diff: missing, changed, newer
  • Synchronized browsing across both panes
⌘K

Fly between servers with ⌘K

Hit ⌘K, type a few letters, and connect to any saved site or run an action instantly. Fuzzy matching finds what you mean — keep your hands on the keyboard and your flow unbroken.

  • Fuzzy command palette for sites & actions
  • Multiple tabs, one server per session (FULL)
  • Quick Connect for one-off servers
More inside

Packed with thoughtful details

Dozens of small decisions that add up to a client you actually enjoy using.

Keychain security

Every credential is stored in the macOS Keychain. Nothing ever leaves your Mac in the clear.

Quick Look

Preview remote files instantly with the spacebar — no download, no detour.

CHMOD editor

Set permissions with an interactive rwx grid or by typing the octal value directly.

Live console log

Watch raw protocol commands and responses stream by in a modern terminal-style panel.

Remote file management

Create, rename, move and delete files and folders on the server as if they were local.

Instant search & filters

Filter any listing as you type to find the one file among thousands in a heartbeat.

Transfer history

Every transfer is recorded with speed, duration and the exact error if it failed. Grouped by day, searchable, and never synced anywhere.

Folder size on the server

Ask any remote folder how big it really is. The count runs live and you can stop it whenever you want.

Copy the public web URL

Map your site’s web root once, then copy the public address of any remote file straight from the context menu.

Menu bar item

Pinned and recent servers, the state of the queue, pause and resume everything — without bringing the window back.

Reopens where you left off

Tabs come back at launch with the same servers and folders, disconnected on purpose: one click on Reconnect and you’re back where you were.

Light, dark & 21 themes

Pick the appearance yourself instead of following the system — and an accent theme that stays readable on both backgrounds.

VoiceOver that says something

A server in the sidebar announces its name, whether it’s connected, which protocol it uses — and whether the traffic is in the clear.

Your sites, safe on disk

A damaged data file no longer stops the app from starting, and it is never overwritten: your servers stay where they are while you make a copy.

Speed and time left

Every transfer and the whole queue show speed and time remaining, and the Dock icon counts active transfers.

Shortcuts and sftp:// links

“Upload Files to Site” and “Open Site” in Shortcuts and as Finder Quick Actions. sftp://, ftps:// and ftp:// links open in Upstream.

Quick Connect, any protocol

Reach a server you will never save over SFTP, FTPS or FTP — and a welcome screen on first launch brings in the servers you already have.

Import from FileZilla

Bring every server over in seconds from sitemanager.xml or your ~/.ssh/config — keys and jump hosts included. Free.

SSH key auth

Connect over SFTP with RSA or ed25519 private keys and passphrases. Free for everyone.

Multiple tabs FULL

Stay connected to several servers at once and switch sessions in a click.

Download as ZIP FULL

Grab several remote files or whole folders as a single ZIP generated on the fly.

Bandwidth limit FULL

Cap the global transfer speed so a big upload never hogs your whole connection.

iCloud sync FULL

Keep your saved sites and bookmarks in sync across all your Macs.

Search the whole server FULL

Find a file anywhere in the remote tree by name or pattern, filtered by extension, with a depth limit so a huge tree stays manageable.

Jump host (bastion) FULL

Reach servers that only answer through an SSH bastion. ProxyJump entries are read from your ssh config and wired up for you.

Batch rename FULL

Find and replace (regular expressions too), prefix, suffix, numbering, case and extension, with a live preview. A conflict stops the rename instead of overwriting a file.

Trust by design

Security that isn't an afterthought

Upstream runs inside Apple's App Sandbox and treats your servers and credentials the way a native Mac app should.

App Sandbox & Keychain

The app is fully sandboxed per Apple's guidelines, and every password lives in the system Keychain — never in a plist, never in the clear.

Certificate & host verification

FTPS certificates are validated, and SFTP host keys are pinned in a known-hosts store. If a fingerprint changes, Upstream stops and asks — protecting you from man-in-the-middle attacks.

No accounts, no tracking

There's no Upstream login and no analytics harvesting your activity. Your sites, keys and files are yours — the app just connects you to your servers.

Private SSH keys stay put

RSA and ed25519 keys are read locally and used only to authenticate. They're never uploaded, copied or shared with anyone — including us.

Who it's for

One client, every workflow

From shipping a website to backing up a NAS, Upstream fits the way you already work.

Web developers

Deploy a WordPress theme or a static site, turn on auto-upload and just save, and sync a build folder in one pass — dry-run first, of course.

Sysadmins & NAS owners

Move files to a Synology or QNAP over SFTP, fix permissions with the CHMOD editor and keep an eye on the protocol log while you work.

Homelab & Raspberry Pi

Connect to a VPS, a seedbox or a Raspberry Pi with SSH keys, and manage everything from a real Mac interface instead of the terminal.

Agencies & freelancers

Keep dozens of client servers and S3 buckets in one Site Manager, jump between them with tabs and ⌘K, and sync them all across your Macs with iCloud.

Switching over?

Bring every server with you in seconds

Coming from another client? Upstream imports your whole server list — free — so you don't retype a single host, port, username or key.

1

Export your sites from FileZilla, or point Upstream at your ~/.ssh/config.

2

Import sitemanager.xml — every host, port and protocol comes across intact.

3

Add passwords to the Keychain or attach an SSH key, and you're connected.

Free vs Full

Powerful for free. Unstoppable with FULL.

Servers, SSH keys, the queue and the importer are always free and never limited. FULL adds cloud buckets and automation for your daily workflow — a single purchase, yours forever.

FeatureFreeFULL
FTP, FTPS & SFTP✓✓
SSH key authentication✓✓
Unlimited saved sites✓✓
Import from FileZilla & SSH config✓✓
Home with pinned & recent servers✓✓
Tags & saved views✓✓
Command palette ⌘K✓✓
Reopens where you left off✓✓
Menu bar item & transfer notifications✓✓
Light & dark with 21 accent themes✓✓
Concurrent & recursive queue✓✓
Pause, resume & reorder the queue✓✓
Speed & time left, Dock badge✓✓
Transfer history✓✓
Info panel with local preview & Edit Here✓✓
Quick Look & CHMOD✓✓
Remote file management & folder size✓✓
Shortcuts & sftp:// links✓✓
Live protocol console✓✓
One-shot remote edit✓✓
Amazon S3, Backblaze B2, Cloudflare R2—✓
Auto-upload on save—✓
Edit with auto-upload (watch)—✓
Folder sync & comparison—✓
Synchronized browsing—✓
Remote file preview—✓
Batch rename—✓
Multiple tabs—✓
Jump host / bastion (ProxyJump)—✓
Server-wide recursive search—✓
iCloud site sync—✓
Download as ZIP archive—✓
Bandwidth limit—✓
Export sites & history to CSV—✓
Pricing

Buy once. Use forever.

No subscriptions, no accounts, no nonsense.

Upstream

Free

Everything you need to work with your servers. Free core, unlimited forever.

  • Unlimited FTP, FTPS & SFTP sites, SSH keys included
  • Queue you can pause, resume and reorder
  • Site import, pins, tags & Keychain
  • ⌘K palette, history, Quick Look & CHMOD
Download on the App Store

Upstream is a single app download from the Mac App Store. Core features are free; automation features are unlocked via a one-time In-App Purchase. Family Sharing supported. Restore on any of your Macs.

FAQ

Good questions, clear answers

Is Upstream really free?
Yes. Downloading Upstream is free and the core — unlimited FTP/FTPS/SFTP sites, SSH keys, the site importer, the concurrent queue, the ⌘K palette, Quick Look and file management — is fully usable with no limits. FULL is an optional one-time purchase that adds S3 buckets and automation.
Which protocols are supported?
FTP, FTPS (explicit and implicit) and SFTP over SSH, with password or RSA / ed25519 key authentication — all free. With FULL, Upstream also opens Amazon S3 and S3-compatible storage: Backblaze B2, Cloudflare R2, Wasabi and MinIO.
Can I try FULL before buying?
Yes. From the paywall or Settings › FULL you can start a free 7-day trial of everything in FULL. It is a zero-price item on the App Store: nothing is charged and nothing renews. When it ends, Upstream goes back to the free tier — your sites and settings stay — and you decide whether to buy.
Is it a subscription?
Never. Upstream FULL is a single non-consumable in-app purchase — buy once, own it forever, with Family Sharing support.
Are my passwords safe?
Absolutely. Credentials live only in the macOS Keychain and the app runs inside Apple's App Sandbox. Nothing is sent to us or stored in the clear.
Can I import my sites from FileZilla?
Yes, for free. Import your servers in seconds from FileZilla's sitemanager.xml or from your ~/.ssh/config, keys and jump hosts included. A welcome screen offers it on first launch.
What do I need to run it?
A Mac running macOS 15 Sequoia or later. Upstream is a native Swift app built on SwiftNIO.
How much is Upstream FULL?
A one-time $29.99 in-app purchase. Please note that Apple converts this to the equivalent tier in your local App Store currency, which includes VAT where it applies. No renewals, no hidden costs — you unlock every automation feature forever.
Can I use it on more than one Mac?
Yes. The purchase is tied to your Apple Account, so you can restore FULL on any of your Macs, and Family Sharing is supported.
Can I pause a transfer and pick it up later?
Yes. Pause anything mid-transfer and it resumes from the exact byte it stopped at, not from the beginning. The queue is also saved when you quit: reconnect and Upstream offers to resume what was interrupted — it never restarts transfers on its own.
Does Upstream remember what I was working on?
Yes. Tabs reopen at launch with the same servers, the same remote folders and the same active tab, and the window comes back at the size and position you left it. Restored tabs come back disconnected on purpose, so Upstream never asks you for a string of passwords the moment you open it — each one has a Reconnect button that takes you straight back where you were.
Can I keep Upstream in the menu bar?
Yes. A menu bar item lists your pinned and recent servers, shows the state of the transfer queue and lets you pause or resume everything without bringing the window back. Its symbol changes with the queue — idle, working, paused — and Upstream notifies you when transfers finish or fail, but only while it is in the background.
Does Upstream have a light mode?
Yes. Light and dark are your choice, not just the system's, and the 21 accent themes all keep enough contrast to stay readable on both backgrounds. VoiceOver also describes each server in the sidebar: its name, whether it is connected, which protocol it uses and whether the traffic is in the clear.
Can Upstream reach a server behind an SSH bastion?
Yes, with FULL. Set a jump host on any SFTP site and Upstream connects through it. If your ~/.ssh/config already uses ProxyJump (or the older ProxyCommand ssh -W), the import reads it and wires the bastion up for you. Every hop's host key is verified independently. Full guide: moving files through an SSH bastion →
Does it handle large files and whole folders?
Yes. Transfers are recursive and streamed on SwiftNIO, so multi-gigabyte files and deep folder trees move efficiently — and resume automatically if the connection drops.
Does Upstream work with Amazon S3?
Yes, with FULL. Add an Amazon S3, Backblaze B2, Cloudflare R2, Wasabi or MinIO endpoint like any other site: buckets open as folders in the same two panes as your servers, with the transfer queue, folder sync and auto-upload. Large files upload in parts, downloads resume, and access keys stay in the macOS Keychain.
Can Upstream upload a file as soon as I save it?
Yes, with FULL. Turn on auto-upload for a connected site (the toolbar button, or ⌃⌘U) and keep working in your local folder: every file you save goes up through the transfer queue. Editor temporary files and your .syncignore rules are skipped, and auto-upload never deletes anything on the server.
Do you collect my data?
No. Upstream has no account and no tracking. Credentials stay in the Keychain and your files never pass through us — the app talks directly to your servers.