Convert Figma logo to code with AI

dyne logotomb

the Crypto Undertaker

1,379
158
1,379
41

Top Related Projects

1,212

Keybase Filesystem (KBFS)

🐳 Matrix (An open network for secure, decentralized communication) server setup using Ansible and Docker

A minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted in the browser using 256 bits AES.

Cryptomator for Windows, macOS, and Linux: Secure client-side encryption for your cloud storage, ensuring privacy and control over your data.

2,035

Cryptographic filesystem for the cloud

21,950

KeePassXC is a cross-platform community-driven port of the Windows application “Keepass Password Safe”.

Quick Overview

Tomb is a secure and encrypted file container that can be used to store sensitive data. It provides a simple and user-friendly interface for creating, managing, and accessing encrypted volumes, ensuring the confidentiality and integrity of your data.

Pros

  • Secure Encryption: Tomb uses strong encryption algorithms, such as AES-256, to protect your data from unauthorized access.
  • Portability: Tomb is a cross-platform solution, allowing you to use it on various operating systems, including Linux, macOS, and Windows.
  • Ease of Use: Tomb offers a straightforward command-line interface, making it accessible to both technical and non-technical users.
  • Customizable: Tomb allows you to customize various settings, such as the encryption algorithm and key size, to suit your specific needs.

Cons

  • Command-Line Interface: While the command-line interface is easy to use, some users may prefer a graphical user interface (GUI) for a more intuitive experience.
  • Limited Platform Support: Tomb is primarily designed for Unix-like operating systems, and its support for Windows may be limited.
  • Dependency on External Tools: Tomb relies on external tools, such as gpg and cryptsetup, which may require additional setup and configuration.
  • Potential Learning Curve: Users who are not familiar with command-line tools or encryption may need to invest some time in learning how to use Tomb effectively.

Code Examples

N/A (Tomb is not a code library)

Getting Started

To get started with Tomb, follow these steps:

  1. Install the required dependencies:

    • On Debian-based systems (e.g., Ubuntu):
      sudo apt-get install tomb
      
    • On Fedora-based systems:
      sudo dnf install tomb
      
    • On macOS (using Homebrew):
      brew install tomb
      
  2. Create a new Tomb:

    tomb create my_tomb.tomb -s 100M
    

    This will create a new Tomb file named my_tomb.tomb with a size of 100 MB.

  3. Open the Tomb:

    tomb open my_tomb.tomb
    

    You will be prompted to enter a passphrase to unlock the Tomb.

  4. Use the Tomb:

    • Copy files into the mounted Tomb directory.
    • When finished, close the Tomb:
      tomb close
      
  5. Backup the Tomb:

    • To backup the Tomb, simply copy the my_tomb.tomb file to a secure location.

That's the basic workflow for using Tomb. For more advanced features and customization, refer to the Tomb documentation.

Competitor Comparisons

1,212

Keybase Filesystem (KBFS)

Pros of KBFS

  • Offers end-to-end encryption with seamless key management
  • Provides cross-platform support (Windows, macOS, Linux, iOS, Android)
  • Integrates with Keybase's identity verification system

Cons of KBFS

  • Requires a Keybase account and relies on centralized infrastructure
  • Less focused on creating encrypted containers; more of a general file system
  • May have a steeper learning curve for users unfamiliar with Keybase

Code Comparison

Tomb (shell script):

#!/bin/sh
# Create a new tomb
tomb dig -s 100 secret.tomb
tomb forge secret.tomb.key
tomb lock secret.tomb -k secret.tomb.key

KBFS (Go):

import "github.com/keybase/client/go/libkb"
import "github.com/keybase/client/go/protocol/keybase1"

// Initialize KBFS
config := libkb.NewGlobalContext().Init()
kbfsConfig := libkbfs.DefaultConfigLocal(config)

While Tomb focuses on creating and managing encrypted containers using shell scripts, KBFS is implemented in Go and provides a more comprehensive file system solution integrated with Keybase's ecosystem. Tomb offers a simpler, more focused approach to file encryption, while KBFS provides a broader range of features within the Keybase platform.

🐳 Matrix (An open network for secure, decentralized communication) server setup using Ansible and Docker

Pros of matrix-docker-ansible-deploy

  • Comprehensive solution for deploying Matrix homeservers using Docker and Ansible
  • Supports a wide range of Matrix-related services and integrations
  • Actively maintained with frequent updates and community support

Cons of matrix-docker-ansible-deploy

  • More complex setup and configuration compared to Tomb's focused encryption approach
  • Requires understanding of Docker, Ansible, and Matrix ecosystem
  • Potentially higher resource usage due to running multiple containerized services

Code comparison

matrix-docker-ansible-deploy:

- name: Ensure Matrix Synapse is running
  docker_container:
    name: matrix-synapse
    image: matrixdotorg/synapse:latest
    state: started
    restart_policy: always

Tomb:

tomb create secret.tomb -s 100
tomb open secret.tomb
tomb close

Summary

matrix-docker-ansible-deploy is a comprehensive solution for deploying Matrix homeservers, offering a wide range of features and integrations. It's well-maintained but requires more technical expertise to set up and manage. Tomb, on the other hand, is a simpler tool focused on file encryption and secure storage. While they serve different purposes, matrix-docker-ansible-deploy is better suited for those looking to run a full-featured Matrix server, while Tomb is ideal for users seeking a straightforward encryption solution for sensitive files.

A minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted in the browser using 256 bits AES.

Pros of PrivateBin

  • Web-based solution, accessible from any device with a browser
  • Supports client-side encryption for enhanced privacy
  • Offers features like password protection and self-destruction of pastes

Cons of PrivateBin

  • Requires a web server to host, potentially less secure than local encryption
  • Depends on the host's security measures and policies
  • May be subject to network-based attacks or interception

Code Comparison

PrivateBin (JavaScript):

var cryptoAdapter = {
    getRandomValues: function(buf) {
        var bytes = crypto.randomBytes(buf.length);
        buf.set(bytes);
    }
};

Tomb (Shell script):

function ask_password() {
    local question="$1"
    local password=""
    while true; do
        read -s -p "$question" password
        echo
        [[ "$password" != "" ]] && break
    done
    echo "$password"
}

Key Differences

  • PrivateBin is a web-based pastebin service, while Tomb is a file encryption tool
  • PrivateBin focuses on sharing encrypted text, Tomb encrypts entire directories
  • PrivateBin uses JavaScript for client-side encryption, Tomb relies on system-level encryption tools
  • PrivateBin is more accessible for quick sharing, Tomb offers stronger local security

Cryptomator for Windows, macOS, and Linux: Secure client-side encryption for your cloud storage, ensuring privacy and control over your data.

Pros of Cryptomator

  • Cross-platform support (Windows, macOS, Linux, iOS, Android)
  • User-friendly graphical interface
  • Transparent file-by-file encryption

Cons of Cryptomator

  • Less suitable for creating encrypted containers
  • Requires third-party cloud storage for syncing
  • May have performance overhead for large numbers of small files

Code Comparison

Tomb (shell script):

#!/bin/sh
# Tomb main script
source libgcrypt
source libtommath
# ... (additional code)

Cryptomator (Java):

public class Cryptomator {
    private static final Logger LOG = LoggerFactory.getLogger(Cryptomator.class);
    // ... (additional code)
}

Key Differences

  • Tomb is a command-line tool for creating encrypted containers, while Cryptomator focuses on transparent file encryption
  • Tomb is written in shell script, whereas Cryptomator is primarily Java-based
  • Cryptomator integrates well with cloud storage services, while Tomb is more suited for local encryption

Use Cases

  • Tomb: Ideal for creating encrypted volumes on Linux systems
  • Cryptomator: Better for users who need cross-platform file encryption with cloud storage integration
2,035

Cryptographic filesystem for the cloud

Pros of CryFS

  • Offers file-based encryption, allowing for efficient cloud storage and syncing
  • Supports concurrent access from multiple devices
  • Provides stronger privacy by hiding file sizes and directory structure

Cons of CryFS

  • Slower performance compared to Tomb, especially for large files
  • Requires more storage space due to its block-based structure
  • Less mature project with potentially fewer security audits

Code Comparison

Tomb (shell script):

#!/bin/sh
# Create a new tomb
tomb dig -s 100 secret.tomb
tomb forge secret.tomb.key
tomb lock secret.tomb -k secret.tomb.key

CryFS (C++):

#include <cryfs/cryfs.h>

int main() {
    cryfs::CryFS cryfs;
    cryfs.create("/path/to/basedir", "/path/to/mountdir", cryfs::CryConfigFile());
    return 0;
}

Both projects aim to provide encrypted storage solutions, but they differ in their approach and implementation. Tomb uses shell scripts and relies on existing Linux tools, while CryFS is implemented in C++ and offers a more integrated solution. Tomb is better suited for local encryption of entire directories, while CryFS excels in cloud-based scenarios and offers finer-grained encryption at the file level.

21,950

KeePassXC is a cross-platform community-driven port of the Windows application “Keepass Password Safe”.

Pros of KeePassXC

  • Cross-platform compatibility (Windows, macOS, Linux)
  • User-friendly graphical interface
  • Extensive feature set including password generation, auto-type, and browser integration

Cons of KeePassXC

  • Requires installation and setup on each device
  • Potential security risks if the master password is compromised
  • Syncing across devices can be more complex compared to cloud-based solutions

Code Comparison

KeePassXC (C++):

void Database::setKey(const CompositeKey& key)
{
    m_key = key;
    m_transformedMasterKey = key.transform(m_transformSeed, m_transformRounds);
}

Tomb (Bash):

function ask_password() {
    unset password
    prompt="${1:-Enter password: }"
    while IFS= read -p "$prompt" -r -s -n 1 char; do
        [[ $char == $'\0' ]] && break
        prompt='*'
        password+="$char"
    done
    echo
}

While both projects focus on secure data storage, KeePassXC is a full-featured password manager with a GUI, whereas Tomb is a command-line tool for creating encrypted storage containers. KeePassXC offers more user-friendly features, while Tomb provides a lightweight, script-based approach to file encryption.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Tomb: The Linux Crypto Undertaker

Build Status

Minimalistic command line tool based on Linux dm-crypt and LUKS, trusted by hackers since 2007.

You can keep your volumes secure and easily manageable with simple commands.

tomb's logo

Create a new 120MiB secret.tomb folder and lock it with a new secret.tomb.key file.

 $ tomb dig   -s 120 secret.tomb
 $ tomb forge -k secret.tomb.key
 $ tomb lock  -k secret.tomb.key secret.tomb

To open it, do

 $ tomb open  -k secret.tomb.key secret.tomb

And after you are done

 $ tomb close

Or, if you are in a hurry, kill all processes with open files inside your tomb and close it.

 $ tomb slam

📖 Get started on dyne.org/tomb

More information in man tomb and on dyne.org/docs/tomb.

💾 Download from files.dyne.org/tomb

Use only stable and signed releases in production!

Tomb's development is community-based!

🤏🏽 How can you help

Donations are very welcome on dyne.org/donate

Translations are also welcome: see our simple translation guide

Tomb's code is short and readable: don't be afraid to inspect it! If you plan to submit a PR, please remember that this is a minimalist tool, and the code should be short and readable. Also, first, read our small intro to Tomb's coding style.

We have a space for issues open for detailed bug reports. Always include the Tomb version being used when filing a case, please.

There is also a space for discussion of new features, desiderata and whatnot on github.

Licensing

Tomb is Copyright (C) 2007-2024 by the Dyne.org Foundation and maintained by Jaromil. The AUTHORS file contains more information on all the developers involved. The license is GNU Public License v3.

More info on dyne.org/tomb