GithubHelp home page GithubHelp logo

qpc-github / secret-sender Goto Github PK

View Code? Open in Web Editor NEW

This project forked from shopify/secret-sender

1.0 2.0 0.0 68 KB

Send passwords and tokens manually over insecure channels

Go 66.55% Makefile 9.51% Roff 23.94%

secret-sender's Introduction

secret-sender

Send passwords and tokens manually over insecure channels

Installation

$ brew tap shopify/shopify
$ brew install secret-sender

How it works

secret-sender requires two users to run the program at the same time in cooperation, and paste messages to each other. These messages are not secret so they can be sent over (e.g.) Slack.

  1. The user receving the secret token or password will run secret-sender receive. This will copy their public key to the clipboard and display it in their shell.
  2. The receiving user will message that public key to the sender.
  3. The sender will run secret-sender send, paste the public key into their shell, and press Enter/Return.
  4. The sender will then be prompted to copy their secret to their clipboard and press Enter/Return.
  5. secret-sender will copy the encrypted string to the clipboard and display it in the shell.
  6. The sender will message that encrypted string to the receiver.
  7. The receiver copies that encrypted string into their clip and presses Enter/Return in secret-sender.
  8. secret-sender displays the secret in the shell.

Under the hood

Secret-sender uses NaCl Box cryptograpy, or curve25519xsalsa20poly1305. The receiver generates an ephemeral keypair and sends the public portion to the sender, who encrypts the secret to that key, before sending the ciphertext to the receiver. The receiver then recovers the plaintext and terminates, discarding the private key.

Neither subcommand takes any arguments, but both ask the sender and receiver to copy their plaintext and ciphertext (respectively) into their clipboard once the program is running.

Scripting with secret-sender is discouraged: instead, use ejson directly.

secret-sender's People

Contributors

burke avatar chrisbutcher avatar ryanbrushett avatar cursedcoder avatar etiennebarrie avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.