command module
Version: v0.0.0-...-892988b Latest Latest

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

Go to latest
Published: Jul 30, 2019 License: MIT Imports: 16 Imported by: 0


Magic Wormhole - WORK IN PROGRESS

Safely transfer files, or text, from one device to another (peer-to-peer) without the need for third-party accounts or custom servers. Clients can transfer media between devices (directly if possible) using encryption based on mutually shared passwords. The passwords are called "wormhole codes", and are simple phrases made up of two or more words (and a small channel number). Each client, or side of the connection, must enter the same code in order to safely establish a communication channel. Magic Wormhole does not facilitate this code sharing, so it's up to the sending client to notify the receiver of the code. Because of this fact, the security of the transfer can be of the upmost quality.

About This Package

Fairly faithful Go implementation of Magic Wormhole client. Based on the original Python application written by Brian Warner. This version is written in Go, so cross-platform binaries are available without the need for a working Python installation. The API implemented here attempts to be as faithful as possible with it's original Python counterpart, so existing Magic Wormhole relay (rendezvous) servers and transit servers, should work seamlessly.


go-wormhole is made using Go, as such, all the platforms Go supports should be acceptable for go-wormhole as well. Binaries will be provided as I make releases, but "from source" is always an option if you have a Go installation ready.

From Source

Requires Go toolkit version 1.12.5 or higher. Due to the dependency on go-sqlite3 gcc is also required, most likely with the CGO_ENABLED environment variable as well.

  1. go get github.com/chris-pikul/go-wormhole
  2. go install github.com/chris-pikul/go-wormhole


go-wormhole is a CLI application (command line), bring up your favourite command line/terminal to start using. Executing go-wormhole help will display the help info for usage instructions and available options:

     get      receive files/directories or text messages from another sender
     send     send a file, or text message, to another device
     help, h  Shows a list of commands or help for one command

Running go-wormhole with no command will assume the get command for receiving media.

Receiving Files/Directories/Text

go-wormhole [wormhole code] will start the receiving process and start communicating to find the other peer. The wormhole code needs to be the same one the sender initiated with, and they will (or go find them and ask) tell you the code to enter. From here, it should start the transfer if everything is in order proper.

Sending Files/Directories

go-wormhole send [file, directories] will initiate a file transfer. After the files are verified (for existence at least), the wormhole code will print for you to communicate to who you want to receive the files. At this time sending/receiving is only one-to-one at the moment.

Sending Text

go-wormhole send text [optional message] will initiate a transfer of text messages. The wormhole code will print for you to communicate to who you want to receive the messages. The message portion is optional, and if not provided will put the program into REPL mode. In REPL mode you can type out the message line by line until the end-of-file character is entered (ctrl-d for linux/mac, ctrl-z windows).


This codebase, written by Chris Pikul is licensed under MIT License, see LICENSE for more details.

The original library that this package is based on is also MIT licensed. Original library: github.com/warner/magic-wormhole


The Go Gopher

There is no documentation for this package.


Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL