FTP, when you have to.
Plenty of shared hosts and old appliances still speak FTP. Captain’s Deck connects to them too — though SFTP is the better choice whenever you have it.
Connecting
Choose Go → Connect to FTP Server…. Default port 21. Anonymous login is supported (toggle the checkbox).
To start somewhere other than the server’s top folder, fill in Initial path — for example /public_html. If that folder doesn’t exist on the server, you land at / instead.
Saved connections
Tick Save connection to Keychain and the server appears in the sidebar. A saved FTP connection always reconnects as FTP, and remembers whether you ticked Use TLS/SSL (FTPS) and the Initial path you set.
Right-click a saved connection and choose Edit Details… to organise it. The same fields sit in the connection window too:
- Group — file the connection under a group in the sidebar.
- Label — a colour dot shown next to the connection.
- Note — a reminder shown when you hover over the connection.
- Local folder — a folder on your Mac that opens in the other pane when you connect.
- Base URL and URL root — the web address of the server’s files and the remote folder it points at. Then right-click a remote file for Copy URL or Open URL in Browser.
Click a group’s header in the sidebar to fold it. Right-click the header for Rename Group… or Ungroup, or right-click a connection and use Move to Group.
FTPS — TLS encryption
The connection window has one encryption setting: Use TLS/SSL (FTPS).
- Ticked — the connection is encrypted, and Captain’s Deck won’t continue without encryption. Which kind of FTPS it uses follows the Port field:
- Port 21 (or any port other than 990) — explicit FTPS, also called FTPES. Captain’s Deck connects normally, then switches the connection to TLS before your password is sent. Most hosts that offer FTPS offer this.
- Port 990 — implicit FTPS: TLS from the first byte. Use it only when your host says so.
- Unticked — plain FTP. Your password and files travel unencrypted. Only use it when there is no other option.
The port doesn’t change when you tick the box, so for a host that wants implicit FTPS, type 990 yourself. You can also type an address in Go to Path (Cmd+G): ftp://user@host/folder or ftps://user@host/folder uses your saved connection to that server, or opens the connection window filled in (with the box ticked for ftps://) so you only add the password.
.ssh/, .aws/, .kube/ or .gcp/, id_* key files, and files such as *.pem, *.key or *.p12. The error message shows a Terminal command that allows them for that one server, but read the warning first.Passive mode
Captain’s Deck always uses passive mode (PASV), which works behind virtually every router and NAT. Active mode isn’t available.
Filename encoding
FTP doesn’t standardise filename encoding, so legacy servers send bytes in whatever charset they were configured with decades ago. Captain’s Deck assumes UTF-8 by default and falls back through Latin-1 if that fails to decode.
If names from an older server look garbled, pick the right charset from the Filename encoding popup in the FTP connection window: UTF-8 (default), ISO-8859-1 (Latin-1), MacRoman, Windows-1252, Shift_JIS, GB18030, Big5 or EUC-KR. Your choice is remembered for that server, so you only set it once.
Limits & gotchas
- Renaming or moving a file within the server uses FTP’s own rename command. FTP has no server-side copy, so copying a file from one folder to another on the same server downloads it and uploads it again.
- Interrupted transfers aren’t resumed — if a transfer fails or you cancel it, it starts from the beginning next time.
- Files are always transferred as-is (binary mode); there’s no line-ending conversion.
- Pause in the Activity panel (Cmd+Option+A) stops an FTP transfer right away, mid-file; Resume carries on. The Throttle setting in the copy progress window slows FTP transfers too.