Skip to content

its-kos/gocrypt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn


GoCrypt

A decentralized File Storage System written in Go!
View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact

About The Project

This is a fun hobby project I created to learn Go more in depth. This tool splits the file you input, encrypts then communicated the chunks to other peers in a P2P network. When acces is needed, peers communicate the requested chunks, decrypt them, the stitch the original file together.

The original scope for this is to be used for a P2P network of nodes in the same network for simple files. Individual setup on each node is needed.

(back to top)

Getting Started

Prerequisites

Go 1.23+ is required in order to build the project.

Installation

  1. go build . in the project directory
  2. Make a "files/testfile.ext" directory. The fletype can be whatever.

(back to top)

Usage

  1. ./gocrypt -host <local-network-ip> -port <free-tcp-port> on two different terminals.
  2. (For now the test file you input is automatically chunked and uploaded)

(back to top)

Roadmap

  • Basic chunking functionality
  • Basic encrypting functionality
  • libp2p local network setup
  • finish documentation
  • cli implementation
    • basic boilerplate / scaffolding
    • command implementation

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. Or you can also simply open an issue. Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Top contributors:

contrib.rocks image

(back to top)

License

No License as of now. (Don't) See LICENSE.txt for more information.

(back to top)

Contact

Konstantinos Katserelis - @gravityWell

Project Link: https://github.com/its-kos/gocrypt

(back to top)

About

A decentralized File Storage System written in Go

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages