All Projects → Cookie04DE → Sekura

Cookie04DE / Sekura

Licence: MIT license
Encryption tool that's heavily inspired by the Rubberhose file system (https://en.wikipedia.org/wiki/Rubberhose_(file_system)).

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Sekura

gravity
User-space deniable data encryption client.
Stars: ✭ 89 (+74.51%)
Mutual labels:  filesystem, deniable-encryption
Backup And Recovery Howtos
Guides to setting up a media storage system, backing it up, and recovering from failures
Stars: ✭ 235 (+360.78%)
Mutual labels:  filesystem
Sharpfilesystem
A virtual file system for .NET written in C#
Stars: ✭ 193 (+278.43%)
Mutual labels:  filesystem
Tifs
A distributed POSIX filesystem based on TiKV, with partition tolerance and strict consistency.
Stars: ✭ 209 (+309.8%)
Mutual labels:  filesystem
Fileicon
macOS CLI for managing custom icons for files and folders
Stars: ✭ 196 (+284.31%)
Mutual labels:  filesystem
Aiofile
Real asynchronous file operations with asyncio support.
Stars: ✭ 214 (+319.61%)
Mutual labels:  filesystem
Draxt
draxt.js – NodeList/jQuery-like package for File System (node.js)
Stars: ✭ 192 (+276.47%)
Mutual labels:  filesystem
Tagsistant
Semantic filesystem for Linux, with relation reasoner, autotagging plugins and a deduplication service
Stars: ✭ 244 (+378.43%)
Mutual labels:  filesystem
Copy Webpack Plugin
Copy files and directories with webpack
Stars: ✭ 2,679 (+5152.94%)
Mutual labels:  filesystem
Supertag
A tag-based filesystem
Stars: ✭ 207 (+305.88%)
Mutual labels:  filesystem
Gotenksfs
A file system on top of your file system
Stars: ✭ 203 (+298.04%)
Mutual labels:  filesystem
Vscode Remote Workspace
Multi protocol support for handling remote files like local ones in Visual Studio Code.
Stars: ✭ 197 (+286.27%)
Mutual labels:  filesystem
Go Fastdfs
go-fastdfs 是一个简单的分布式文件系统(私有云存储),具有无中心、高性能,高可靠,免维护等优点,支持断点续传,分块上传,小文件合并,自动同步,自动修复。Go-fastdfs is a simple distributed file system (private cloud storage), with no center, high performance, high reliability, maintenance free and other advantages, support breakpoint continuation, block upload, small file merge, automatic synchronization, automatic r…
Stars: ✭ 2,923 (+5631.37%)
Mutual labels:  filesystem
Gcsf
a FUSE file system based on Google Drive
Stars: ✭ 2,251 (+4313.73%)
Mutual labels:  filesystem
Sparsebundlefs
FUSE filesystem for reading macOS sparse-bundle disk images
Stars: ✭ 238 (+366.67%)
Mutual labels:  filesystem
Aaru
Aaru Data Preservation Suite
Stars: ✭ 193 (+278.43%)
Mutual labels:  filesystem
Autarky
Liberating disk space from 📁 node_modules
Stars: ✭ 203 (+298.04%)
Mutual labels:  filesystem
Gaufrette
PHP library that provides a filesystem abstraction layer − will be a feast for your files!
Stars: ✭ 2,397 (+4600%)
Mutual labels:  filesystem
android-file-manager
A File Manager for Android
Stars: ✭ 19 (-62.75%)
Mutual labels:  filesystem
Renamer
Rename files in bulk.
Stars: ✭ 240 (+370.59%)
Mutual labels:  filesystem

What is Sekura?

Sekura is an Encryption tool that's heavily inspired by the Rubberhose file system.

It allows for multiple, independent file systems on a single disk whose existence can only be verified if you posses the correct password.

Requirements

  1. A working go installation
  2. The nbd kernel module

How to use

  1. Clone this repository
  2. cd into cmd/sekura and run go install .

Note: the following steps require root permissions

  1. Run modprobe nbd to start the nbd kernel module
  2. Run sekura -standalone to enter the command line

Command line

Commands:

quit:

This quits Sekura. Don't quit if you still want to read or write to the partitions

createDisk:

This creates and adds a disk for use with Sekura.

Warning: this command will overwrite the file at the provided path if it already exists.

It asks you for a block size and a block count. You may enter the size as a number with a suffix (e.g "4mb", "10GB", "1tb"). The final size of the disk will be the size multiplied by the count plus 20 bytes for the disk header.

The more blocks you choose the more file systems can fit on that disk. The block size needs to be a minimum of 32 bytes to accommodate the block header, but more bytes are needed to actually store data.

addDisk:

This adds a disk previously created by createDisk to read and write partitions on it.

createPartition:

This creates a partition on a previously added/created disk and adds it.

Warning: add all partitions on the disk before using this command as you might otherwise encounter data loss.

Sekura will ask you for the number of the disk you want to create the partition on.

You are then asked to enter a password and Sekura makes sure there isn't already a partition with that password on the disk.

After that Sekura will ask you for the amount of blocks you want to allocate for this partition. The resulting size of the partition is (blockSize - 32) * blockAmount.

addPartition:

This adds a previously created partition.

Sekura will ask you for the number of the disk and a password.

delete:

This deletes a partition by overwriting all blocks in it with random data.

resize:

This resizes a partition by either deleting blocks at the end or adding new ones.

Warning: Potential data loss:

While shrinking: Make sure that no needed data is on the last blocks.

While growing: Make sure that all partitions are added.

How to use added partitions:

Once a partition is created/added you will receive the path to the block device (e.g. "/dev/nbd0").

Initially there is no filesystem on this device, so you need to create one. (You only need to do this once)

Note: The following steps require root permissions.

Example: mkfs.ext4 /dev/nbd0

Once you created your file system you need to mount it.

Example: mount /dev/nbd0 /mnt

Now your partition is mounted and you can use it like any other file system.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].