在MacOSX上使用Captive Network Assistant连接到VPN

时间:2013-01-30 14:16:03

标签: osx-lion osx-mountain-lion vpn autologin

Apple推出了MacOSX Lion(10.7)的新功能,称为Captive Network Assistant。在我看来,它只是一个无用而烦人的功能。它的目的是帮助您登录需要身份验证的网络(请参阅:Captive Portal),但该功能不存储cookie或保存密码。

在我的大学,我们也使用这样一个网络,要求用户登录。登录不是通过浏览器而是通过VPN进行的,这使得强制网络助手完全无用且烦人。

所以我在这里发布一个指南,介绍如何用实际有用的东西替换这个“功能”,我不希望它迷失并对其他人有用

#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

0 个答案:

没有答案