v0.9.0One less thing to manage.

One binary.
Every protocol.
Total control.

File transfers, on your terms.

FTP, FTPS, SFTP and SCP. One shared filesystem, one auth engine, one audit trail. Everything you need to move files. All in a single Go binary.

$ ./kervan
Pure Go. Zero CGO.MIT licensedYours to run
Four protocols. One shared Kervan core.FTP and FTPS listeners, and the shared SFTP and SCP SSH listener, connect to a common authentication engine, virtual filesystem and audit pipeline. The core supports local, memory and S3 storage.FTPFTPSSSH:2121TLS ENCRYPTEDSFTP + SCP · :2222LOCAL / MEMORY / S3ONE SHARED CORE.PURE GO. ZERO CGO.FTP, FTPS, SFTP and SCP connect to one shared authentication, VFS and audit core.FTPFTPSSFTPSCPONE AUTH · ONE VFS · ONE AUDITLOCAL DISK / MEMORY / S3
FIG. 01 Different paths. Same destination.BUILT TO CONNECT ↗
LESS INFRASTRUCTURE. MORE FORWARD.
FOUR WAYS IN.
ONE WAY FORWARD.
4 transfer protocolsUnified filesystemShared authenticationBuilt-in observabilityOne binary
LESS TO MANAGE. MORE TO BUILD.

Different connections.
The same foundation.

Stop managing a different server for every protocol. Give your teams a consistent way to connect, with the controls you need underneath.

A record of every move.

Structured JSONL audit events, HMAC integrity chains, webhooks and syslog. Keep your record of truth close.

Know what’s moving.

Live sessions, transfer tracking, Prometheus-style metrics and an embedded management interface.

Small operational footprint.

No external runtime to install. Release binaries for Linux, macOS and Windows. Docker and systemd, too.

SPEAK YOUR CLIENT’S LANGUAGE

Four protocols.
Zero identity crisis.

Keep the clients, scripts and workflows you already use. Every connection meets the same users, files and policies.

DEFAULT PORT :2222

An SSH connection. A shared foundation.

Connect with the tools you already trust. Password or SSH public-key authentication, an automatically generated Ed25519 host key, and the same filesystem policy behind every transfer.

SFTP v3OpenSSH extensionsSSH public keys
Read the protocol guide
sftp-sessionbash
# Open an interactive SFTP session
sftp -P 2222 alice@localhost
 
# Inside the SFTP client
sftp> put report.csv
sftp> ls

File transfers only. Kervan does not provide an interactive SSH shell.

CONNECTED BY DESIGN

One core.
Everything in sync.

Protocol listeners at the edge. A common foundation underneath. Authentication, storage policy and audit work together inside one process.

FIG. 02 Shared services. Consistent behavior.Look under the hood
CLARITY, ALREADY INCLUDED

A control room.
Already inside.

The React WebUI is embedded in the binary. Manage users, browse files, follow sessions and inspect audit events, without deploying another application.

localhost:8080INTERFACE OVERVIEW
ONE PLACE TO SEE IT ALL

Transfers

Live updates
TrackEvery session
ManageEvery protocol
UnderstandEvery transfer
FILEPROTOCOLSTATUS
release.tar.gzSFTPCompleted
nightly-backup.zipFTPSTransferring
report.csvSCPCompleted
Illustrative interface · sample dataOne shared transfer registry
Users & groupsLive sessions & transfersSearchable audit eventsScoped API keysBuilt for automation
YOUR INFRASTRUCTURE. YOUR WAY.

Wherever files go.
Kervan fits.

From the scripts you run every night to the files you exchange with a partner. A shared server for the work between systems.

01

Automate the handoff.

Move build artifacts and scheduled exports with SSH keys, SCP scripts and scoped API keys. Keep the transfer trail alongside your automation.

CI / CD & AUTOMATION
02

Make room for partners.

Give each partner a confined home directory. Set account expiry, protocol restrictions and quotas without maintaining separate servers.

TEAMS & FILE EXCHANGE
03

Keep the keys.

Run on your own hardware or in a container. Choose local or object storage, connect your monitoring and own your operational data.

SELF-HOSTED INFRASTRUCTURE
FROM DOWNLOAD TO FIRST TRANSFER

A small start.
A clear path forward.

Follow the full quick start

Download. Configure. Connect.

Download and extract the archive for your operating system. No Go toolchain or external runtime needed.

1 Get the binary2 Create an admin3 Start transferring
terminalbash
# In the directory containing the extracted binary
./kervan init
 
# Create your first admin (choose your own strong password)
./kervan admin create --username admin --password 'Choose-a-unique-password!'
 
# Validate configuration, then start
./kervan check
./kervan

Windows: use .\kervan.exe in place of ./kervan.

GOOD QUESTIONS. CLEAR ANSWERS.

Before you
connect.

Something else on your mind?
The source is open.

Start a conversation
01What is Kervan?+

Kervan is an open-source file transfer server written in pure Go. FTP, FTPS, SFTP and SCP share a single authentication engine, virtual filesystem, session manager and audit pipeline, packaged in one binary.

02Do I need Go or a database to run it?+

No. Release archives contain a standalone binary with the WebUI embedded. The default user store is an embedded JSON-backed store. Go and Node.js are needed when building the server and its WebUI from source.

03Can I use my existing clients?+

Kervan is tested with OpenSSH sftp/scp and curl. It implements FTP with active and passive modes, explicit and implicit FTPS, SFTP v3, and legacy SCP. The project lists broader FileZilla, WinSCP, lftp and Cyberduck interoperability checks on its roadmap; validate your specific client and workflow.

04Is S3 storage available today?+

Yes. The current repository ships an S3-compatible backend using SigV4. Files are staged locally and uploaded in a single PutObject on close. Allow temporary disk space; the single-PUT limit is 5 GB and multipart upload is still planned.

05How do I secure my first deployment?+

Create an admin before startup, use a unique strong password, and configure TLS for FTPS and the management interface. Prefer SFTP or FTPS for encrypted transfers. IP rules, per-user restrictions, scoped API keys and brute-force controls let you narrow access further.

06Can I use Kervan commercially?+

Yes. Kervan is MIT licensed. You can use, modify and distribute it, including in commercial projects, under the license terms. The product repository contains the full license and contributor guide.

OPEN SOURCE. OPEN POSSIBILITIES.

Your next transfer.
A simpler beginning.

Pure Go. MIT licensed. Built to move things forward.