web-dev-qa-db-ja.com

Mac OSでコマンドラインを使用してプロキシ設定を変更する方法

Mac OSを使用していますが、プロキシを使用して作業を行う必要がある場合があるため、プロキシ設定を頻繁に変更する必要があります。しかし、システム環境設定でプロキシ設定を変更するのは非常に面倒です。

コマンドラインを使用してプロキシ設定を変更する方法はありますか?シェルコマンドまたはいくつかのツールを使用しますか?

22
flanker

編集:私はあなたが実際にはMac OS XではなくMac OS Xを意味すると想定しています。

コマンドラインツール 'networksetup'を使用できます。

そのためのマンページがあります-networksetup(8)

man networksetup

あなたはそこにプロキシ設定のための多くのオプションがあります:

              [-setftpproxy networkservice domain portnumber authenticated username password]
              [-setftpproxystate networkservice on | off] [-getwebproxy networkservice]
              [-setwebproxy networkservice domain portnumber authenticated username  password]
              [-setwebproxystate networkservice on | off] [-getsecurewebproxy networkservice]
              [-setsecurewebproxy networkservice domain portnumber authenticated username password]
              [-setsecurewebproxystate networkservice on | off] [-getstreamingproxy networkservice]
              [-setstreamingproxy networkservice domain portnumber authenticated username password]
              [-setstreamingproxystate networkservice on | off] [-getgopherproxy networkservice]
              [-setgopherproxy networkservice domain portnumber authenticated username password]
              [-setgopherproxystate networkservice on | off] [-getsocksfirewallproxy networkservice]
              [-setsocksfirewallproxy networkservice domain portnumber authenticated username password]
              [-setsocksfirewallproxystate networkservice on | off] [-getproxybypassdomains networkservice]
              [-setproxybypassdomains networkservice domain1 [domain2] [...]] [-getpassiveftp networkservice]

あるいは、wgetやcurlなどのプロキシを設定するだけの場合は、かなり一般的な 'http_proxy'および 'ftp_proxy'環境変数を使用できます。

たとえばbashの場合:

export http_proxy=http://my.proxy.com:1234

ここで、「1234」はポート番号です。

乾杯

sc。

25
swisscheese

Networksetupを使用してプロキシを設定する:(networksetup -listallnetworkservices この前に)

networksetup -setwebproxy "Wi-fi" 127.0.0.1 8080

必要に応じて、次の構文で認証を設定できます。[-setwebproxy networkservice domain portnumber authentication username username password]

プロキシをオンまたはオフにする:

networksetup -setwebproxystate "Wi-fi" off

プロキシのステータスを表示します。

networksetup -getwebproxy "Wi-Fi"
6

SOCKS5プロキシの特定のケース(つまり、ssh -Dまたはshadowsocksで生成されたタイプ)に対する swisscheese の回答を拡張します。

たとえば、プロキシサーバーを構成したとします。

???? インターフェース名は大文字と小文字を区別しません

networksetup -setsocksfirewallproxy wi-fi localhost 1080

あなたは後でそれをオフにすることができます

networksetup -setsocksfirewallproxystate wi-fi off

その後に戻って

networksetup -setsocksfirewallproxystate wi-fi on

つまり最初のコマンドは一度だけ実行する必要があり、その後、必要に応じてプロキシをアクティブ化/非アクティブ化できます。

4
ccpizza

プロキシレスネットワーク環境を作成します。[システム環境設定]の[ネットワーク]ペインで、[プロファイル]ドロップダウンをクリックし、[プロファイルの管理…]を選択します。 (リストの下部にある歯車ボタンをクリックして)標準設定を複製します。複製したプロファイルに一意の名前を付けます(「プロキシレス」など)。そのプロファイルの設定ですべてのプロキシを無効にします。

新しいプロファイルにキーボードショートカットを割り当てます。[システム環境設定]の[キーボード]ペインで、「すべてのアプリケーション」の新しいアプリケーションショートカットを作成します。プロフィールのように名前を付け(「プロキシレス」など)、ショートカットを追加します。

ショートカットは、スイッチアプリケーションが少なくとも1回アクティブになるとアクティブになります(システム環境設定にいる間は、ショートカットはアクティブになりません)。

1
Canisio