One-Time-Secret sharing platform with a symmetric 256bit AES encryption in the browser
Go to file
Knut Ahlers 49e7633ca5
Internalize previously external libraries and stylesheets
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2018-05-05 18:09:37 +02:00
frontend Internalize previously external libraries and stylesheets 2018-05-05 18:09:37 +02:00
vendor Update dependencies 2018-05-05 16:57:47 +02:00
.gitignore Internalize previously external libraries and stylesheets 2018-05-05 18:09:37 +02:00
.repo-runner.yaml Add automated building 2017-08-03 18:34:18 +02:00
api.go Return 404 on not existent secret 2017-08-03 18:20:21 +02:00
assets.go Internalize previously external libraries and stylesheets 2018-05-05 18:09:37 +02:00
CONTRIBUTING.md Initial API 2017-08-03 14:13:53 +02:00
Dockerfile Dockerize 2017-08-03 20:09:18 +02:00
Gopkg.lock Update dependencies 2018-05-05 16:57:47 +02:00
Gopkg.toml Switch to dep for vendoring 2018-05-05 16:56:20 +02:00
History.md prepare release v0.7.0 2018-05-05 13:57:13 +02:00
LICENSE Initial API 2017-08-03 14:13:53 +02:00
main.go Internalize previously external libraries and stylesheets 2018-05-05 18:09:37 +02:00
Makefile Internalize previously external libraries and stylesheets 2018-05-05 18:09:37 +02:00
README.md Introduce data expiry in Redis 2018-05-05 13:56:53 +02:00
storage_mem.go Initial API 2017-08-03 14:13:53 +02:00
storage_redis.go Introduce data expiry in Redis 2018-05-05 13:56:53 +02:00
storage.go Initial API 2017-08-03 14:13:53 +02:00
translations.go Add localization for en-US and de-DE 2017-08-04 21:16:00 +02:00

Go Report Card

Luzifer / OTS

ots is a one-time-secret sharing platform. The secret is encrypted with a symmetric 256bit AES encryption in the browser before being sent to the server. Afterwards an URL containing the ID of the secret and the password is generated. The password is never sent to the server so the server will never be able to decrypt the secrets it delivers with a reasonable effort. Also the secret is immediately deleted on the first read.

Features

  • AES 256bit encryption
  • Server does never get the password
  • Secret is deleted on first read

Setup

For a better setup you can choose the backend which is used to store the secrets:

  • mem - In memory storage (wiped on restart of the daemon)
  • redis - Storing the secrets in a hash under one key
    • REDIS_URL - Redis connection string tcp://auth:PWD@HOST:PORT/DB
    • REDIS_EXPIRY - Expiry of the keys in seconds (Default 0 = no expiry)
    • REDIS_KEY - Key prefix to store the keys under (Default io.luzifer.ots)

Hint: Starting in v0.7.0 the secrets in Redis are no longer stored in a hash but in own keys. This allows for individual expiry. At the first start of v0.7.0 the old data will be migrated automatically and afterwards be subject of expiry if you set REDIS_EXPIRY. My hosted instance uses an expiry of 90d (= 7776000s).

Localize to your own language

If you want to help translating the application to your own language please download the en-us.all.json file from this repository and translate the others strings inside. Afterwards please open an issue and attach your translation including the information which language you translated the strings into. Of course you also could open a pull-request to add the new file to the frontend/locale folder.

Same goes with when you're finding translation errors: Just open an issue and let me know!