使用脚本判断 Surge VPN 状态并重启
macOS 上 Surge VPN 偶尔会断开
此脚本将先尝试重载配置, 然后尝试重启 App
可配合 Keyboard Maestro 自动化在唤醒系统后检测并重启
#! /usr/bin/env bash
# 检查 Surge 连接状态的函数
check_surge_status() {
# 获取 Surge 的网络服务名称
local surge_service=$(networksetup -listallnetworkservices| grep Surge)
# 获取 Surge 的网络服务状态
local surge_status=$(networksetup -showpppoestatus "$surge_service")
if [ "$surge_status" = "connected" ]; then
echo 0
else
echo 1
fi
}
if [ $(check_surge_status) -eq 0 ]; then
echo "✅ Surge 已连接"
else
# echo "❌ Surge 未连接"
echo "🔄 尝试重载配置"
/Applications/Surge.app/Contents/Applications/surge-cli reload
# echo "重载配置完成"
sleep 2
if [ $(check_surge_status) -eq 0 ]; then
echo "✅ Surge 已连接"
else
# echo "❌ Surge 未连接"
echo "🔄 尝试重启 Surge"
/Applications/Surge.app/Contents/Applications/surge-cli stop
open -a Surge
osascript -e 'tell application "Surge" to set visible of its first window to false'
sleep 2
if [ $(check_surge_status) -eq 0 ]; then
echo "✅ Surge 已连接"
else
echo "❌ Surge 未连接"
fi
fi
fi
🤭 macOS 合集 🧐 频道资源合集 😄 恰饭推荐 💬 群组
🥰 #Mac #macOS #App #VPN #Surge
macOS 上 Surge VPN 偶尔会断开
此脚本将先尝试重载配置, 然后尝试重启 App
可配合 Keyboard Maestro 自动化在唤醒系统后检测并重启
#! /usr/bin/env bash
# 检查 Surge 连接状态的函数
check_surge_status() {
# 获取 Surge 的网络服务名称
local surge_service=$(networksetup -listallnetworkservices| grep Surge)
# 获取 Surge 的网络服务状态
local surge_status=$(networksetup -showpppoestatus "$surge_service")
if [ "$surge_status" = "connected" ]; then
echo 0
else
echo 1
fi
}
if [ $(check_surge_status) -eq 0 ]; then
echo "✅ Surge 已连接"
else
# echo "❌ Surge 未连接"
echo "🔄 尝试重载配置"
/Applications/Surge.app/Contents/Applications/surge-cli reload
# echo "重载配置完成"
sleep 2
if [ $(check_surge_status) -eq 0 ]; then
echo "✅ Surge 已连接"
else
# echo "❌ Surge 未连接"
echo "🔄 尝试重启 Surge"
/Applications/Surge.app/Contents/Applications/surge-cli stop
open -a Surge
osascript -e 'tell application "Surge" to set visible of its first window to false'
sleep 2
if [ $(check_surge_status) -eq 0 ]; then
echo "✅ Surge 已连接"
else
echo "❌ Surge 未连接"
fi
fi
fi
🤭 macOS 合集 🧐 频道资源合集 😄 恰饭推荐 💬 群组
🥰 #Mac #macOS #App #VPN #Surge