- C++ 94.2%
- CMake 5.8%
|
All checks were successful
CI / build (push) Successful in 1m14s
KDE's PreviewJob downloads the whole remote file and renders locally; no KF6 hook lets a remote worker return a server-side thumbnail. Stop advertising it. |
||
|---|---|---|
| .gitea/workflows | ||
| src | ||
| .gitignore | ||
| CMakeLists.txt | ||
| LICENSE | ||
| orionrc.example | ||
| README.md | ||
kio-orion
A KDE KIO worker exposing an OrionDrive
server over the orion:// protocol, so KDE apps (Dolphin, Kate, Gwenview, …)
browse and edit your drive natively, with token auth and a right-click Share
action that plain WebDAV can't offer.
Why not just WebDAV?
OrionDrive already speaks WebDAV, so webdavs://<host>/dav works in Dolphin today
(with a dedicated WebDAV credential). This worker exists for the native extras:
token auth (no separate WebDAV password, stored in KWallet) and a right-click
Share action that creates a public link. Thumbnails are intentionally not
a feature: KDE's preview pipeline downloads the whole remote file and renders
locally — there is no supported hook for a remote worker to hand back the
server's pre-rendered thumbnail, so we don't pretend to.
Install from the RPM registry (Fedora / rpm-ostree)
The Forgejo registry signs the repository metadata, which pins each package's
SHA256 — so repo_gpgcheck=1 gives you tamper-evident installs. Forgejo does not
sign the packages themselves (forgejo#7780),
so gpgcheck stays 0 (setting it to 1 fails verification — that is a known
bug in the config the Forgejo UI suggests).
sudo tee /etc/yum.repos.d/gitea-nhpro.repo >/dev/null <<'EOF'
[gitea-nhpro]
name=nhpro - NhSoul - Forgejo
baseurl=https://git.nhsoul.fr/api/packages/nhpro/rpm
enabled=1
gpgcheck=0
repo_gpgcheck=1
gpgkey=https://git.nhsoul.fr/api/packages/nhpro/rpm/repository.key
EOF
sudo dnf install kio-orion # or: sudo rpm-ostree install kio-orion
kbuildsycoca6
Build from source
Dependencies: extra-cmake-modules, Qt 6 (Core, Network, Widgets), KF6 (KIO,
I18n, Config, WidgetsAddons).
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
sudo cmake --install build
kbuildsycoca6 # refresh the protocol cache
The module installs to ${KDE_INSTALL_PLUGINDIR}/kf6/kio/orion.so.
Configure
Authentication uses an OrionDrive personal access token (create one in the web UI → sidebar → API tokens). A read-only token limits the mount to browsing/downloading; a read-write token is needed for upload/rename/delete/share.
Just browse to your drive:
orion://drive.example.com/
The first time, a KDE dialog asks for your access token (the server URL defaults
to https://<host>). Tick Remember to store it in KWallet — you won't be
asked again. No config file to edit.
Manual config (optional)
For a non-HTTPS or custom-port server (e.g. a local dev instance), skip the
dialog by putting the URL and token in ~/.config/orionrc, in a group named
after the host you'll use in the URL:
[localhost]
Url=http://localhost:5219
Token=od_xxxxxxxxxxxxxxxxxxxxxxxx
Implemented
listDir,stat,get(streamed download),mimetypemkdir,del(→ recycle bin),rename/moveput(resumable chunked upload)- Share context-menu action: right-click a file/folder → Share with
OrionDrive creates a public link and copies it to the clipboard (a separate
KFileItemActionplugin,orion_share; needs a read-write token).
Paths are resolved to file ids by walking listings against the REST API
(/api/v1/file?parent=…).
Roadmap
- OIDC device-code auth as an alternative to static tokens.
copyon the server side (currently falls back to KIO get+put).
Server-side thumbnails were investigated and dropped: KDE's PreviewJob
downloads the whole remote file and thumbnails it locally, and there is no
supported KF6 hook for a remote worker to return the server's pre-rendered
thumbnail. Wiring /api/v1/file/thumb/:id into Dolphin would require patching
KIO upstream, so it is out of scope.
License
GPL-2.0-or-later (links LGPL KDE Frameworks).