macos - 在 OSX 上自动启动 ngrok

标签 macos ngrok

我试图在我的 mac mini 启动时自动启动 ngrok。我想也许 OSX 有类似 ubuntu 上的 init-folder 的东西,你可以在其中放置你想要自动启动的脚本,但我还没有找到类似的东西。

有没有办法在 OSX 上启动时运行命令?

最佳答案

您可以创建一个 LaunchDaemon 来在启动时运行 ngrok(如果您想在用户登录后启动 ngrok,则可以创建一个 LaunchAgent)。查看apple docs .

LaunchDaemon 是一个位于 /Library/LaunchDaemons/ 中的 plist。例如,我的 LaunchDaemon (/Library/LaunchDaemons/com.ngrok.onstartup.plist) 看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.ngrok.onstartup</string>

    <key>Program</key>
        <string>/path/to/ngrokd</string>

    <key>KeepAlive</key>
        <true/>

</dict>
</plist>

标签的选择由您决定,只要它唯一标识您的守护程序即可。在此示例中,我的 LaunchDaemon 称为 com.ngrok.onstartup

ngrokd 是一个如下所示的 bash 脚本:

#!/bin/sh
/usr/local/bin/ngrok -log=/path/to/ngrok.log -config=/path/to/ngrok.yml start ssh

您可以通过键入以下内容来检查 launchd 是否启动了您的守护程序:

sudo launchctl list com.ngrok.onstartup

关于macos - 在 OSX 上自动启动 ngrok,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27610878/

相关文章:

objective-c - 如何在视频游戏风格的 Cocoa 应用程序中收集按键输入?

macos - Keychain 在运行 codesign 时总是要求输入密码

tunnel - Ngrok:如何打开端口80

node.js - 使用 localtunnel 并将生成的 url 传递给 Node 命令

alexa-skills-kit - 当我尝试连接 Alexa 时,Ngrok 上出现错误 502 Bad Gateway

localhost - 在Vagrant框上访问ngrok Web界面

macos - 无法在 macOS 上镜像 AVCaptureVideoPreviewLayer

macos - 强制 SCNView 使用 OpenGL

使用 HTTPS 的 Mac 上的 Git 克隆不起作用

html - 使用 ngrok 托管 HTML 文件