TCP Monitor Plus

TCP Monitor Plusというネットワークモニタがあります。名前はTCPですがTCP専用というわけではありません。トラフィックやセッション情報などがグラフィカルに表示できるフリーソフトです。インストールも必要なく簡単便利なソフトだと思います。

ところで、CGIProxyにセキュアな(httpsな)サイトにアクセスするためにはCGIProxy自体にセキュアに(httpsで)アクセス しなくてはいけないという制限があります。セキュリティを考えれば妥当な制限ですが、個人がサーバにCGIProxyを設置してちょっと使うには厳しい制 限です。

CGIProxy経由でGmailにアクセスしてみたところ、この制限に引っかかってアクセスできませんでした。しかしブラウザを見る限りではGmailでhttpsを使っているようには見えません。

そこでTCP Monitor Plusの登場です。これを使ってセッションを見ればhttpsで通信しているかどうか判明するという仕組みです。

結果としてはhttpsでは通信していませんでした。それならばなぜCGIProxyではhttpsと判断されたかということになりますが、結論と してはGmailのログインページがhttpsだったためです。CGIProxy経由ではcookieが異なるのでログインからということです。せっかく 調べたわりには残念な結果でした。

ここで言っているTCPのセッション情報とはいわゆるnetstatの情報です。Cygwinにもnetstatコマンドがあり、CUIでよければ同じ情報を得ることができます。

CGIProxyで502

CGIProxyという有名なプロキシソフトがあります。perlで書かれたCGIスクリプトで、ウェブサーバに設置するだけでプロキシとして使うことが出来ます。

普通のプロキシサーバはブラウザにサーバを設定することでプロキシサーバ経由でのアクセスを実現しますが、CGIProxyではHTMLなどに含まれるURLをプロキシ経由のURLに書き換えることでプロキシサーバ経由でのアクセスを実現しています。

したがってプロキシサーバの設定ができない携帯からでもプロキシ経由のアクセスが出来て非常に便利かと思いましたが、私の所有するdocomoの携帯でアクセスしてみたところ502 Bad Gatewayでエラーになりました。

CGIProxy経由のアクセスではなく、CGIProxyの入力フォームを表示するだけで502エラーが発生しています。docomoのサーバでなんらかのチェックが行われているのかもしれませんが原因は今のところ不明です。

http経由でSubversion

自分だけで使うにはsvn+sshでのアクセスで十分ですが、不特定多数の人がリポジトリにアクセスできるようにする場合などはhttp経由でアクセスするのが便利だと思います。

http経由でSubversionにアクセスする場合にはmod_dav_svnというapacheのモジュールを使います。私の使っているマシ ンはFedoraですが、既にインストールされていました。インストールされていない場合でもyum install mod_dav_svnで簡単にインストールできます。

設定方法ですが、/etc/httpd/conf.d/subversion.confにmod_dav_svnの設定ファイルがあります。 Apacheの設定ですので別にこのファイルで行う必要はありませんが、Fedoraではこういう運用になっているようです。設定例がコメントに書いてあ りますので、そのコメントを外せば簡単に動かすことが可能です。

<Location /svn>
   DAV svn
   SVNParentPath /var/www/svn
   # Limit write permission to list of valid users.
   <LimitExcept GET PROPFIND OPTIONS REPORT>
      # Require SSL connection for password protection.
      # SSLRequireSSL
      AuthType Basic
      AuthName "Authorization Realm"
      AuthUserFile /var/www/data/svnpasswd
      Require valid-user
   </LimitExcept>
</Location>

一番最初のLocationのところでURLを指定します。SVNParentPathでリポジトリを作成するディレクトリを指定します。この場合 /var/www/svnの下にリポジトリを作ることになります。例えばtestというリポジトリを作る場合は以下のようになります。

$ svnadmin create /var/www/svn/test

そしてAuthUserFileにパスワードファイルをしています。この設定ではチェックアウトは誰でも出来ますがコミットはパスワードが必要になります。パスワードの部分はSubversionとは関係なくBasic認証の設定でhtpasswdを使って行います。

$ htpasswd -c /var/www/data/svnpasswd ユーザ名

実行するとこのユーザ名に対するパスワードの入力を求められるので、パスワードを2回入力します。

以上で作成完了です。思ったよりも簡単でした。WindowsのSubversionクライアントTortoiseSVNを使ってこのリポジトリに 試しにインポートしてみましたが、svn+sshの場合と同様の操作で、アドレスのところをhttp://サーバのアドレス/svn/testとすること でちゃんと動作しました。インポートするときには上で設定したユーザ名とパスワードの入力が必要です。

また、そのインポートした内容はブラウザからアクセスして確認できました。こちらはパスワードは必要ありません。

GOM PLAYER

FLVが再生できるソフトがないかと探していたらGOM PLYAERなるフリーソフト発見しました。内蔵CODECでいろいろ再生できる簡単で便利なフリーの動画再生ソフトという触れ込みのようです。

オフィシャルサイトはこちらです。私は名前も聞いたことがありませんでしたが、2008年度週刊アスキーフリーソフトランキング1位とのことなのでそれなりに有名なソフトではないかと思います。

さくらインターネットにSubversionをインストール

サーバ上でつかっているスクリプトのバージョン管理やウェブサイト自体をバージョン管理するのにSubversionを使いたいと思うことがあると思います。私自身もそう思います。思うだけで使ってませんが。

さくらインターネットのサーバにはデフォルトではSubversionがインストールされていませんが、シェルが自由に使えますのでソースからインストールしてみました。

Subversionのサイトはここです。そこから最新版のソースをダウンロードしました。これを解凍してconfigure, make, make installするとインストールできるはずです。

ところがSubversionはAPRというライブラリを利用していて、さくらインターネットのサーバにはこのAPRが入っていないためエラーに なってしまいます。そこで先にAPRをインストールすることにします。APRというのはApache Portable RuntimeというライブラリでOSなどの環境によらず動くプログラムを作るのに便利な機能を提供しているようです。オフィシャルサイトはここにあります。またダウンロードページはここにあります。自動的にミラーが選択されます。aprという本体とapr-utilというユーティリティに分かれているようです。

またルート権限はありませんのでホームディレクトリの下にlocalというディレクトリを作成してそこにインストールすることにします。以上をまとめると以下の手順になります。

wget http://www.meisei-u.ac.jp/mirror/apache/dist/apr/apr-1.3.3.tar.gz
tar zxvf apr-1.3.3.tar.gz
cd apr-1.3.3
./configure –prefix=$HOME/local
make
make install
cd ..
wget http://www.meisei-u.ac.jp/mirror/apache/dist/apr/apr-util-1.3.4.tar.gz
tar zxvf apr-1.3.3.tar.gz
cd apr-1.3.3
./configure –prefix=$HOME/local –with-apr=$HOME/local
make
make install
cd ..
wget http://subversion.tigris.org/downloads/subversion-1.5.5.tar.gz
tar zxvf subversion-1.5.5.tar.gz
cd subversion-1.5.5
./configure –prefix=$HOME/local –with-apr=$HOME/local –with-apr-util=$HOME/local
make
make install

あとは$HOME/local/binにパスを通せば普通にsvnが使用できます。

Gmail

Gmailでトラブルが発生したニュースを見て初めてGmailにログインしてみました。普通にメールソフトのようです。またしてもアプリケーションとウェブサイトの差の縮まりを感じる瞬間でした。とりあえず日常的な使用予定はありません。

Googleリーダーでもそうですが、Googleのサイトはクッキーが使えないとアクセスできないのが残念です。こういうサイトは携帯からも使えると利便性が格段にあがると思います。もっともドコモがクッキーが使えないほうが残念なのかもしれませんが。

ウィルコムのRTT

impressの記事でウィルコムのどこでもWi-Fiが紹介されています。この商品自体も非常に魅力的だと思いますが、それはともかく注目すべきは特徴としてPHS網はRTTが短いと書かれていることです。このグラフによるとどこでもWi-Fiを使ったときのRTTは120msくらいのようです。

私は以前b-mobileのデータカードを使っていたことがありますが、そのときはRTTが500msくらいあり、PHSはRTTが大きすぎて実用 的じゃないイメージでした。その後環境が改善されたのかb-mobileが遅かっただけなのかわかりませんが、120msなら全然悪くないと思います。

Javaは遅くない!

実行速度などが気になるプログラムはC言語で書くことが思います。しかし、多くの場合、現実的にはほとんどの部分は実行速度よりもプログラミングの しやすさなどの方が重要で、実行速度が気になる部分はごく一部だと思います。そのためどの言語でも使いやすいライブラリのようなものが存在していると思い ます。

ところでJavaを使ってプログラムを書くとJavaはバイトコードを実行するので実行速度的には不利だというイメージがありますが、このイメージ があること自体が時代遅れなのかもしれませんが、gcjというgccのJavaのネイティブコンパイラがあり、Javaで書いても実行時間が気になるとき だけgcjでコンパイルすればいいのではと思い至りました。

しかし、調べてみると、そもそもJavaの実行はネイティブコンパイルした場合に負けないくらい速いようです。古い資料ですが、こちらに非常に詳細な記事があります。古いというのは逆に言えばこの時点で既にJavaが遅いという考えは時代遅れだったようです。JITコンパイラがこんなにも性能が高いとは知りませんでした。

Fedora 10にはgccもgcjもjavacも入っていますが、ちょっとしたプログラムを書くときには実行速度などは気にせずjavacでコンパイルすればいいということになります。

inSSIDer

inSSIDerとは無線LANのアクセスポイント検出ツールです。サイトはこちらです。英語のサイトですが特に難しいソフトではありません。インストールして起動すると電波の届いているアクセスポイントの一覧と情報が表示されます。

以前はNetwork stumblerというソフトを使っていましたが、最近は更新されていないようなのでinSSIDerを試してみました。使用感などは後々また書きたいと思います。

Wireless Gate

今さらですが、Wireless Gateのヨドバシカメラオリジナルプランを使うと月額380円で公衆無線LANが使えます。これは非常にお得ですね。380円なら別に使わなくても念のために入っててもいいレベルだと思います。サイトはこちらです。

登録は非常に簡単です。メールアドレスとクレジットカードを登録するのみ。ヨドバシカメラのパンフレットに載っているキャンペーンコードが必要で す。ヨドバシドットコムのページにも載っているので店に行かなくても入れます。支払方法がクレジットカードのみなのは注意が必要かもしれません。

Windowsで使用する場合は専用ソフトをインストールするだけですので設定も簡単です。あとは行動範囲内にアクセスポイントがあるかどうかということになりますが。