Skip to content

z0rr0/unigma

Repository files navigation

version license

Unigma

Secure file sharing service.

Process:

  • upload a file (+settings: required password + TTL + number of sharing)
  • the file content and name are encrypted using AES-256 with a key based on user's password, metadata is stored in local SQLite database
  • get unique link
  • share the link (recipient should know used password)

Build

Dependencies:

github.com/mattn/go-sqlite3
golang.org/x/crypto/pbkdf2
golang.org/x/crypto/sha3

Check and build

make install

Prepare empty database db.sqlite:

cat schema.sql | sqlite3 db.sqlite

For docker container z0rr0/unigma

make docker

Development

Run

make start

make restart

make stop

Tests

Tests use temporary directory /tmp/ and checked on Linux hosts.

make test

License

This source code is governed by a MIT license that can be found in the LICENSE file.