mirror of
https://github.com/samsonjs/vibetunnel.git
synced 2026-04-11 12:15:53 +00:00
47 lines
No EOL
1.5 KiB
Bash
Executable file
47 lines
No EOL
1.5 KiB
Bash
Executable file
#!/bin/bash
|
|
# VibeTunnel CLI wrapper
|
|
|
|
# Try standard locations first, but verify the binary exists
|
|
APP_PATH=""
|
|
for TRY_PATH in "/Applications/VibeTunnel.app" "$HOME/Applications/VibeTunnel.app"; do
|
|
if [ -d "$TRY_PATH" ] && [ -f "$TRY_PATH/Contents/Resources/vibetunnel" ]; then
|
|
APP_PATH="$TRY_PATH"
|
|
break
|
|
fi
|
|
done
|
|
|
|
# If not found in standard locations with valid binary, search for it
|
|
if [ -z "$APP_PATH" ]; then
|
|
# First try DerivedData (for development)
|
|
for CANDIDATE in $(find ~/Library/Developer/Xcode/DerivedData -name "VibeTunnel.app" -type d 2>/dev/null | grep -v "\.dSYM" | grep -v "Index\.noindex"); do
|
|
if [ -f "$CANDIDATE/Contents/Resources/vibetunnel" ]; then
|
|
APP_PATH="$CANDIDATE"
|
|
break
|
|
fi
|
|
done
|
|
|
|
# If still not found, use mdfind as last resort
|
|
if [ -z "$APP_PATH" ]; then
|
|
for CANDIDATE in $(mdfind -name "VibeTunnel.app" 2>/dev/null | grep -v "\.dSYM"); do
|
|
if [ -f "$CANDIDATE/Contents/Resources/vibetunnel" ]; then
|
|
APP_PATH="$CANDIDATE"
|
|
break
|
|
fi
|
|
done
|
|
fi
|
|
|
|
if [ -z "$APP_PATH" ]; then
|
|
echo "Error: VibeTunnel.app with vibetunnel binary not found anywhere on the system" >&2
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
# Execute vibetunnel from app bundle
|
|
VIBETUNNEL_BIN="$APP_PATH/Contents/Resources/vibetunnel"
|
|
if [ ! -f "$VIBETUNNEL_BIN" ]; then
|
|
echo "Error: vibetunnel binary not found in app bundle at $VIBETUNNEL_BIN" >&2
|
|
exit 1
|
|
fi
|
|
|
|
# Run with fwd command
|
|
exec "$VIBETUNNEL_BIN" fwd "$@" |