Personal Message Bus
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
vendor add proper key management command with varied subcommands May 27, 2018
.gitignore build script for master builds Apr 28, 2014
LICENSE add release documentation Apr 15, 2015
broker.go allow specifying listen address Jan 10, 2016 support windows Jan 10, 2017
notify_mobile.go refactor to async arch for pushover messages Jan 23, 2016
openurl.go allow html to be passed to openurl Oct 10, 2016
osx.go support for all subcommand args in launch agent Feb 14, 2016
process.go add function to mask passwords Feb 27, 2014
remotecopy.go adding alias for remotecopy Jan 22, 2017
run.go add emoji to run success or fail Jul 20, 2016
syslog.go support windows Jan 10, 2017
syslog_windows.go support windows Jan 10, 2017
version.go add version subcommand Aug 4, 2015
watch.go add single file watching Jun 8, 2016

Personal Message Bus

It is a little difficult to explain what the Personal Message Bus (PMB) is, so it's perhaps easier to state first what it can help you do:

  • Remote copy - copy small and large snippets of text from any remote system, no matter how many levels of SSH deep, into your local clipboard
  • Opening URLs in local browser - send URLs from your remote editor or IRC client and open it locally in your desktop browser, works for html content as well
  • Long running job notification - run that 20 minute deployment script, kick off that 11Gb database import, or run any other long job and get a notification on your desktop when it is complete
  • Log file streaming - send log files from a dozen servers and aggregate them locally or on a remote system
  • Remote command coordination - update a cloud database from one server and then run a database import on another, making sure that the commands are done in order and as soon as possible, receiving notifications for each step
  • Mobile and watch notification - leave work with a deployment running and receive a message on your watch halfway through dinner that the deployment succeeded
  • File download notification - download large files and get a notification when the download is complete.

All this, and all communication is encrypted and sent over an SSL connection. There are no complex firewall holes to punch, everything goes through a RabbitMQ instance out in the cloud.

To learn more and get started using PMB, head over here.

The rest of this document details how to hack on PMB.

Hacking on PMB

$ go get
# cd $GOPATH/src/
# go build

If you need a nice clean go environment, try out skeg.

Similar projects

  • remotecopy - My first foray into copying data from remote systems to my local clipboard. PMB started because I really liked the power of remotecopy and wanted to apply that power to other problems.
  • remote-pbcopy - The inspiration for remotecopy and, transitively, PMB.
  • lemonade
  • DoIt

Thank you

This project wouldn't be possible without the following libraries:


Copyright © 2014-2017 Nate Jones

Distributed under the Apache License Version 2.0.