enigma

command module
v0.0.0-...-0559a69 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 5, 2019 License: MIT Imports: 9 Imported by: 0

README

Enigma Logo

Enigma

Go Report Card License

A small service written in Go and Vue.js which lets you share self-destructing secrets.

Secret messages will self-destruct/expire after it has been viewed a given number of times or if the time expires.

Live Demo

See it live!

Requirements

  • Go version v1.12
  • MongoDB version v3.6
  • Vue.js version v2.6

Getting Started

Run Enigma backend server by issuing the following commands:

λ go build -o bin/enigma -v
λ ./bin/enigma

And the server will be up and running on the specified port.

Note: To load environment variables if you're a terminal girl/guy, you might want to use direnv. Simply, make the variables present in .env.example available.

Development

During development Hot-reloading is quite helpful. Fresh can be used for hot-reloading go code. And to run simply do the following to make the server go live:

λ cp .runner.conf.example runner.conf
λ fresh

Architecture

  • The backend is written in Go with Gorilla/mux which releases a RESTful api.
  • MongoDB is being used as the NoSQL database of choice.
  • The frontend uses Vue.js that interacts with the rest api.
  • All CURD operations are possible via the RESTful api and can respond in XML, JSON and can be extended to support YAML.
  • Every secret is encrypted using AES algorithm in GCM Mode, thus making sure that it's secure.

Credits

The logo is a reference to the Eight Trigrams Sealing Jutsu in the anime © Naruto.

Screenshots

Enigma - Share secret Enigma - Reveal secret Enigma - Lost secret

Contribution

Well this is kind of a learning project, feel free to fork it and happy hacking :)

License

MIT License

Copyright © 2019 Shashank Srivastav

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL