Storage connections
Connect kaiport to FTP and FTPS servers, S3-compatible object storage, WebDAV (Nextcloud, ownCloud) and Azure Blob Storage.
Storage connections reach file servers and object storage: FTP and FTPS, S3-compatible storage, WebDAV and Azure Blob Storage. They don't open a terminal but the transfer view – your computer on the left, the storage on the right. This page explains the fields of each type, the start directories and what kaiport does when it connects.
Create a storage connection
- In the start window, click New connection.
- Choose the tile FTP / FTPS, S3 storage, WebDAV or Azure Blob.
- Fill in the fields of the type, described below, and the start directories if you like.
- Click Create.
- Click the new card. The connection opens in a tab with the transfer view.
Storage connections have the tabs General and Advanced; the Advanced tab only holds your Notes. There is no AI tab, but AI Pilot still works in the transfer view, see AI Pilot for files and storage. Color, tags, group and favorite work as for every connection, see Common fields.
FTP and FTPS
| Field | Description |
|---|---|
| Host | The server, for example ftp.example.com. Required. |
| Username | Leave empty for anonymous access. |
| Port | 21, or 990 for implicit FTPS. |
| Password | Stored encrypted. |
| Encryption | Plain FTP or one of the two FTPS modes, see below. |
| Verify certificate | Only for FTPS. On by default. |
Without a name, the connection is called user@host, or anonymous@host for anonymous access.
Encryption
| Option | Port | What happens |
|---|---|---|
| FTP (unencrypted) | 21 | Everything, including the password, travels in plain text. Use it only in networks you trust. |
| FTPS explicit (AUTH TLS) | 21 | kaiport connects like FTP and switches to TLS before the login. |
| FTPS implicit (port 990) | 990 | TLS from the first byte, on a port of its own. |
When you switch the encryption, kaiport changes the port between 21 and 990 for you, as long as the port is one of the two.
Certificate check
With Verify certificate on, kaiport only connects when the server's certificate is valid and belongs to the host name you entered. Turn it off for servers with a self-signed certificate that you trust. If the certificate belongs to another name, enter that name as the host instead.
Anonymous access
Leave Username empty to log in as anonymous. If you also leave the password empty, kaiport sends anonymous@ as the password, as anonymous FTP servers expect.
Passive mode
kaiport transfers data in passive mode: for every listing and transfer it opens a data connection to the port the server names, always at the server address of the main connection. If the login works but listings or transfers fail, a firewall or NAT usually blocks the data ports – the server has to open its passive port range.
While the connection is open, kaiport sends a NOOP every 30 seconds so that the server doesn't close it as idle.
S3-compatible storage
| Field | Description |
|---|---|
| Provider | Fills in endpoint, region and addressing for a known provider. |
| Endpoint | Empty for Amazon S3. Otherwise the provider's address, for example https://minio.example.com. |
| Region | The region of your bucket, for example eu-central-1. Empty means us-east-1. |
| Bucket | Leave empty to list all buckets. |
| Access key ID | Required. |
| Secret access key | Stored encrypted. |
| Path-style addressing | Puts the bucket in the path instead of the host name. |
Without a name, the connection is called after the bucket, or after the endpoint's host name.
Provider presets
| Provider | Endpoint | Region | Path-style |
|---|---|---|---|
| Amazon S3 | (empty) | us-east-1 | off |
| Cloudflare R2 | https://<ACCOUNT_ID>.r2.cloudflarestorage.com | auto | off |
| Backblaze B2 | https://s3.<REGION>.backblazeb2.com | us-west-004 | off |
| Wasabi | https://s3.<REGION>.wasabisys.com | us-east-1 | off |
| DigitalOcean Spaces | https://<REGION>.digitaloceanspaces.com | us-east-1 | off |
| Google Cloud Storage | https://storage.googleapis.com | auto | on |
| Hetzner Object Storage | https://<LOCATION>.your-objectstorage.com | eu-central | off |
| Scaleway | https://s3.<REGION>.scw.cloud | fr-par | off |
| OVHcloud | https://s3.<REGION>.io.cloud.ovh.net | gra | off |
| MinIO / self-hosted | http://localhost:9000 | us-east-1 | on |
Replace the placeholders in angle brackets with your values and set Region to match, for example endpoint https://s3.eu-central-1.wasabisys.com with region eu-central-1. The provider field only fills in the other fields and is not saved: once you change endpoint or region, it shows “—” again.
Path-style addressing
Normally the bucket is part of the host name (my-bucket.s3.example.com). With Path-style addressing, it goes into the path instead (s3.example.com/my-bucket). MinIO, Ceph and most self-hosted servers need path-style addressing. If the connection fails because the host name with the bucket in front can't be resolved, turn it on.
Buckets and folders
- With a Bucket set, the top level of the storage is that bucket. Without one, the top level lists all buckets as folders – your key then needs the right to list buckets.
- kaiport can't create, rename or delete buckets (“Buckets cannot be created here.”). Manage buckets in your provider's console.
- S3 has no real folders; a folder is the shared beginning of object names. New folder creates an empty object whose name ends with
/. Renaming a folder copies every object below it and deletes the originals, which takes a while for large folders. - When connecting, kaiport checks your access with one small request: it lists one object of the bucket, or the buckets if none is set.
WebDAV
| Field | Description |
|---|---|
| Server URL | The full WebDAV address, starting with https:// or http://. Required. |
| Username | Your user name on the server. |
| Password | Stored encrypted. |
| Verify certificate | On by default. Turn it off for self-signed certificates on servers you trust. |
Without a name, the connection is called after the host name of the URL.
| Server | Server URL |
|---|---|
| Nextcloud | https://cloud.example.com/remote.php/dav/files/USER/ – replace USER with your user name. |
| ownCloud and other servers | The WebDAV address that the server's web interface or documentation shows. |
- kaiport logs in with HTTP Basic authentication. Use an
https://address so the password travels encrypted. - If your Nextcloud or ownCloud account uses two-factor login, create an app password in the account settings of the server and use it as the password.
- Paths in the transfer view and the remote start directory are relative to the server URL.
- If the URL points to the web interface instead of the WebDAV address, the connection fails. The possible causes then say that the server doesn't answer with WebDAV.
Azure Blob Storage
| Field | Description |
|---|---|
| Storage account | The name of the storage account, for example mystorageaccount. Required. |
| Access key | One of the account's access keys: the complete base64 key, not a SAS token. Stored encrypted. |
| Container | Leave empty to list all containers. |
| Endpoint | Leave empty for Azure; kaiport then uses https://<account>.blob.core.windows.net. For the Azurite emulator, for example http://127.0.0.1:10000/devstoreaccount1. |
Without a name, the connection is called after the container, or after the storage account.
Containers work like S3 buckets: without a container, the top level lists all containers; folders are the shared beginning of blob names. kaiport can't create, rename or delete containers – the message then speaks of buckets.
Start directories
| Field | Description |
|---|---|
| Remote start directory | The folder the right side opens in, for example /www. Empty: the login directory on FTP, the top level on the other types. Without a fixed bucket or container, the path starts with its name, for example /my-bucket/backups. |
| Local start directory | The folder the left side opens in. Empty: your home directory. Choose picks a folder. |
The export contains both start directories; adjust the local one after an import on another computer.
Open a storage connection
Click the card. kaiport opens a tab with the transfer view and shows Connecting … until the storage answers. If the connection fails, the right side shows Connection failed with the reason, a list of Possible causes, Try again and AI diagnosis. See Transfer view and Troubleshooting.