sttz / expresso

expresso is a command line interface to control the ExpressVPN app
MIT License
63 stars 11 forks source link

Expresso CLI for ExpressVPN

expresso is a command line interface to control the ExpressVPN app. It uses the same native messaging interface as the open-source ExpressVPN browser extension.

Setup

Download the latest release here. expresso is a self-contained executable and has no dependencies.

Or you can install via Homebrew using sttz/homebrew-tap, see the tap readme for instructions.

Alfred Workflow

expresso also comes with an Alfred workflow, which enables to easily choose locations, connect and disconnect from Alfred.

Download the workflow here. The workflow bundles expresso, so you don't need to install anything else.

Alfred Workflow Screenshot Alfred Workflow Screenshot

Legend

Usage

expresso v1.3.0

USAGE: expresso [--help] [--version] [--verbose...] [--quiet] [--timeout <arg>] 
                <action> 

GLOBAL OPTIONS:
 -h, --help       Show this help 
     --version    Print the version of this program 
 -v, --verbose    Increase verbosity of output, can be repeated 
 -q, --quiet      Only output necessary information and errors 
 -t, --timeout <arg>  Override the default connect/disconnect timeout (in 
                  milliseconds) 

---- LOCATIONS:
     List all available VPN locations 

USAGE: expresso [options] locations 

---- STATUS:
     Show the current VPN connection status 

USAGE: expresso [options] status 

---- CONNECT:
     Connect to a VPN location 

USAGE: expresso [options] connect [--change] [--random] [--toggle] [<location>] 

OPTIONS:
 -c, --change     Change current location when already connected 
     --random     Choose a random location in the given country 
     --toggle     Disconnect instead when already connected (to the given 
                  location with --change) 
 <location>       Location to connect to, either location id, country or 
                  keyword 

---- DISCONNECT:
     Disconnect from the current VPN location 

USAGE: expresso [options] disconnect 

---- ALFRED:
     Output the main options for the Alfred workflow 

USAGE: expresso [options] alfred [--locations] 

OPTIONS:
     --locations  Output the locations for the Alfred workflow 

---- REPL:
     Interactively communicate with the helper 

USAGE: expresso [options] repl