1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Macのネットワーク・プロキシ設定を一括で変更する

Posted at

やりたいこと

Mac OS において、複数のネットワークのプロキシ設定を一括で設定する。

動機

フリーアドレスで、かつ各座席で有線接続をする場合(モニタにLANが来て、type-cやThunderboltでつなぐときなど)、有線のネットワーク設定が各座席ごとに生成されるが、プロキシ設定をネットワーク設定(座席)ごとにそれぞれ設定する必要があり、非常に手間だったため。

実際のコード

networksetupというコマンドがあるので、これを使う。
補足1. on,offそれぞれのコードを.shで保存して利用することを想定してコードを書いています。
補足2. 加筆すればGUIで設定できるすべてのネットワーク設定に対応できるはずです。

proxy設定をonする

IFS=$'\n'
networks=`networksetup -listallnetworkservices`

proxy='xxx' # proxyのドメイン名を入れる
port=11111 # proxyのポート番号を入れる
apc='http://hogehoge' # proxyの構成ファイルのURLを入れる

echo "params: proxy: $proxy:$port, auto_proxy_url: $apc"

for svc in $networks; do
  info=`networksetup -getinfo $svc`
  if [ "`echo $info | grep '** Error: The parameters were not valid'`" ]; then
    continue
  elif [ "`echo $svc | grep 'Wi-Fi'`" ]; then
    continue
  fi

  # 自動プロキシ検出
  networksetup -setproxyautodiscovery $svc on
  # 自動プロキシ構成
  networksetup -setautoproxyurl $svc $apc
  # Webプロキシ(HTTP)
  networksetup -setwebproxy $svc $proxy $port
  # 保護されたWebプロキシ(HTTP)
  networksetup -setsecurewebproxy $svc $proxy $port
  # FTPプロキシ
  networksetup -setftpproxy $svc $proxy $port
  
  # 確認
  echo "on proxy setting $svc"

done

proxy設定をoffする

IFS=$'\n'
networks=`networksetup -listallnetworkservices`

for svc in $networks; do
  info=`networksetup -getinfo $svc`
  if [ "`echo $info | grep '** Error: The parameters were not valid'`" ]; then
    continue
  elif [ "`echo $svc | grep 'Wi-Fi'`" ]; then
    continue
  fi

  # 自動プロキシ検出
  networksetup -setproxyautodiscovery $svc off
  # 自動プロキシ構成 -> offはないので空文字に変換
  networksetup -setautoproxystate $svc off
  # Webプロキシ(HTTP)
  networksetup -setwebproxystate $svc off
  # 保護されたWebプロキシ(HTTP)
  networksetup -setsecurewebproxystate $svc off
  # FTPプロキシ
  networksetup -setftpproxystate $svc off

  # 確認
  echo "off proxy setting $svc"
done

参考文献など

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?