wfa(1) -- manage workfrom devices


wfa [-a|--show-all] [list]
wfa [-D|--dry-run] [shell] @<device-tag>
wfa [-D|--dry-run] [run] @<device-tag> <remote-command ...>
wfa identify <device-id> @<device-tag> <name>
wfa screen @<device-tag>
wfa heartbeats @<device-tag>
wfa console


wfa is a tool for listing and connecting to workfrom devices via SSH. It is operated using sub-commands, but for simple use cases the sub-command is assumed.



Display a list of registered devices. Each device has a tag assigned for use in issuing commands. This command is assumed if you provide no arguments. Use -a to list untagged devices.


Open an interactive shell on the remote device, specified by the device tag. This command is assumed if you provide a device tag without additional arguments.


Issue a command on a device and display the output. This command is assumed if you provide a device tag with an additional command argument.


Set a device tag and name, given the device ID. Devices must be tagged in order to be maintained with wfa.


Open a screen window to a shell on the remote device, specified by the device tag. Useful if you're running screen and want titled windows for each device.


List the last 100 or so device heartbeats, specified by the device tag.


Open an interactive Ruby prompt with a ready API handle. It's useful for experimentation or exploring the API.


Note that you must be logged in to the tunnel server (as yourself) to use the SSH tunneling features. No authentication is performed, you must have SSH auth already configured to use it.

To see a list of devices:


To open a shell on a device:

wfa @ovation

To run a command on a device:

wfa @ovation cat /etc/hostname

To run these commands from your own machine, prepend ssh -A <login> and they'll work more or less the same way. (-A enables agent forwarding, which you need to access the devices themselves.)


Installation notes

To install the gem you need to install some library dependencies. For example, this works on Debian:

sudo apt-get install ruby-dev libcurl4-openssl-dev


Currently wfa is distributed via Zack's dropbox. The URL is:

To release a new version, Zack just builds the gem and copies to his dropbox public folder.



Saved settings for wfa, including login credentials and backend URL.