7

Apple 在 MacOSX Lion (10.7) 中引入了一个新的“功能”,称为 Captive Network Assistant。在我看来,它只是一个无用且令人讨厌的功能。它的目的是帮助您登录需要身份验证的网络(请参阅:强制门户),但该功能不存储 cookie 或保存密码。

在我的大学里,我们也使用这样一个需要用户登录的网络。登录不是通过浏览器而是通过 VPN 进行的,这使得 Captive Network Assistant 完全无用且烦人。

因此,我在此处发布了有关如何用实际有用的东西替换此“功能”的指南,我不希望它迷路并对其他人有用

#1。创建一个名为“Captive Network Assistant”的 bash 脚本,将以下代码粘贴到其中并在/System/Library/CoreServices/Captive Network Assistant.app/Contents/MacOS/处用相同的文件替换您的文件

#!/bin/bash
scriptlocation="/System/Library/CoreServices/Captive Network Assistant.app/Contents/MacOS/vpn.scpt"
osascript "$scriptlocation"

#2。创建一个名为“vpn.scpt”的applescript,将其放在bash-script中提到的路径下,并将以下代码放入其中:

set wlanssid to do shell script "networksetup -getairportnetwork en1 | cut -c 24-"
connectVPN(wlanssid)

on connectVPN(SSID)
    tell application "System Events"
        tell current location of network preferences
            local VPNService
            if (SSID = "XYZXYZ") then --WLANNAME
                set VPNService to service "XYZXYZ-VPN" --VPNNAME
                set isConnected to connected of current configuration of VPNService
                if not isConnected then
                    connect VPNService
                end if
            end if
        end tell
    end tell
end connectVPN

每次您的计算机连接到“强制网络”时都会执行此脚本,如果 WLAN 的 SSID 称为“XYZXYZ”,它将启动名称为 XYZXYZ-VPN 的 VPN-Connection

可以修改脚本以支持多个强制网络。

也可以将 Growl-Notifications 添加到脚本中。我的完整脚本如下所示: http: //pastebin.com/Rtp9EqQR

4

0 回答 0