• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

jimbojsb/launchrocket: A Mac PrefPane to manage all your Homebrew-installed serv ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

jimbojsb/launchrocket

开源软件地址:

https://github.com/jimbojsb/launchrocket

开源编程语言:

Objective-C 100.0%

开源软件介绍:

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.




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap