isEOL(@Angelworm_)

this method describes @Angelworm_ is End Of Life

Macのシステム環境設定をコマンドラインの環境設定に反映する奴

書いた

これは?

前日書いた奴の逆。システム環境設定をコマンドラインに反映するツール

不思議な事に、rsyncwgetなどといったツールは、OSの基本設定とかあまり読んでくれないようです。なのでシステム環境設定で「プロキシの自動設定」とか設定していても、wgetはダイレクト接続しようとしてくる訳ですね。せめてブラウザ的にシステムの設定を読むオプションぐらい有っても良い気はするのですが。

さて、ではプロキシの自動設定によって設定されるプロキシをHTTP_PROXYなりに設定すれば良いじゃんって話なのかというとそうでも無いようで、プロキシの自動設定の仕様では、案外(wgetから見たら)楽ではない事が分かります。自動設定プロキシは、実際には"http://wpad/wpad.dat"というURLのファイルを探し、存在するならば取得します。ここで問題なのは、wpad.datはJavascriptで書かれている上に、「与えたURLに対して適切なプロキシのリストを返すスクリプト」である事です。よってJSの実行環境を持たない単純なコマンド程度ではどうしようも無い訳ですね。ネイティブアプリとかでは対応しているくらいですからOSの仕事です。

とりあえず適当なURLからそれに使われるプロキシの一覧はMacフレームワークを使えば取れるので、せめて一般的なプロキシ設定からHTTP_PROXYを設定するようなのを書いた。

使う

scwrap cmd [cmdargs..]

cmdをenvとして実行すると、(設定されているなら)HTTP_PROXYが上書きされていると思います。

こまめにネットワーク環境を変更する人とかは、毎回HTTP_PROXYを設定しなくて済むので楽になると思います。