File transfer for long, lossy networks

Cross the ocean without slowing down.

Farwing moves large files over long, lossy network paths at the full speed of the link. Distance and packet loss stop TCP. They do not stop Farwing.

$farwing cp big.iso user@sydney:/data/

Free for any use up to 1 Gbit/s. Farwing Server goes to 10 Gbit/s and beyond.

Oregon USA Sydney Australia
6.6 Gbit/sOregon to Sydney through 3% packet loss, 139 ms round tripStandard TCP on the same path: 0.57 Mbit/sMeasured 2 Oct 2026 · How we tested
6.8 Gbit/s
Oregon to Sydney through 1% packet loss
2.6 s
to copy 1 GiB on that path. scp did not finish in 5 minutes.
3.4×
faster than TCP BBR at 1% loss, and ahead of 8 parallel BBR streams
11.5 Gbit/s
the whole path with no loss added, on about 2 of 16 CPU cores

TCP thinks a lost packet means a full road. Over an ocean, it usually doesn't.

On a long path, a few lost packets are normal. They come from radio links, busy exchange points and old hardware, not from too much traffic. Standard TCP backs off every time, and on a 140 ms path it takes a very long time to speed up again.

Farwing does not slow down for loss. It watches one thing: whether a queue is building in the network. If the delay grows, it eases off. If not, it keeps the link full and sends the missing blocks again, lowest first.

Measured, not modelled

Across the Pacific, at every loss level.

Two 16-core cloud hosts, Oregon to Sydney, 139 ms round trip. Loss added at the receiver. 20-second runs, median of three, measured 2 Oct 2026. Useful data delivered per second, in Mbit/s.

Farwing8 × TCP BBR streamsTCP BBRTCP CUBIC (Linux default)
Farwing's slowest run was faster than its own median at the next loss level up. The loss tool caps every sender near 8 Gbit/s; with it off, the path gives 12.4 Gbit/s and Farwing delivered 11,523 Mbit/s.All results and method

One gigabyte across the Pacific. Under three seconds.

A real 1 GiB copy, Oregon to Sydney, timed from the start of the command to a checked file on disk, against scp on the same path. Each run got 5 minutes.

Repeat copies: SSH session reused, path speed remembered. A first copy to a new host took 4.5–4.8 s with no loss.

No added loss
Farwing
2.2 s
scp
83 s
0.1% loss
Farwing
2.4 s
scp
did not finish in 5 min
1% loss
Farwing
2.6 s
scp
did not finish in 5 min
3% loss
Farwing
3.0 s
scp
did not finish in 5 min
Bars on a 5-minute scale. Median of three runs.
Transfer calculator

How long will your copy take?

Pick a file, a link and two places on the map. The estimate comes from our own measured runs: Farwing against the standard TCP that most copy tools use, or against scp.

Plan
Copy
Compare with
Farwing transfer time
1 min 35 s
Standard TCP: 7.7 days
Speed-up
7,034×
faster than standard TCP on this path
Throughput
9.07 Gbit/s
Standard TCP: 1.2 Mbit/s
Link used
91%
Standard TCP: 0%

Estimates fitted to our runs of 2 Oct 2026: a real Oregon–Sydney cloud path (139 ms, 0–3% loss, up to 11.50 Gbit/s) and emulated paths from 2 to 250 ms with up to 10% loss. Standard TCP is one Linux connection with default settings. Times include the SSH login and the file check. Your network will differ, so test your own path.

How we estimate
How it works

Works like scp. Flies like nothing else.

Starts with SSH

It logs in with your normal SSH access and starts its own receiver on the far host. No daemon to install, no new accounts.

Encrypted end to end

Every session gets fresh keys. Every packet is encrypted and checked with AES-256-GCM. The secret travels inside the SSH session.

Ignores random loss

It slows down only when the delay grows, which means a router queue is filling. It keeps that queue to a few milliseconds.

Finds a way through

UDP blocked? It moves to eight parallel TCP streams. TCP blocked too? It goes through SSH. Same command, same encryption.

Picks up where it stopped

If a copy breaks, run the same command again. Farwing skips the blocks already on disk, on every route, both directions.

Checked as it lands

The whole file is checked with BLAKE3 while it is written, in any order. The check ends milliseconds after the last block. Until then the file keeps a temporary name.

Four lanes, one copy

One copy runs as four coupled lanes, each on its own CPU core. Together they pass per-flow speed limits. 11.5 Gbit/s used about 2 of 16.

Remembers the path

Each copy records what the path carried. The next copy to that host starts near full speed, not from zero. On a 1 GiB copy that saves over a second.

01 · first choice
Encrypted UDP
Its own speed control and loss recovery. Port 47700.
02 · no answer in 3 s
8 × TCP streams
Encrypted 1 MiB chunks over parallel connections, with BBR.
03 · ports closed too
Through SSH
Each stream rides its own SSH session. It still gets there.
04 · from the browser
HTTPS
Farwing Desktop and Farwing Server fall back to the web port when nothing else is open.

Fast. You set the manners.

With the default 4 lanes, one long TCP flow kept about half its speed while Farwing ran.

With --lanes 1, Farwing ran next to a 4.8 Gbit/s TCP flow and did not slow it at all.

--policy autoDefault. Finds the path rate, keeps the router queue to a few milliseconds, ignores random loss.
--lanes 1One flow instead of four. Behaves like a single connection on a shared link.
--policy backgroundGives way to all other traffic. For bulk copies that must not disturb anyone.
--policy fixed -l 900mA steady rate, for links you own. Stops itself if most packets are lost.
Products

One engine. Three ways to fly.

For engineersFree

Farwing

scp-style copies from the terminal, at full speed on any link.

  • Any use, including commercial
  • Up to 1 Gbit/s, 2 transfers at once
  • Linux, macOS and Windows
Download
For people who receive filesFree

Farwing Desktop

Opens when you click a Farwing link and runs the copy at full speed. Shows every file as verified.

  • No account, no setup
  • Pause, resume, retry
  • Windows, macOS and Linux
Get Farwing Desktop
For teamsFrom Price on request

Farwing Server

A web portal on your own server for sending, receiving and automating transfers.

  • Packages, shared folders, guests
  • Hot folders, sync and an API
  • SSO, audit log, your branding
Start a 30-day trial

Named for a far wing.

Each autumn, a shorebird leaves Alaska and flies more than 13,000 km across the Pacific without a single stop. Days of open ocean. No rest, no shortcut. It does not fight the distance. It is built for it.

Farwing is built the same way.

Quick start

Three commands to the other side.

Install Farwing on both hosts. You need an SSH login to the far host. For full speed, let the far host accept UDP on port 47700. If it does not, Farwing finds another route.

1 Install it
curl -fsSL -o farwing-install.sh https://farwing.io/install.sh
bash ./farwing-install.sh
2 Copy a file, the way scp does
farwing cp big.iso user@host:/data/
3 Test the path, no disk used
farwing bench user@host --size 5G

Your files. The far side. Full speed.

Start free from the terminal, or run Farwing Server for your whole team. The 30-day trial has every feature.

Get started freeStart a 30-day trial