Skip to content
kaiport

Files on mobilePreview

Files in kaiport for iPhone and iPad – SFTP on SSH connections and storage over FTP/FTPS, S3, WebDAV and Azure Blob.

The screenshots of the mobile app on these pages are placeholders and will be replaced with screens of the released app.

kaiport for iPhone and iPad lets you browse files over SFTP from any SSH session, and it opens storage connections (FTP/FTPS, S3, WebDAV and Azure Blob) in a file browser instead of a terminal. The same browser shows the app's own folder, which you also find in the Files app under On My iPhone › kaiport. This page lists what the app supports for each protocol; the connection fields are the same as in the desktop app (see Storage connections).

What you can do with files

All protocols go through one common file interface, so the same actions work on every connection:

  • List folders with name, size and modification date, and with permissions such as rwxr-xr-x where the protocol has them.
  • Read files and write them.
  • Download files to the device, share them and preview them with Quick Look; upload files from the Files app and from Photos, with progress.
  • Open text files in the built-in editor and save them back.
  • Create folders.
  • Rename and move files and folders.
  • Delete files, and folders with everything in them.
Files (preview)
Preview of the file browser in the kaiport iOS appPreview of the file browser in the kaiport iOS app

Files (preview)

Start folder

ConnectionBrowsing starts in
SSH (SFTP)The shell's current folder, if the shell reports it (OSC 7, for example through the shell integration); otherwise your home folder
FTP / FTPSThe connection's remote start directory; otherwise the folder the server puts you in after the sign-in
S3The remote start directory; otherwise the list of your buckets, or the top of the bucket set in the connection
WebDAVThe remote start directory, relative to the server URL; otherwise the server URL itself
Azure BlobThe remote start directory; otherwise the list of your containers, or the top of the container set in the connection

The remote start directory is the connection's Remote start directory field.

SFTP on SSH connections

On an SSH connection, the file browser uses the connection of the terminal session: there is no second sign-in, and the terminal and file access work at the same time while the session is connected. Symbolic links that point to folders open like folders.

FTP and FTPS

EncryptionDefault portHow it works
FTP (unencrypted)21No TLS. User name, password and files travel as plain text.
FTPS explicit (AUTH TLS)21The connection starts unencrypted and switches to TLS before the sign-in.
FTPS implicit990TLS from the first byte.
  • With FTPS, listings and file transfers are encrypted too, and their data connections reuse the TLS session of the control connection, which many servers require.
  • The app uses passive mode: EPSV first, PASV where the server lacks it. If a server behind NAT announces a private address, the app connects to the address it already reached instead.
  • Folder listings use MLSD where the server supports it, otherwise the Unix- or Windows-style output of LIST.
  • File names are exchanged in UTF-8 when the server supports it; otherwise the app falls back to Latin-1.
  • Without a user name, the app signs in anonymously.
  • An idle connection is kept open with a NOOP every 30 seconds. If the server closes it anyway, the app connects again with the next action.

S3

S3 connections sign every request with AWS Signature Version 4, using the access key ID and the secret access key of the connection. Besides Amazon S3, the app works with S3-compatible providers and offers the same presets as the desktop app. Replace the placeholders in angle brackets with your values:

ProviderEndpointRegionPath-style
Amazon S3(empty)us-east-1No
Cloudflare R2https://<ACCOUNT_ID>.r2.cloudflarestorage.comautoNo
Backblaze B2https://s3.<REGION>.backblazeb2.comus-west-004No
Wasabihttps://s3.<REGION>.wasabisys.comus-east-1No
DigitalOcean Spaceshttps://<REGION>.digitaloceanspaces.comus-east-1No
Google Cloud Storagehttps://storage.googleapis.comautoYes
Hetzner Object Storagehttps://<LOCATION>.your-objectstorage.comeu-centralNo
Scalewayhttps://s3.<REGION>.scw.cloudfr-parNo
OVHcloudhttps://s3.<REGION>.io.cloud.ovh.netgraNo
MinIO / self-hostedhttp://localhost:9000us-east-1Yes
  • Endpoint: empty means Amazon S3 in the connection's region, or us-east-1 if no region is set.
  • Addressing: with your own endpoint, the bucket goes into the path unless you turn Path-style addressing off. With Amazon S3, it goes into the host name unless you turn it on.
  • Region: if S3 answers that a bucket lives in another region, the app repeats the request in that region.
  • Bucket: with a bucket in the connection, browsing happens inside it. Without one, the top level lists all buckets of your account. Buckets themselves are created and deleted in the provider's console.
  • Folders are prefixes of object names. Creating a folder stores an empty folder/ object. Renaming a folder copies every object below it to the new name and deletes the originals; deleting a folder deletes every object below it.

WebDAV

A WebDAV connection points to the server URL, for example https://cloud.example.com/remote.php/dav/files/USER/ for Nextcloud. If you leave out https://, the app adds it. It signs in with user name and password (HTTP Basic authentication); if Nextcloud refuses the sign-in, use an app password. Renaming never overwrites an existing file, and a folder is deleted with its contents in one request.

Azure Blob Storage

An Azure connection signs in with the name of the storage account and its access key (Shared Key). Use the Base64 key from Access keys in the Azure portal. Without an endpoint, the app connects to https://<account>.blob.core.windows.net; set an endpoint for other targets such as the Azurite emulator. With a container in the connection, browsing happens inside it; without one, the top level lists all containers. Containers are created and deleted in the Azure portal. As with S3, folders are prefixes of blob names.

Certificates

FTPS connections and the HTTPS connections to S3, WebDAV and Azure check the server's certificate against the certificates your device trusts. For an FTPS or WebDAV server with a self-signed certificate, turn off Verify certificate for that connection, as on the desktop.