Arkfile

command module
v0.0.0-...-101d28d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 30, 2026 License: AGPL-3.0 Imports: 20 Imported by: 0

README

Arkfile

Private File Vault over S3

1. What Is Arkfile?

Arkfile is an open-source service that lets you store and share files while keeping them private.

Before any file leaves your computer it is encrypted, so the Arkfile server never sees your data.

Because of this privacy-first design, only you – and anyone with whom you choose to share – can access and open your files.

2. Why People Use It

  1. Privacy-first – files are encrypted on your device.
  2. Share safely – you can create sharing links with share passwords for friends or co-workers without giving them your main password.
  3. Multi-factor security – Time-based One-Time Passwords (TOTP authentication) is used to provide two-factor protection for all accounts.
  4. Pick your storage – use the built-in SeaweedFS server for single-node or self-hosted cluster deployments, or point Arkfile at Amazon S3, Backblaze B2, Wasabi, Vultr Object Storage, and other S3-compatible storage back-ends.
  5. Runs anywhere – one binary, no external database. (Arkfile uses the lightweight rqlite engine under the hood.)
  6. Offline backup & recovery – export encrypted .arkbackup bundles and decrypt them offline with arkfile-client, no server needed.
  7. Open source – anyone can inspect or improve the code.

3. Local Dev Test Quick Start

sudo ./scripts/dev-reset.sh

The script will:

  • Install all dependencies
  • Set up arkfile system user
  • Start a local SeaweedFS bucket
  • Start a single-node rqlite database
  • Start arkfile app
  • Create arkfile-dev-admin user

4. Key Concepts (Glossary)

  • Privacy-First: The server never learns your files or passwords because everything is encrypted before upload.
  • Encryption (AES-256-GCM): A modern algorithm that scrambles data and checks its integrity at the same time.
  • OPAQUE: A password authentication protocol where the server never sees your password in any form, with built-in validation to ensure strong password security.
  • TOTP: Time-based One-Time Password - generates temporary codes on your phone for extra security.
  • rqlite: A small database that keeps data in sync across nodes without extra setup.
  • SeaweedFS: An open-source S3-compatible storage server that works as a single node or in a cluster.
  • S3-type Storage Backends: Any number of redundant data backup solutions that use erasure coding to ensure extremely high availability of your data.

5. Need More Details?

  • Deployment & Ops Guide – see docs/setup.md
  • API Reference – see docs/api.md
  • Security Architecture – see docs/security.md
  • Privacy - see docs/privacy.md

Support

Questions, comments or bug reports? Email arkfile [at] pm [dot] me / arkfile [at] tutanota [dot] com or open an issue on GitHub.

Please avoid posting sensitive information in public issues.


Donate

If you wish to contribute to development efforts, please consider making a donation:

  • Bitcoin (On-chain): < contact via email for a one-time donation address >
  • Bitcoin (Lightning): arkfile@coinos.io
  • Monero (XMR): 8AhcDfG55P5N1pacyB9QoNTYrVGEUsgYnSrvXyHoxc2iWi6M7s4cdWHHXNu6rSjf5jYQ5hGAoR5eo75pRqPAK6hjL4jNMX6

make yourself an ark of cypress wood

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd
arkfile-admin command
arkfile-client command
scripts
testing command

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL