2010年12月19日日曜日

ddo.jp 自動更新スクリプト

せっかく光を引いたので、EeePC 4GにUbuntu Linux Serverをインストールして、Webサーバーをたてました。JCOMとは違って、光はモデムの電源を入れなおすとIPアドレスが変わります。ひょっとしたらDHCPの更新でもIPアドレスが変わることもあるのかも。
逆に言うと、JCOM は固定IPかよってくらいIPアドレスがまったく変わらない仕様のようです。
とりあえず、IPアドレスがわからなくなると外から接続できなくなるので、無料DDNS の ddo.jp を使ってみることにしました。

http://ddo.jp/

ブラウザで上記URLにアクセスして登録した後、IPアドレスが変更になったときにIPアドレスを自動で再登録するようにスクリプトを組みました。
元々は、ここにあったVine用のものを使ってみたものの、Ubuntu(?)だからかうまく動かなかったので、スクリプトをちょっと弄りました。


#!/usr/bin/perl
#
$CRT_IPF = '/tmp/CRT_IP.dat';
$NEW_IPF = '/tmp/NEW_IP.dat';
$LOG = '/tmp/ddns.log';

open(INPUT,$CRT_IPF);
$CRT_IP=<INPUT>;
close(INPUT);

system("/usr/bin/wget -q -O $NEW_IPF http://info.ddo.jp/remote_addr.php");
open(INPUT,$NEW_IPF);
@xx = <INPUT>;
$c = $xx[1];
$stp = index($c,"REMOTE_ADDR:")+12;
$edp = length($c);

print "c = $c\n";
print "stp = $stp, edp = $edp\n";

$NEW_IP = substr($c,$stp,($edp-$stp));
close(INPUT);

print "New IP: $NEW_IP\n";
print "Current IP: $CRT_IP\n";

if ($NEW_IP ne "" and $CRT_IP ne $NEW_IP) {
open (OUTPUT ,">$CRT_IPF");
print OUTPUT $NEW_IP;
close OUTPUT;

print "IP Address update: $CRT_IP to $NEW_IP\n";
system("/usr/bin/wget -q -O - 'http://free.ddo.jp/dnsupdate.php?dn=[登録名].ddo.jp&pw=[パスワード]'");

$now_string = localtime;
open (OUTPUT ,">>$LOG");
print OUTPUT "$now_string DDNS IP Address Updated. $CRT_IP to $NEW_IP\n";
close OUTPUT;
}


更に、これを cron で15分毎に自動で動くように設定します。
/etc/cron.d/ddns というファイルを作って、以下の2行を記入します。


# DDNS
*/15 * * * * hogehoge /home/hogehoge/ddns/ipcheck.pl


IPアドレスが変わっても15分後には新しいIPアドレスでドメインを辿れるようになります。

2010年12月18日土曜日

コンソール用IRCクライアント irssi

最近、仕事でsshとかをよく使っているので、ターミナル上でIRCできないかなとコンソール対応IRCクライアントを探してました。
コンソール用のIRCクライアントは数はあれど、日本語が表示できないとかかゆい所に手が届かないものが多かったのですが、他の方のブログ記事で irssi というソフトを見つけました。

http://d.hatena.ne.jp/themorthem/20080702/1214998634

記事はDebianだけど、Ubuntuでも導入方法は同じ。紹介記事のプラグインで日本語表示までできました。
そんでもって、日本語でログも取れたらなぁと設定してみたものの、文字化け状態で保存されてしまってうまくいかない。仕方がないので、手抜きのロギングプラグインを作った。Perlで機能を拡張できるのもirssiの強みなのかもしれない。

use strict;
use Irssi;
use Encode;

use     POSIX qw/strftime/ ;

use vars qw($VERSION %IRSSI);

$VERSION = "0.1";
%IRSSI = (
       authors         => 'u1f',
       contact         => 'u1f@outlook.jp',
       name            => 'logjpn.pl',
       description     => '日本語ロギングプラグイン',
       license         => 'GPL',
       url             => 'http://u1f.blogspot.com',
       changed         => '2010-11-29',
);

my $local_charset = 'UTF-8';
my $remote_charset = 'ISO-2022-JP';
my $logpath = "/home/hogehoge/.irssi/irclogs/";
my $ownnick = "hogehoge";

Irssi::print("*****\n* $IRSSI{name} $VERSION loaded.");

sub     handle_public {
       my ($srv, $msg, $nick, $addr, $tgt) = @_;
       write_log($nick, $msg, $tgt);
}

sub     handle_private {
       my ($srv, $msg, $nick, $addr) = @_;
       write_log($nick, $msg);
}

sub own_public {
       my ($server, $msg, $tgt) = @_;
       write_log($ownnick, $msg, $tgt);
}

sub own_private{
       my ($server, $msg, $tgt, $orgtgt) = @_;
       write_log($ownnick, $msg);
}

sub     write_log {
       my      ($nick, $msg, $tgt) = @_ ;
       $tgt ||= "->" ;
       Encode::from_to($msg, $remote_charset, $local_charset );

       my      $day = strftime("%y-%m-%d", localtime()) ;
       my      $ts = strftime("%H:%M", localtime()) ;
       my      $lfile = $logpath . $tgt . "." . $day . ".log";

       if (open(OUT, ">>$lfile")) {
               print OUT "$ts <$nick> $msg\n" ;
               close(OUT);
       } else {
               Irssi::active_win()->print("can't open file `$lfile': $! \n") ;
       }
}

Irssi::signal_add_first("message own_public", "own_public") ;
Irssi::signal_add_first("message own_private", "own_private") ;
Irssi::signal_add_first("message public", "handle_public") ;
Irssi::signal_add_first("message private", "handle_private") ;

2010年12月11日土曜日

JCOM 24M→12M へ

実家を出て早3ヶ月。両親もネットを使うので解約するわけには行かないが、Web見る程度で遅くしてもよさそうなので、24Mコースから少し安い12Mコースに移行しました。金払ってるの俺だし。速度チェックしたので結果を貼り付けてみる。
以前のJCOM速度テストはこちら

○24Mbps(上り2M下り24M)

------ BNRスピードテスト (ダウンロード速度) ------
測定サイト: http://www.musen-lan.com/speed/ Ver3.5001
測定日時: 2010/11/27 16:24:23
回線/ISP/地域:
--------------------------------------------------
1.NTTPC(WebARENA)1: 10273.458kbps(10.273Mbps) 1283.39kB/sec
2.NTTPC(WebARENA)2: 13182.062kbps(13.182Mbps) 1647.22kB/sec
推定転送速度: 13182.062kbps(13.182Mbps) 1647.22kB/sec

上り(アップロード)速度テスト結果
データ転送速度 1.55Mbps (194.23kB/sec)
アップロードデータ容量 600kB
アップロードに要した時間 3.089秒
測定日時 2010年11月27日(土) 16時25分
利用ブラウザ: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7

○12Mbps(上り2M下り12M)

------ BNRスピードテスト (ダウンロード速度) ------
測定サイト: http://www.musen-lan.com/speed/ Ver3.5001
測定日時: 2010/12/11 16:16:15
回線/ISP/地域:
--------------------------------------------------
1.NTTPC(WebARENA)1: 9029.749kbps(9.029Mbps) 1128.36kB/sec
2.NTTPC(WebARENA)2: 7707.034kbps(7.707Mbps) 963.22kB/sec
推定転送速度: 9029.749kbps(9.029Mbps) 1128.36kB/sec

上り(アップロード)速度テスト結果
データ転送速度 1.82Mbps (227.61kB/sec)
アップロードデータ容量 600kB
アップロードに要した時間 2.636秒
測定日時 2010年12月11日(土) 16時16分
利用ブラウザ: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7

12Mコースにしては結構いい線行ってるような気がする。

2010年11月30日火曜日

Flet's 光をひいた

一人暮らしのほうにフレッツ光を引きました。
早速速度テスト。以前の実家でのJCOM速度テストはこちら
ちなみに、実家のほうは24Mから12Mに変更する予定。そしたらまた速度チェックする。

------ BNRスピードテスト (ダウンロード速度) ------
測定サイト: http://www.musen-lan.com/speed/ Ver3.5001
測定日時: 2010/11/30 23:45:00
回線/ISP/地域:
--------------------------------------------------
1.NTTPC(WebARENA)1: 55581.798kbps(55.581Mbps) 6947.61kB/sec
2.NTTPC(WebARENA)2: 91656.906kbps(91.656Mbps) 11456.19kB/sec
推定転送速度: 91656.906kbps(91.656Mbps) 11456.19kB/sec

上り(アップロード)速度テスト結果
データ転送速度 34.33Mbps (4.29MB/sec)
アップロードデータ容量 1000kB
アップロードに要した時間 0.233秒
測定日時 2010年11月30日(火) 23時45分
利用ブラウザ: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7

やっぱり早いわ。ただ、ニコ動とかはプレミアムになったほうがコストパフォーマンスはいいし、Youtubeは相変わらず遅いし。Web見るだけならJCOMの24Mで全然問題ないし。結局光の速度ってそんなに使い道がないような気がする。

2010年11月23日火曜日

もう12月か

久々に実家に帰ってきました。もう12月になってしまうのか。早いなぁ。
1ヵ月後には年末だよ。今年やろうとしてたこと、あんまりできてないな。
会社で新人指導員になって、そればっかりだった気がする。そんな指導員も今月末でお終い。

色々できないことはあったけど、そのかわり一人暮らしを始めた。
お金がないので、今年やろうとしてたダイビングの免許は来年にしよう。

1人暮らしを始めて3ヶ月くらいになりました。
一時、風邪を引いてつらい時期もありましたが、なんとか落ち着いてきました。
1人暮らしは健康に気をつけないとヤバいね。今はノロウイルスが流行っているらしいので気をつけないと。

2010年9月12日日曜日

引越し

会社近くのワンルームに引越しすることにしました。今月の週末は珍しく引越し準備やらで忙しいです。
とりあえず家を決めて、引越し業者決めたところ。引越し業者からダンボールが届いたら色々持ち物を詰めなきゃ。

実家のサーバーをkuro-boxからDell Mini9にやらせることにしてみました。
新居はBフレッツハイパーファミリーってやつなので、kuro-boxを持っていって何かさせようかな。

2010年7月18日日曜日

ubuntu server で wifi 通信設定

ubuntu server は desktop edition と違ってネットワークマネージャが無く手動で設定が必要です。
EeePC 4G-X に Ubuntu Server をインストールしたので、そのときの手順をメモ。

この機種の場合、ドライバ類はOSが標準で持っているので最初から認識済み。無線LANアクセスポイントはWPA-PSK方式のAES暗号なので、WPA関連のモジュールをインストール。
$ sudo apt-get install wpasupplicant

無線LANアクセスポイントの設定にしたがって、SSIDと鍵文字列を引数にwpa_passphraseを実行
$ wpa_passphrase [SSID] [鍵文字列]

$ wpa_passphrase HOGEHOGE hogehoge
network={
ssid="HOGEHOGE"
#psk="hogehoge"
psk=5a2b59d51a9965b467f4654acaa3e0f544a1f63c3b6cd984a3a86ccc86f56c7c
}

結果内容を /etc/wpa_supplicant.conf に入力。追記で暗号がWPAであることを指定するとよいらしい。
network={
ssid="HOGEHOGE"
#psk="hogehoge"
psk=5a2b59d51a9965b467f4654acaa3e0f544a1f63c3b6cd984a3a86ccc86f56c7c
proto=WPA
key_mgmt=WPA-PSK
}

/etc/network/interface に wlan0 の設定を記入する。
---
auto wlan0
iface wlan0 inet dhcp
wpa-driver wext
wpa-conf /etc/wpa_supplicant.conf
---

再起動後、wifi で通信できるようになる。

2010年4月30日金曜日

Ubuntu 10.04 リリース

久々の更新ですが生きてます。Ubuntu 10.04がリリースされました。今ダウンロード中です。連休中にインストールしていきたいと考えてます。

ダウンロードはこちら http://www.ubuntu.com/getubuntu/download からどうぞ。

さて、長い間使っていた EeePC 4G-X ですが、そろそろニコ動をみるのもつらくなってきたので、今回はサーバー版を入れてサーバーにしようかと思ってます。代替としてDell Mini9を使っていこうかと。
早くHP Slate(http://hp.com/slate/)発売されないかな

2010年1月31日日曜日

玄箱 debian lenny + java + Nicocache_u

調子に乗って、ニコ動のキャッシュサーバーも構築します。使用するのはNicocache_uです。
nicocache_u http://www28.atwiki.jp/nicocacheu/pages/1.html

Nicocache は、Javaで作成されています。まずは Java を導入します。
http://www.ibm.com/developerworks/java/jdk/linux/download.html

PPC 用の Java は、Java SE Version 6 の 32bit IBM POWER を落とします。

$ sudo aptitude install libstdc++5
$ sudo tar xvzf ibm-java-jre-6.0-4.0-linux-ppc.tgz -C /usr/local/
$ cd /bin
$ sudo ln -s /usr/local/ibm-java-ppc-60/jre/bin/java java

これでJavaは完了。/opt に入れるべきだったかなと後々思いました。まぁ、これで Nicocache_u を動かすことが出来ます。

$ sudo aptitude install unzip
$ unzip Nicocache_u
$ cd Nicocache_u
$ chmod +x startup.sh shutdown.sh
$ ./startup.sh

同梱の proxy.pac を編集してIPアドレスを玄箱にしておき、/var/www に配置します。クライアントPCは自動プロキシ設定スクリプトのURLを玄箱にしておくと、nicovideo.jp にアクセスするときだけ玄箱を経由させることができます。

2010年1月30日土曜日

玄箱 debian lenny + lighttpd + php5 + rep2

最近、p2.2ch.netの障害が発生してから重いので移行することにしました。

$ sudo apt-get install lighttpd php5-cgi

lighttpdとphp5をインストール。楽ですね。Apache2とphp4をコンパイルしていた頃が懐かしい。lighttpdの設定は、/etc/lighttpd/lighttpd.conf で行います。
以下のConfigurationを参考にphp5を使えるように設定します。
http://redmine.lighttpd.net/wiki/lighttpd/TutorialLighttpdAndPHP

追加で以下も設定しておきます。
server.dir-listing = "disable"

これをやっておかないと、rep2のconfフォルダとか丸見えになってしまいます。lighttpdはApache2のように .htaccess ファイルで個別にフォルダ閲覧の可否を設定できないようです。続いて rep2 を http://akid.s17.xrea.com/ からダウンロードします。/var/www がドキュメントルートなので、/var/www/rep2 あたりに展開します。

$ unzip rep2_v1_8_60.zip
$ sudo cp -r ./rep2/ /var/www/
$ cd /var/www
$ sudo chown -R www-data.www-data ./rep2

あとは、rep2/conf/conf_hostcheck.php あたりを設定すれば動くはず。その他の設定はお好みでどうぞ。

2010年1月28日木曜日

Dell Mini9にUbuntu9.10をインストール

しました。無線LANでハマりました。無線LANはインストールしただけでは、認識しません。
システム→システム管理→ハードウェアドライバからBroadComのプロプライエタリドライバを導入する必要があります。
で、ドライバのインストールはできてネットワークマネージャからも認識されたのですが、何故か自宅のアクセスポイントだけが見えない状況に陥りました。隣の家は見えるのに…と思いながら、色々調べたらBroadcomのドライバは無線のチャンネル12,13はサポートしていないのだそうです。自宅のアクセスポイントは12chでビンゴでした。他のチャンネルに切り替えたら見えました。同じような問題を抱えている方がいたらアクセスポイントの設定を見直すと良いと思います。

Ubuntu9.10のバッテリー表示の抑制

EeePC 4G-XでUbuntu9.10を起動すると、「バッテリーが壊れています。」というメッセージが表示されます。そのうち、アップデートで治るかと思ったら治らないので、表示を抑制することにします。年があけたと思ったら10.04まであと3ヶ月ですね。早いですね。

$ gconf-editor
apps→gnome-power-manager→notify
low_capacityのチェックを外す

2010年1月16日土曜日

玄箱にDebian Linux Lennyをインストール

これまで玄箱は、デフォルトのMonta vista Linuxでがんばってきました。ですが、Debian Linuxの軍門に下ろうかと思います。というか、単に仕事でDebianを使うので自宅でも専用機として遊んでみようってそれだけなんです。
早速、検索してみると既に先立の方々の資料が見つかりました。お、Debian Lennyのインストーラまである!ということで、これを使ってDebian Lennyを入れることに。

情報元
http://www.revulo.com/kuro-box/Debian/lenny.html

NASとしての玄箱は別に1台あるので、この玄箱はDebian専用機として使います。HDDも古い15GBのIDEに取り替え、情報元の通りにインストールを行いました。

1. 正規のファームウェアをインストール
情報元を見ると起動用LinuxとDebian Lennyの2つをインストールすることになります。起動用Linuxには正規のファームウェアを使用することにします。

下記のURLからファームウェアをダウンロード
http://www.kuroutoshikou.com/products/kuro-box/kuro_102.zip

Windows上でKuroboxupdate.exeを実行するのですが、Windowsのファイヤーウォールを一時的に無効にしないとうまくいきません。

2. Debian Lennyのファイルを転送
情報元からダウンロードしてきたファイルを玄箱に転送します。以下の7つをsamba経由でコピーしてしまいます。

debian-lenny-installer-kuroBOX-20090317.tgz
debian-lenny-kuroBOX-20090317.tgz
kernelimage-2.6.25.1-kuroBOX.tgz
kuro-bootsel2.20080419.tar.gz
kuro-bootsel2-debian.tgz
modules-2.6.25.1-kuroBOX.tgz
loader.o

コピーしたファイルは/mnt/shareに入るので、telnetで玄箱にログインします。

3. インストール
後はインストールを行います。

# mv /mnt/share/* /tmp
# cd /tmp
# tar xvzf debian-lenny-installer-kuroBOX-20090317.tgz
# sh ./debian-lenny-installer-kuroBOX.sh

スクリプトが終了後、再起動するとlennyが起動しました。すげぇ。

4. 初期設定
インストーラでインストールしたDebianは以下の設定になっているようです。
IP アドレス:192.168.0.100
ユーザー名:tmp-kun
パスワード:tmp-kun

telnetで無事つながりました。
---
Trying 192.168.0.100...
Connected to 192.168.0.100.
Escape character is '^]'.
Debian GNU/Linux 5.0
KURO-BOX login: tmp-kun
Password:
Linux KURO-BOX 2.6.25.1-kurobox #10 Sun May 4 21:50:38 JST 2008 ppc

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
tmp-kun@KURO-BOX:~$
---

2010年1月9日土曜日

Netbook Installer 0.8.3 final

久しくMyDellmini掲示板をチェックしてなかったら、いつの間にかNBI0.8.3finalがリリースされていました。色々不具合が修正されているようです。

NetbookInstaller 0.8.3 Final (Official Release)http://www.mydellmini.com/forum/general-mac-os-x-discussion/16731-netbookinstaller-0-8-3-final-official-release.html

これにならってNetbookCDも0.8.3finalにあがっていました。これからMacOSXを導入するならこちらが良いでしょう。
http://www.mydellmini.com/forum/general-mac-os-x-discussion/13837-netbookcd-0-8-3-final-chameleon-bootloader-cd-netbooks.html

NetbookCD のインストール方法をよく読んでみると、10.6.2ならソフトウェアアップデートを使えとなってますね。前は使うなって書いてあった気がするけど、使ってもよくなったのかな?

2010年1月1日金曜日

あけましておめでとうございます

あけましておめでとうございます。今年もよろしくお願いします。初詣行ってきました。
で、おみくじを引いてきたら、『大吉』でした。

願望→他人にさまたげらるる恐れあり
待人→きたりがたし
失物→出るともおそし
旅行→止むる方がよろし
商法→俄(にわか)に下る事あり
争事→理ありても負なり
抱人→よき人をえがたし
転居→十分ならず見合よ
病気→おもし信心せよ
縁談→思はぬ人にさまたげらる何事も控えよ

えっーと。…大吉?