旅行 経理 求人

Buronto@Proxy Pac Server”

foo4, cyuu ni byou∩( ´∀`)∩


本ソフトは、ブラウザーの .pac ファイルのURL要求のみに応答する簡易サーバーです。 (*Proxy機能はありません。(・ω・)) ■特徴 本ソフトは、ブラウザーの .pac ファイルのURL要求のみに応答する簡易サーバーです。 (*Proxy機能はありません。) ブラウザー(Firefox,IE等)に .pac ファイルのURLを指定し 自動プロキシ URL を自動切替えをしたい場合があると思います。 (ノートPCを、自宅と会社、学校などで持ち運んで使う場合、ネットワークの接続環境が変わり ブラウザーの設定を、毎回変更しないといけない場合とか?。 どういうシチュエーションで必要となるかは謎ですが・・w。) とにかく、その際に、問題になるのが、設定ファイル .pac はどこに置いておく必要が あるかということです。 (*Apacheをインストールし、 .pac ファイルを配置して置くのも一つの手段です。) なお、pacファイルをカスタマイズする知識が必要となります。 私もよく理解していません(笑)。 この辺りを参考にして頂ければいいと思います。 マイクロソフトcorpexjs.htm プロキシー自動構成スクリプトを作成 pacファイルは、"pac/myproxy.pac"をカスタマイズして下さい。 myproxy.pacファイル名は変更できません。
ダウンロード
2009/04/161c7f95033567b2dada1c459a24f0c549WindowsXP,vista,未確認(98,2000)firefox3,IE7,IE8,safari,opera9,
googlechrome1,Sleipnir284等のブラウザー
buronto.1.0.0.zip
*再配布不可。
図解
■図1 社内でお使いのブラウザーにPacサーバを利用しているところもあります。 @ブラウザーはPACサーバに問い合わせします。 APACサーバはスクリプトを応答します。 BCブラウザーはスクリプトに従って、社内サーバ、Proxyサーバを切り替えます。 本ソフト(BURONTO)は、図1のPACサーバの代理機能です。 スクリプトはユーザが用意する必要があります。 ■図2 @ブラウザーは、PACサーバの代理となるBURONTOアプリに問い合わせします。 APACサーバの代理となるBURONTOアプリは、スクリプトを応答します。 BCブラウザーはスクリプトに従って、社内サーバ、Proxyサーバを切り替えます。 ■図3 @ブラウザーは、PACサーバの代理となるBURONTOアプリに問い合わせします。 APACサーバの代理となるBURONTOアプリは、スクリプトを応答します。 Bブラウザーはスクリプトに従って、外部のネットワークに接続します。 このように、現在使用しているネットワーク環境が、「社内」か、「自宅」かを判断し 接続先を切り替えるスクリプトをユーザが用意してください。 以上まとめますと。 本ソフトは、ブラウザーからのPACファイルの要求に対して ユーザが用意したスクリプトを応答するだけの PACサーバです。
説明
1. インストール方法 2. FireFoxのプロクシ設定 3. IE7のプロクシ設定 4. スタートアップの登録方法 5. 使い方 6. Port番号を変えたい場合 7. Myproxy.pacの設定
#インストール方法 適当なフォルダーに解凍してください。 *注意。Buronto.exeは、pacフォルダと同じフォルダにおく必要があります。 Buronto.exe  pac\ buronto.ini pac\ myproxy.pac 次に、ブラウザー(FireFox、IE等)のプロクシ設定して下さい。 丸印のマークが出ればOKです。 アンインストールする際は、ダウンロードしたフォルダ毎削除して下さい。
#FireFoxのプロクシ設定 firefox3の場合。 メニュウ[ツール]→[オプション]→[詳細]→[ネットワーク]→[接続設定] 自動プロキシ設定スクリプトURLをチェックし http://127.0.0.1:1122/myproxy.pac と入力します。 以上です。
#IE7のプロクシ設定 メニュウ[ツール]→[インターネットオプション]→[接続]→[LANの設定] 自動構成スクリプトを使用するにチェックし http://127.0.0.1:1122/myproxy.pac と入力します。 以上です。
#スタートアップの登録方法 「スタートアップ」にアプリケーションを登録しておくと、Windowsを起動したときに そのアプリケーションも起動することができます。 面倒ですが、手動でお願いします・・。。 ここでは、WindowsXP,Vistaの登録方法を紹介します。 [WindowsXPの登録方法] C:\Documents and Settings\「ユーザ名」\スタート メニュー\プログラム\スタートアップ のフォルダに、ショートカットを作成して下さい。 [Windows Vistaの登録方法] スタート?プログラムの中のスタートアップを右クリック?開くを選択して、 起動させたいプログラムのショートカットを入れて下さい。 s
#使い方 通知アイコン上で右クリックするとメニュウが表示されます。 ヘルプ・・説明アプリが起動。 PACサーバ停止・・ブラウザーからmyproxy.pacの要求があっても応答しません。 終了・・Buronto.exeを終了します。
#port番号を変えたい場合。 デフォルトでは、1122としていますが。port番号を変更したい場合は "pac/buronto.ini"のport番号の値を変更してください。 仮にport=2009とした場合。 #------------------------------------- # ローカルでburonto.exeサーバが # 使用するport番号を記入して下さい。 #------------------------------------- port=2009 とします。 port番号を変更した場合は、Burontoを再起動し、 http://127.0.0.1:2009/myproxy.pac と入力し、"myproxy.pac"の中身がみえるか確認してください。 表示されればport番号の変更は成功です。 (*配布しているhelpでは、myproxyとなっていましたが、myproxy.pacです。)
#myproxy.pacの設定 myproxy.pacの、詳細設定を知りたい方は以下のページを見て下さい。 http://www.microsoft.com/windows/windows2000/ja/server/help/corpexjs.htm 以下、抜粋。 例 1 - ローカル ホストは直接接続し、それ以外はプロキシ サーバーを経由して接続する 次の関数は、ホスト名がローカル ホストかどうかをまず調べます。ローカル ホストの場合は、 次に直接接続であるかどうかをチェックします。ホスト名がローカル ホストでない場合は、 プロキシ サーバー (proxy) を経由して接続します。 function FindProxyForURL(url, host) { if (isPlainHostName(host)) return "DIRECT"; else return "PROXY proxy:80"; } 例 2 - ファイヤウォールの内側にあるホストは直接接続し、 外側にあるローカル サーバーはプロキシを経由して接続する 次の関数は、ホストが "plain" (ホスト名にドメイン名が含まれていない) かどうか、 またホスト名が "www" および "home" 以外で特定のドメイン (.company.com) の一部になっているかどうかを調べます。 function FindProxyForURL(url, host) { if ((isPlainHostName(host) || dnsDomainIs(host, ".company.com")) && !localHostOrDomainIs(host, "www.company.com") && !localHostOrDoaminIs(host, "home.company.com")) return "DIRECT"; else return "PROXY proxy:80"; } 例 3 - ホスト名の名前解決が可能な場合は直接接続し、不可能な場合は プロキシ サーバーを経由して接続する 次の関数は、DNS サーバーにホスト名を渡し、名前の解決を要求します。名前を解決できる場合は、 直接接続を確立します。解決できない場合は、プロキシサーバーを経由して接続します。 この方法は、内部の DNS サーバーを使用して内部のすべてのホスト名を解決する場合に便利です。 function FindProxyForURL(url, host) { if (isResolvable(host)) return "DIRECT"; else return "PROXY proxy:80"; } 例 4 - 指定したサブネットの中にホストがある場合は直接接続し、 それ以外の場合はプロキシ サーバーを経由して接続する 次の関数は、指定された IP アドレスを、パターンおよびマスクを使用して、 ホスト名と比較します。この方法を使用すると、サブネット内の特定のホストは 直接接続し、それ以外の場合はプロキシ サーバーを経由して接続することができます。 function FindProxyForURL(url, host) { if (isInNet(host, "999.99.9.9", "255.0.255.0")) return "DIRECT"; else return "PROXY proxy:80"; } 例 5 - ホストのドメインに基づいて接続のタイプを決定する 次の関数は、ホストがローカルな場合、直接接続します。 それ以外の場合は、ホストのドメインに応じて使用する プロキシ サーバーを選択します。この方法は、 ホストのドメイン名によってプロキシ サーバーを選択する場合に便利です。 function FindProxyForURL(url, host) { if (isPlainHostName(host)) return "DIRECT"; else if (shExpMatch(host, "*.com")) return "PROXY comproxy:80"; else if (shExpMatch(host, "*.edu")) return "PROXY eduproxy:80"; else return "PROXY proxy"; } 例 6 - 使用するプロトコルに基づいて接続のタイプを選択する 次の関数は、使用しているプロトコルのタイプを取得し、それに従ってプロキシ サーバーを選択します。 一致するプロトコルがない場合は、直接接続します。この方法は、使用しているプロトコルに応じて プロキシ サーバーを選択する場合に便利です。 function FindProxyForURL(url, host) { if (url.substring(0, 5) == "http:") { return "PROXY proxy:80"; } else if (url.substring(0, 4) == "ftp:") { return "PROXY fproxy:80"; } else if (url.substring(0, 7) == "gopher:") { return "PROXY gproxy"; } else if (url.substring(0, 6) == "https:") { return "PROXY secproxy:8080"; } else { return "DIRECT"; } } 例 7 - ホスト名が IP アドレスと一致するかどうかを調べ、プロキシの設定値を決定する 次の関数は、ホスト名を IP アドレスに変換した後、指定された文字列と比較して、 プロキシ サーバーを選択します。 function FindProxyForURL(url, host) { if (dnsResolve(host) == "999.99.99.999") { // = http://secproxy return "PROXY secproxy:8080"; } else { return "PROXY proxy:80"; } } 例 8 - 指定した IP アドレスとホストの IP アドレスが一致する場合はプロキシ サーバーを 経由して接続し、一致しない場合は直接接続する 次の関数でも、IP アドレスに応じてプロキシ サーバーを選択します。ただし、例 7 とは異なり、 関数呼び出しにより IP アドレスを数値として明示的に取得します。例 7 では、dnsResolve() 関数を 使用して、ホスト名を IP アドレス (数値) に変換しています。 function FindProxyForURL(url, host) { if (myIpAddress() == "999.99.999.99") { return "PROXY proxy:80"; } else { return "DIRECT"; } }
#その他 蛇足。 とくになし。
履歴・課題
2009/04/16 ver.1.0.0 公開
旧ver