KLYRN
KLYRN Web
All documentation
  1. Home
  2. Docs
  3. Files

Files

Every file operation runs in a helper process as the site’s own Unix user. Root never opens a path an account controls.

How it works

The panel starts a klyrn files-helper subprocess running as the account's Unix user, and that process does the work. The kernel decides what the helper can reach, so it cannot reach a path the account cannot. The helper has a ten-minute ceiling.

Uploads and downloads pass through a staging directory that only the panel user can write into and only root can list. Core accepts a staged file only if it is a regular, non-symlink file directly inside that directory and owned by the panel user.

Inside the account, user-supplied paths are resolved with openat2 and RESOLVE_BENEATH. ../ and a symlink out of the tree both fail in the kernel.

What you can do

Browse and read
List a directory, open a file in the editor.
Write
Save an edited file, create a directory.
Rename, delete, chmod
The ordinary operations, on one entry or a selection.
Upload and download
Through the staging handshake above. Downloads are recorded in the audit log.
Copy and move
Whole trees. A symlink inside the tree is refused, and free space is checked first.
Compress and extract
Create an archive from a selection, or unpack one.

Each is a typed operation with its own validator and its own audit entry. None takes a command string, so no shell is involved.

The code editor

Opening a file can start the full code editor: a file tree, tabs, search and replace, quick open and a focus mode. It can fill the whole width of the screen.

The administrator decides who gets it under Settings, Features. Without it, files open in the simple editor.

Live preview

The preview shows the site beside the code, as visitors will see it. It reloads on every save, and an HTML file updates as you type.

It works for PHP, WordPress, HTML and Node.js apps. It is served from a hostname of its own, so a site's code never runs next to the panel.

The AI assistant

The assistant sits beside the code. Ask it to explain a file, find a bug or make a change. A change comes back as a diff, and you apply it with one click.

It needs a provider under Settings, AI, which the administrator sets up. See the AI provider.

AI tools on a site's files

AI tools makes a key for one site. The key reaches only that site's folder, expires, and can be revoked at any time.

Claude Code, Cursor and VS Code connect with it through the MCP endpoint at /api/v1/mcp. Each read and write runs as the account, like every other file operation on this page.

When the account is over its limit

Four operations grow the account: upload, extract, copy and compress. They are refused when the account is over its disk limit. The message gives the limit, the usage and the age of the measurement.

Delete, rename, chmod, write and mkdir keep working. Deleting is the way back under the limit. An account 2 MB over can still edit .htaccess or wp-config.php to fix its own site.

A refusal also schedules a fresh measurement, so "delete some files and try again" works within about a minute. See Resource limits.

.htaccess

nginx does not read .htaccess. A file left behind by a migration is inert.

KLYRN reads the file, translates the rules it understands into the site's nginx configuration, and shows you the translation before applying it. Rules it cannot translate are listed. See Migration.

Discord WhatsApp