Last active
August 19, 2019 05:17
-
-
Save Jeff2Ma/41e84e09f7189dd5f24a to your computer and use it in GitHub Desktop.
Automatic proxy configuration set pac file with applescript & shell script http://devework.com/automatic-proxy-configuration-pac-applescript.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
tell application "System Events" | |
tell network preferences | |
do shell script "scselect 'Dorm'" | |
do shell script "sudo networksetup -setairportpower AirPort on" user name "用户名" password "密码" with administrator privileges | |
do shell script "open /Applications/Shad**socksX.app" user name “用户名" password "密码" with administrator privileges | |
end tell | |
end tell |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
tell application “Shad**socksX" | |
quit | |
end tell | |
tell application "System Events" | |
tell network preferences | |
do shell script "scselect 'Office'" | |
do shell script "sudo networksetup -setairportpower AirPort on" user name “用户名" password "密码" with administrator privileges | |
do shell script "/Users/name/documents/setpac.sh" user name “用户名" password "密码" with administrator privileges | |
end tell | |
end tell |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
#################################################################################################### | |
# | |
# More information: https://macmule.com/2014/12/07/how-to-change-the-automatic-proxy-configuration-url-in-system-preferences-via-a-script/ | |
# | |
# GitRepo: https://github.com/macmule/setAutomaticProxyConfigurationURL | |
# | |
# License: http://macmule.com/license/ | |
# | |
#################################################################################################### | |
# HARDCODED VALUES ARE SET HERE | |
autoProxyURL=“PAC 文件路径" | |
# CHECK TO SEE IF A VALUE WAS PASSED FOR $4, AND IF SO, ASSIGN IT | |
if [ "$4" != "" ] && [ "$autoProxyURL" == "" ]; then | |
autoProxyURL=$4 | |
fi | |
# Detects all network hardware & creates services for all installed network hardware | |
/usr/sbin/networksetup -detectnewhardware | |
IFS=$'\n' | |
#Loops through the list of network services | |
for i in $(networksetup -listallnetworkservices | tail +2 ); | |
do | |
# Get a list of all services beginning 'Ether' 'Air' or 'VPN' or 'Wi-Fi' | |
# If your service names are different to the below, you'll need to change the criteria | |
if [[ "$i" =~ 'Ether' ]] || [[ "$i" =~ 'Air' ]] || [[ "$i" =~ 'VPN' ]] || [[ "$i" =~ 'Wi-Fi' ]] ; then | |
autoProxyURLLocal=`/usr/sbin/networksetup -getautoproxyurl "$i" | head -1 | cut -c 6-` | |
# Echo's the name of any matching services & the autoproxyURL's set | |
echo "$i Proxy set to $autoProxyURLLocal" | |
# If the value returned of $autoProxyURLLocal does not match the value of $autoProxyURL for the interface $i, change it. | |
if [[ $autoProxyURLLocal != $autoProxyURL ]]; then | |
/usr/sbin/networksetup -setautoproxyurl $i $autoProxyURL | |
echo "Set auto proxy for $i to $autoProxyURL" | |
fi | |
fi | |
# Enable auto proxy once set | |
/usr/sbin/networksetup -setautoproxystate "$i" on | |
echo "Turned on auto proxy for $i" | |
done | |
unset IFS | |
# Echo that we're done | |
echo "Auto proxy present, correct & enabled for all targeted interfaces" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
参考文章:
http://devework.com/automatic-proxy-configuration-pac-applescript.html