Personal Message Bus
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
api
vendor add proper key management command with varied subcommands May 27, 2018
.gitignore build script for master builds Apr 28, 2014
LICENSE
README.md
RELEASE.md add release documentation Apr 15, 2015
bootstrap.template
broker.go allow specifying listen address Jan 10, 2016
build.sh support windows Jan 10, 2017
dump_raw.go
introducer.go
key.go
main.go
notify.go
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
plugin.go
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
shell.go
sink.go
stream.go
syslog.go support windows Jan 10, 2017
syslog_windows.go support windows Jan 10, 2017
util.go
version.go add version subcommand Aug 4, 2015
watch.go

README.md

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 github.com/justone/pmb
# cd $GOPATH/src/github.com/justone/pmb
# 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:

License

Copyright © 2014-2017 Nate Jones

Distributed under the Apache License Version 2.0.