Google Code Prettify

2009年2月26日木曜日

PDFをテキスト化 - PDFTextOnline

百式さんのところのうけうりでしかありませんが、、便利なものはやっぱり便利なわけで。

PDFTextOnline ... ブラウザでPDFからテキストを抽出。
http://www.pdftextonline.com/

2009年2月21日土曜日

Windows VistaでVPNの設定 (PPTPサーバーになってよ!)

Windows VistaをPPTP Serverにしたいと思ったのですが、XPのようにサクサク設定できません。試行錯誤の結果みつからなかったので、「機能がなくなったのかな」なんて思 い込んでたのですが、どこかのWebページで誰かがVistaをPPTP Serverにしているというのを見かけたもんで、ならばということで調べてみました。

なんとも微妙にトリッキーな手順なのでした。キャプチャーした画面を並べておきます。





ALTキーを押すとファイルメニューがでてきます。これが肝です。




あとはなるようになるんで。

2009年2月16日月曜日

iPhoneに適したVPNゲートウェイ選び

iPhoneをVPN経由で家のネットワークにつなげようと思い、いろいろ試したのですが、どれもあまりうまくいきません。

DD-WRT v23 SP2 (09/15/06) vpn on WBR2-G54
なぜか2分くらいでvpnが切れてしまいます。ちゃんとつながってちゃんと通信できてるのに、、惜しい。

Windows XP VPNゲートウェイ機能
安定したvpn接続を作れるのですが、iPhone用のSIPクライアントとの連携がどうしてもうまくいきません。電話機能がちゃんと使えません。使えたとしても、自分の端末における音声出力が不明です。

結果から言うと、現時点でDD-WRT v23 SP2 (09/15/06) vpnが他のどのバージョンのDD-WRTよりも間違いなくVPNをはることができます。

そんなことなど知らずに、あたらしいファームをつっこめばいいことあるだろうと、いろいろ試したのが運のつきでした。根本的にVPNがつながらなくなったり、接続がよく失敗するようになったり、散々です。結局ファームウェアのバージョンをもどすことにしたのですが、戻してみたらrootのパスワードがふっとんでしまってて、それを復旧するために、openwrtのファームウェアを一時的にインストールし、NVRAMの内容をクリアしてからDD-WRTを入れなおすという面倒な作業をすることになっちゃいました。

Flash Your Buffalo WBR-G54, WLA-G54, ... also includes WBR2-G54, WBR2-G54S

ルーターをトリッキーに再起動させ、タイミングをみはからってtftpでファームを流し込むという方法です。えらく骨が折れます。これだけのために、4,5時間使っちゃいました。

2009年2月15日日曜日

世界どこでもiPhoneで日本の自宅電話にアクセス(iPhone+Asterisk+ひかり電話+VPNで日本の自宅電話携帯化)

日本の実家にある「ひかり電話」のルータにはSIPサーバー機能があるっていうんで、香港で使っているiPhoneから何とか使えないものかとあれこれ試してみました。何日も寝る時間を惜しんでいじくりまわした結果、なんとかできるようになりました。

iPhoneをVPNで実家のネットワークに接続するまではできたのですが、どうしてもSIPクライアントとサーバーがうまく話をしてくれないようなので、このやり方はあきらめました。
仕方ないので、iPhone==>Asterisk==>ひかり電話ルーター という接続を行うことにしました。香港の家庭内ネットワークと日本の実家のネットワークがVPNで接続されているのでAsteriskは香港の家庭内ネットワーク上に配置します。

Asterisk 1.6を手持ちのLinuxマシンにつっこんで、作業開始です。PBXの設定などしたことないので、いろいろな人が示しているサンプルをチェックして、自分の環境にあてはめてみましたが、なかなかどれもうまくうごきません。ただ、VoIP-Info.jp Wiki簡易インストールマニュアルの情報はきれいに情報整理されていて、「これ以上よい説明+サンプルはないだろう」と判断し、ゴリゴリと設定いじくりまくりの試行錯誤の作業を続けました。

まず、シンプルにまとめられた設定ファイルサンプルがあるはずなのですが、記事内に埋め込まれているFTPへのリンクではどうしてもダウンロードすることができません。自分のインターネット環境の問題なのか何なのか悩んでいたところ、もう1つリンクを見つけました。wgetでhttpダウンロードしているじゃないですか。
# cd /usr/src
# wget http://downloads.digium.com/pub/asterisk/releases/asterisk-1.6.0.5.tar.gz
ありがたくダウンロードさせてもらい、自分の環境に合わせたある程度のカスタマイズをほどこし、ログデータとの格闘が始まりました。右往左往している過程を書いても仕方ないので、結論に関することだけ書きます。エラー情報に下記のようなラインを見つけました。
[Feb 15 17:31:10] WARNING[31980] chan_sip.c: Received response: "Forbidden" from
'"04xxxxxx72" <sip:1@192.168.y.y>;tag=as11c2fedb'
04xxxxxx72...実家の電話番号
192.168.y.y ... 実家のひかり電話ルーターのIP

「おやおや、sip:1@192.168.y.y っていうのが嫌がられてる?」と思い、ならば、その"1"ってのを定義している変数fromuser (sip.conf内)をいじくってみました。
[Feb 15 17:32:15] WARNING[32052] chan_sip.c: Received response: "Forbidden" from
'"04xxxxxx72" <sip:0004@192.168.y.y>;tag=as42991667'
ひかり電話側に登録されている認証ユーザー名に切り替えてもまだ同じエラーがでます。「そういえば、どこかで見た設定の書式で、ユーザ名:パスワード:認証ユーザ名@ という書式が用いられてたので、それに習って、fromuser=4:password:0004 なんてふうに書き換えてみました。

この一撃が効いたようで、発信・着信ともに問題なく行えるようになりました。とりあえず一安心。で、それが正しいのかどうか確認するためにVOIP-Info.org のAsterisk config sip.confに関して説明されているページで確認してみました。

Asterisk as a SIP client

In sip.conf under [general] add a register definition:

Format:
register => user[:secret[:authuser]]@host[:port][/extension]
or
register => fromuser@fromdomain:secret@host

悪くはなさそうなのですが、ちょっとちがうっぽいです。fromuserという変数の使い方としてはちょっとまずそうです。まあ、動いているのでとりあえずよしとしちゃいましょう。

2009年2月8日日曜日

iPhoneからDD-WRT (v23sp2 vpn)なルーターにVPN接続

DD-WRTの通常の設定項目のほかに、下記の設定が必要だったのでメモメモ。 このページを参考に。 VPN Howto: Linksys + DD-WRT + PPTP + Mac OS X Client

The PPTP Server is now configured. However, we need to create a startup script to overwrite one of the PPTP config files. 3) Click on Administration, Diagnostics. In the Commands text area, paste the following script:
echo 'lock' > /tmp/pptpd/options.pptpd
echo 'name *' >> /tmp/pptpd/options.pptpd
echo 'proxyarp' >> /tmp/pptpd/options.pptpd
echo 'ipcp-accept-local' >> /tmp/pptpd/options.pptpd
echo 'ipcp-accept-remote' >> /tmp/pptpd/options.pptpd
echo 'lcp-echo-failure 3' >> /tmp/pptpd/options.pptpd
echo 'lcp-echo-interval 5' >> /tmp/pptpd/options.pptpd
echo 'deflate 0' >> /tmp/pptpd/options.pptpd
echo 'auth' >> /tmp/pptpd/options.pptpd
echo '-chap' >> /tmp/pptpd/options.pptpd
echo '-mschap' >> /tmp/pptpd/options.pptpd
echo '+mschap-v2' >> /tmp/pptpd/options.pptpd
echo 'mppe required' >> /tmp/pptpd/options.pptpd  #this line forces encryption and fixes OS X
echo 'mppe stateless' >> /tmp/pptpd/options.pptpd
echo 'mppc' >> /tmp/pptpd/options.pptpd
echo 'ms-ignore-domain' >> /tmp/pptpd/options.pptpd
echo 'chap-secrets /tmp/pptpd/chap-secrets' >> /tmp/pptpd/options.pptpd
echo 'ip-up-script /tmp/pptpd/ip-up' >> /tmp/pptpd/options.pptpd
echo 'ip-down-script /tmp/pptpd/ip-down' >> /tmp/pptpd/options.pptpd
echo 'ms-dns 192.168.1.1'   >> /tmp/pptpd/options.pptpd #enter your router's ip here
echo 'mtu 1450' >> /tmp/pptpd/options.pptpd
echo 'mru 1450' >> /tmp/pptpd/options.pptpd
Make sure to replace "192.168.1.1" with your the LAN IP of your router, if it's different. Click Save Startup. The router is configured, let's setup the VPN connection in OS X.