Skip to content

Instantly share code, notes, and snippets.

@liushuaikobe
Created March 30, 2016 09:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save liushuaikobe/3cbff45c3dd512d131e5eab5fc15286f to your computer and use it in GitHub Desktop.
Save liushuaikobe/3cbff45c3dd512d131e5eab5fc15286f to your computer and use it in GitHub Desktop.
#!/bin/bash
PWD=<YOUR-PASSWORD>
SERVICE=Wi-Fi
surgeIP="127.0.0.1"
surgePORT="6152"
surgePASS_DOMAIN=(127.0.0.1 192.168.0.0/16 10.0.0.0/8 172.16.0.0/12 localhost *.local)
ssURL="http://127.0.0.1:8090/proxy.pac"
function surge () {
if [[ -z $1 ]]; then
return
fi
if [[ $1 == on ]]; then
echo $PWD | sudo -S networksetup -setwebproxy "$SERVICE" "$surgeIP" "$surgePORT" off
echo $PWD | sudo -S networksetup -setsecurewebproxy "$SERVICE" "$surgeIP" "$surgePORT" off
echo $PWD | sudo -S networksetup -setproxybypassdomains "$SERVICE" "${surgePASS_DOMAIN[@]}"
echo $PWD | sudo -S networksetup -setwebproxystate "$SERVICE" on
echo $PWD | sudo -S networksetup -setsecurewebproxystate "$SERVICE" on
else
echo $PWD | sudo -S networksetup -setwebproxystate "$SERVICE" off
echo $PWD | sudo -S networksetup -setsecurewebproxystate "$SERVICE" off
echo $PWD | sudo -S networksetup -setproxybypassdomains "$SERVICE" ""
fi
}
function shadowsocks () {
if [[ -z $1 ]]; then
return
fi
if [[ $1 == on ]]; then
echo $PWD | sudo -S networksetup -setautoproxyurl "$SERVICE" "$ssURL"
echo $PWD | sudo -S networksetup -setautoproxystate "$SERVICE" on
else
echo $PWD | sudo -S networksetup -setautoproxystate "$SERVICE" off
fi
}
function usage () {
echo "Usage:"
echo "To use surge:"
echo " sucks.sh surge"
echo "To use shadowsocks:"
echo " sucks.sh shadowsocks"
}
if [[ $1 == "surge" ]]; then
shadowsocks off
surge on
elif [[ $1 == "shadowsocks" ]]; then
surge off
shadowsocks on
else
usage
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment