Code Monkey home page Code Monkey logo

gosss's Introduction

gosss

gosss is a tool for splitting/combining files using shamir algorithm More on wikipedia
This project can be used either as a tool or as a library
It allows to split and combine large files rather than tiny strings

Idea

The initial idea has been taken form HashiCorp shamir splitter and somewhere rewritten
The main goal is to add ability to split/combine large files by slightly modified block-aware algorithm

build

$ make

cross build

You can cross-compile gosss for different platforms using command $ make build-cross
It will create _dist folder with binaries for various platforms

install

$ sudo make install

using

$ gosss --help

Usage examples

Split file test to six parts with combine threshold 3:
$ gosss split -i test -d parts -p 'test-%i.part' -s 6 -t 3

Combine parts back to one file:
$ gosss combine -d parts -p 'test-%i.part' -o combined

Check that checksums are equal:
$ sha256sum test combined

--input / --output args can be omitted or equal to '-'. In that case input/output file will be read/written from/to stdin/stdout:
$ gosss combine -d parts -p 'test-%i.part' will output file to stdout

Combine tries to search all files matching the specified --pattern. Operation will be successful only if there are enough files found (more then or equal to threshold)
Default --pattern is just %i. Default --dir is a current dir

gosss's People

Contributors

xornet-sl avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.