I’m one of the few people around the world who has to access some file servers with FTPS (not to be confused with FTP or SFTP) for work 🙂 Unfortunately, KDE Plasma does not directly support the ftps protocol, but a third-party kf5-kio-ftps library served me well for the good part of the last decade. Recently, KDE Plasma 6.0 & Frameworks 6.0 & Gear 24.02 have been released (kudos to the developers!), which resulted in the kio-ftps library becoming outdated and incompatible. So, long story short, I rolled up my sleeves and ported the library to KDE Plasma 6.0 🙂
After a brief inspection, I discovered that the underlying ftp code used for kf5-kio-ftps was very old, so I used the up-to-date ftp code from master branch of Frameworks / KIO and quickly patched the encryption functionality from the old code. It can be built and used without problems, but future merge requests / forks are also welcome 🙂
How to Use
The source code is available at https://github.com/efeciftci/kf6-kio-ftps, and a prebuilt .deb package for KDE neon 6.0 can be found at https://github.com/efeciftci/kf6-kio-ftps/releases/tag/v0.4.
The steps for manual building (as of March 2024) on a clean installation of KDE neon (with KDE Plasma 6.0.2, Frameworks 6.0.0, and Qt 6.6.2) are as follows:
Install prerequisites:
sudo apt update
sudo apt install git cmake g++
Install build dependencies of the project:
sudo apt install kf6-extra-cmake-modules kf6-kcoreaddons-dev kf6-ki18n-dev kf6-kio-dev qt6-base-dev
Clone the kf6-kio-ftps project from GitHub and setup the build environment:
git clone https://github.com/efeciftci/kf6-kio-ftps.git
cd kf6-kio-ftps
mkdir build
cd build
Build the project:
cmake ..
make -j4
If everything went well, kio-ftps can be installed on the system with:
sudo make install
Or the kio_ftps.so file can be manually copied with:
sudo cp bin/kf6/kio/kio_ftps.so /usr/lib/x86_64-linux-gnu/qt6/plugins/kf6/kio/
Now that kio-ftps is installed, you may launch Dolphin and enter an ftps address (e.g., ftps://user@example.com) into the location bar to access the server.