Apple は、Captive Network Assistant と呼ばれる MacOSX Lion (10.7) で新しい「機能」を導入しました。私の意見では、それは役に立たず、迷惑な機能です。認証が必要なネットワークへのログインを支援することを目的としています (「キャプティブ ポータル」を参照)。ただし、この機能は 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 スクリプトに記載されているパスの下に配置し、次のコードを内部に配置します。
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 接続を開始します。
スクリプトは、複数のキャプティブ ネットワークをサポートするように変更できます。
また、Growl 通知をスクリプトに追加することもできます。私の完全なスクリプトは次のようになります: http://pastebin.com/Rtp9EqQR