Skip to content

totakoko/onetimesecret

Repository files navigation

One Time Secret

Licensed under AGPL-3

A clone of the very useful One-Time Secret but with a simpler design (demo).

Features:

  • share a secret that can be read only one time
  • secure with client-side encryption: the server has no idea what the secrets are
  • also works without JavaScript but then drops client-side encryption support
  • minimalist and beautiful design: no unnecessary features, no advertisement for third-party services or the product itself, no freemium
  • mobile-friendly

Apart from its usefulness for sharing secrets with other people, this project is mainly used to experiment best development practices such as: automated tests, continuous deployment, configuration management, monitoring...

Usage

The simplest option is to use the docker-compose file below to get a service running:

  • First create a folder named ots and copy the content below into a file called docker-compose.yml.
version: '3.3'
services:
  onetimesecret:
    image: totakoko/onetimesecret:latest
    restart: unless-stopped
    ports:
      - "8080:5000"
    environment:
      OTS_STORE_ADDR: redis:6379
      OTS_PUBLICURL: http://localhost:8080/
    networks:
      - onetimesecret
  redis:
    image: redis:4.0-alpine
    restart: unless-stopped
    ports:
      - "6379:6379"
    networks:
      - onetimesecret

networks:
  onetimesecret:
  • Inside the folder, run docker-compose up -d.
  • After a few seconds or minutes, depending of your internet connection, you will be able to access OTS locally at http://localhost:8080/.

Development

See the development guide.

License

The code is licensed under the GNU Affero General Public License version 3. You can find a human-readable summary on tldrlegal.com.