さて、前回の記事で紹介したレジストリをいじってプロキシ設定をする方法を実装し、さらにネットワーク接続状況が変わると自動的にSSIDに応じて設定したプロキシ設定に切り替えてくれるソフトを作りました。それが、SSIDProxyです。
実は、近々閉鎖予定のウェブページにも公開しておりますが、2年以上前に作ったソフトということもあり、大幅にリファクタリングを行いました。というよりプロジェクトを新規で作り直すレベルで作り直しました。私自身、当時よりプログラミングのスキルが上がっているわけですし、C#やその他のライブラリも大きく進化しております。それらを含めて多少の改善と、あとは多少の機能追加も行いました。
というわけで、このSSIDProxyについて説明していきます。
概要
このソフトはWindowsのプロキシの設定を無線LAN接続先のSSIDやMACアドレスによって自動的に変更するソフトです。例えばAndroidなんかは、Wi-Fiの設定の中にプロキシの設定があり、接続先によってプロキシを変更してくれますよね。しかし、WindowsではWi-Fiとプロキシの設定は別物です。それは不便で前時代的。そこでこのSSIDProxy。
SSIDやMACアドレスに応じて適切なプロキシ設定に自動的に切り替えてくれます。たとえば、学校などではプロキシ環境下、家ではプロキシ無しの環境を往復するノートパソコンなどで、いちいち設定する煩わしさから解放してくれます。
使い方
ソフトを起動するとタスクトレイにアイコンが現れます。このアイコンを右クリックするかダブルクリックで設定画面を開きます。
これが設定画面です。ここに「ルール」と呼ばれるものを設定することで、そのルールに従ったプロキシ設定をしてくれます。ルールは基本的にこの表の上へ行くほど優先度が高いですが、「デフォルト」は表のどこにあっても優先度は一番低くなります。複数のデフォルトのルールがある場合は、表の一番上側のものが適用されます。
ルールやその優先順位等は、「追加」「編集」「削除」「上へ」「下へ」のボタンを用いて編集ができます。
追加を押すと、下記のような画面が出てきます。
無線LANのところで、SSIDかMACアドレスかデフォルトを設定します。現在接続しているネットワークがここで設定したSSID、もしくはMACアドレスに一致した場合、このプロキシ設定が適用されます。どれとも一致しなかった場合はデフォルトのものが適用されます。
自動構成、プロキシサーバーのところはWindowsのインターネットオプションから行うプロキシ設定とほぼ同じデザインになっているため、難なく設定できるかと思います。
これで設定ができました。あとは、接続先のネットワークが変更になると自動的にルールに従ってプロキシが切り替わります。
また、強制的に現在のルールに従ってプロキシ設定を変更したい場合は、タスクトレイのアイコンを右クリックして「今すぐルールを適用する」をクリックすればOKです。
ソフトウェア起動時にルールを適用したい場合、"--apply-with-start"をコマンドラインオプションに付けて起動すると起動直後にルールが適用されます。
動作環境
下記の条件をすべて満たしている必要があります。- .NET Framework 4.5.1以上
- Windows Vista以上のWindows
- Wi-Fiデバイスが付いており、正常に動作していること
インストール・アンインストール方法
インストーラは特別用意しておりませんので、適当なフォルダに解凍してお使いください。スタートアップに設定し、常駐させると便利です。起動時にルールを適用するには、"--apply-with-start"をコマンドラインオプションに付けてください。また、アンインストールはそのまま削除していただくだけで大丈夫です。
使用ライブラリ
このソフトウェアは下記のライブラリを使用しております。- Livet
- Reactive Property
- WPF NotifyIcon
- Extended WPF Toolkit
- Managed Wifi API
- Managed Native Wifi
(Managed Wifi APIの派生ライブラリ)※ - PushBinding
※11/14追記:Managed Native Wifiの作者様より、派生ライブラリではない旨のご指摘をいただきましたので訂正いたしました。十分に確認しておらず誤ったことを記してしまい大変申し訳ございませんでした。なお、アプリケーションのバイナリについては次期バージョンより訂正させていただきます。
免責事項
このソフトウェアを使用することによって発生したいかなるトラブル(データ喪失、パソコン故障、データ流出等)についても、作成者は責任を負わないものといたします。特に、このソフトウェアは独自研究によるレジストリ編集を行っているため、その方法が完全ではなかったり、Windowsのバージョン・システム構成等の環境によって正常に動作しない可能性があります。場合によっては重大なトラブルを引き起こす可能性がありますので、そのようなリスクをご承知の上、ご利用ください。なお、このソフトウェアを起動した時点で、免責事項を読んだかどうかにかかわらず、これらの免責事項に同意したものとみなします。
今バージョンでの追加機能
- 日本語SSIDに対応
- アクセスキー(アクセラレータキー)に対応
- ルールの編集、順序変更機能を実装
- その他細かなリファイン、ソースコードの全面的なリファクタリング
0 件のコメント:
コメントを投稿