• This repository has been archived on 27/Feb/2020
  • Stars
    star
    3,077
  • Rank 14,549 (Top 0.3 %)
  • Language
    Objective-C
  • License
    MIT License
  • Created about 12 years ago
  • Updated about 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Mac PrefPane to manage all your Homebrew-installed services

LaunchRocket

A Mac PreferencePane for managing services with launchd. For an introduction on launchd, see launchd.info. LaunchRocket was primarily created for managing various services installed by Homebrew, though it should work with most launchd-compatible plists.

Of particular note is the ability to run some services as root. With Homebrew, most services can simply run as the current user, and this is the desired behavior for a development environment. However, some services (dnsmasq) require being bound to privileged ports, and others (nginx, apache) don't require it, but might in some circumstances. For example, many times it's just easier to run Apache on port 80 and 443 than to deal with code that might not like port numbers in the URLs. I recommend you only run things as root if you absolutely must, to get them working properly.

LaunchRocke Screenshot

Features

  • Green/Yellow/Red status indicators
    • Green - launchctl reports process is running
    • Yellow - LaunchRocket is current executing or waiting on a start/stop command
    • Red - launchctl reports process is not running
  • Start/Stop buttons
    • Dynamically updates state based on running state of service
  • As Root option
    • Checking this will cause launchrocket to use root privileges to access launchctl
    • Checking this will NOT restart a running service automatically as root
    • LaunchRocket will prompt you to authenticate and elevate privileges
      • We ask for credentials as seldom as possible, however when launchrocket loads, it checks the current status of every service it's tracking. This means that if you have services running as root, it will prompt you for credentials immediately on load, as an unprivileged account cannot even list launchd services run by a privileged one
  • Preferences file
    • LaunchRocket stores a preferences file in ~/Library/Preferences/com.joshbutts.launchrocket.plist

Installing

Requirements

  • OS X 10.7 or above
  • Gatekeeper must be set to allow all apps to run (See issues #3 and #25)

The binary release should work on Mac OSX 10.7.0 and above, and might even work on older versions, though it has not been tested on those. The latest builds are compiled on 10.9.1 and targeted at 10.7 in Xcode.

Direct Download

Download and unzip the binary release from the release page

Note: This zip was created with Finder's "Compress" utility. I've heard that there are issues unzipping it with other tools. I will try to provide a more compatible zipfile on the releases page. (related info here)

Homebrew

Launchrocket is available as a Cask for Homebrew Cask. As of 3/3/2014 it is no longer maintained in my personal tap, and is now available in the main Homebrew Cask repo.

brew cask install launchrocket

Further information about running as root

LaunchRocket uses an AppleScript helper to obtain root privileges. This is a hacky way of accomplishing it, but it avoids having to actually install a privileged helper outside of the prefpane bundle with SMJobBless and is WAY simpler. This is not the most secure approach and does not use code signing. As such, it is possible that if LaunchRocket's AppleScript helper has cached your privileged authorization, another application maliciously address that helper and request it execute other commands with root level privileges. I considered this a reasonable tradeoff between security, usability and code simplicity. Closing System Preferences or simply switching back to the main view will terminate the helper and drop privileges. If you don't have anything running as root, no programs can request that the helper execute code with privilieges without triggering a credential prompt.

Contributing

Found a bug? File an issue and I'll take a look. Pull requests are welcome. If you'd like to chat about a feature or issue, I can sometimes be found in #launchrocket on Freenode.

More Repositories

1

pseudo

A system for mocking PHP PDO connections
PHP
67
star
2

bstools

PHP
62
star
3

workman

PHP Process Forking & Daemonizing Library
PHP
58
star
4

emogrify

PHP library to inline css in emails
PHP
16
star
5

traefik-docker-local-dev

9
star
6

yak

PHP/Mysql/PDO database migration tool
PHP
8
star
7

craft-db-snapshot

PHP
7
star
8

configulator

A lightweight configuration and service manager for PHP
PHP
5
star
9

swurl

PHP URL parser and manipulator
PHP
5
star
10

wp-docker-demo

PHP
4
star
11

laravel-docker-demo

PHP
4
star
12

ibus

Golang implementation of BMW iBus interface
Go
4
star
13

bgphp-2011

PHP
4
star
14

laravel-docker

Dockerfile
4
star
15

docker-vm

Shell
4
star
16

beginning-php

PHP
4
star
17

spray

PHP
4
star
18

homebrew-launchrocket

Ruby
3
star
19

middleware-talk

PHP
3
star
20

zendcon-docker

PHP
3
star
21

intermodal

The best way to run Docker on a Mac
Objective-C
3
star
22

scale-php-with-redis

PHP
2
star
23

rapid

A PHP middleware router dispatcher inspired by Express.js
PHP
2
star
24

launchrocket-plists

Custom plists for using binary distributions with LaunchRocket
2
star
25

intphp-2012

PHP
2
star
26

piano

PHP
2
star
27

teleraffles

Twilio Powered Raffler
PHP
2
star
28

ibus-master-node

Arduino BMW IBus IKE emulator for bench testing
C++
2
star
29

ibus-simulator

Golang serial emulator for BMW iBus protocol
Go
2
star
30

do-ddns-docker

Dynamic DNS updater for Digital Ocean, in a Docker container
PHP
1
star
31

mysql-docker-dev

Dockerfile
1
star
32

phpweb-docker-demo

PHP
1
star
33

ibus_datalogger

Arduino data logger for BMW Ibus
Arduino
1
star
34

jimbojsb.github.com

GH Pages
1
star
35

modela

A CouchDB ODM for PHP
PHP
1
star
36

adore

PHP
1
star
37

github-repo-events

PHP
1
star
38

phpcli-docker-demo

PHP
1
star
39

laravel-docker-server

1
star
40

intermodal-fsevents

Go
1
star
41

magicbeans

Tiny PHP webapp to manage beanstalkd instances. Intended to run in a Docker container
Go
1
star
42

baseimage-laravel

Dockerfile
1
star