Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mimoo/eureka
Need to encrypt a file before sending it to someone? This is it.
https://github.com/mimoo/eureka
aes-gcm encryption file
Last synced: 2 months ago
JSON representation
Need to encrypt a file before sending it to someone? This is it.
- Host: GitHub
- URL: https://github.com/mimoo/eureka
- Owner: mimoo
- License: other
- Created: 2017-02-20T20:53:56.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2021-03-16T04:41:39.000Z (almost 4 years ago)
- Last Synced: 2024-08-02T20:45:03.219Z (6 months ago)
- Topics: aes-gcm, encryption, file
- Language: Go
- Size: 7.3 MB
- Stars: 133
- Watchers: 9
- Forks: 9
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- my-awesome - mimoo/eureka - gcm,encryption,file pushed_at:2021-03 star:0.1k fork:0.0k Need to encrypt a file before sending it to someone? This is it. (Go)
README
![EUREKA](https://i.imgur.com/qSscFjx.png)
Eureka is a simple tool to encrypt files and folders. It works on Windows, Linux and MacOS.
## Security and Status
Eureka is pretty simple, and well commented. Anyone is free to audit the software themselves.
## Install
There are several ways to install Eureka, with more on the way.
**Binary**.
[Get a binary here](https://github.com/mimoo/eureka/releases).
**Go get**.
If you have [Golang](https://golang.org/) installed and `/usr/local/go/bin` is in your PATH, you should be able to simply get the binary by doing
```
go get github.com/mimoo/eureka
```**Homebrew**.
If you are on MacOS, just use Homebrew:
```
brew tap mimoo/eureka && brew install mimoo/eureka/eureka
```## Usage
**1.** You are trying to send *Bob* the file `myfile.txt`.Start by encrypting the file via:
```
eureka myfile.txt
```which will return a one-time 256-bit AES key and create a new `myfile.txt.encrypted` file:
```
File encrypted at myfile.txt.encrypted
In a different secure channel, pass the following one-time key to your recipient.
613800fc6cf88f09aa6aeafab3eedd627503e6c5de28040c549efc2c6f80178d
```**2.** Find a channel to send the encrypted file to *Bob*. It could be via email, or via dropbox, or via google drive, etc.
**3.** You then need to transmit the one-time key (`613800fc6cf88f09aa6aeafab3eedd627503e6c5de28040c549efc2c6f80178d`) to *Bob* in a **different channel**. For example, if you exchanged the file (or a link to the file) via email, then send this key to *Bob* via WhatsApp.
**If you send both the encrypted file and the one-time key in the same channel, encryption is useless**.
**4.** Once *Bob* receives the file and the one-time key from two different channels, he can decrypt the file via this command:
```
eureka myfile.txt.encrypted
```which will create a new file `myfile.txt` under a `decrypted` folder containing the original content.