Domain Name Hacks
2010年01月23日
今更ながら
昨年末にsakuraの契約が切れるので、Amazon EC2へ論理移転を行った。
これで2度目の論理移転。
ドキュメントは未来の自分へのラブレター
開発環境構築手順。
それと、以前論理移転した時に追加した手順。
必要なものは、可能な限りDebianパッケージ化してある。
すると、3つだけで環境構築が終わる。
Debianだと楽でイイね。
$ sudo dpkg --set-selections < ./dpkg.list $ sudo apt-get install -f $ svn checkout [ repos uri ]
あとはDBのデータ同期、/etcの設定(apache,mysql)
Amazon EC2で更にオイシイ
Debianパッケージ化してあるおかげで環境構築は楽になる。
Amazon EC2だと、仮想マシンイメージを丸々バックアップが可能だ。
仮想マシンイメージをプライベートイメージとして登録しておけば、
レプリカを手軽にいくつでも起動出来る。
これ以降、ElasticfoxなどでプライベートAMI指定して起動するだけ。
apt-getを実行しなくて良い。
2009年09月20日
5文字(.com|.net)のクロールが終わった
whois.hansode.org(71/n) - whois情報1000万レコード超え から約3ヶ月。
ようやく5文字(.com|.net)のクロールが終わった。
▼2009/09/20 12:55現在
只今の蓄積WHOIS情報数:
28,655,964 WHOIS!!
さて、次は何をしようか。
2009年06月29日
気付いたら1000万超えしていた
whois.hansode.org(70/n) - whois情報1000万レコードを目指して で1000万超え宣言した。
そして、気付いたら1000万を超えていた…。
▼2009/06/29 14:45現在
只今の蓄積WHOIS情報数:
11,809,033 WHOIS!!
1文字目がa〜gまでのクロールが終わった所。
まだまだクロールし終わらないね。
2009年05月15日
空いたリソース
長い目で観察し、問題点を洗い出し、
パフォーマンスチューニングしたらサーバリソースに余裕が生まれた。
空いたリソースをどうするか…。
そうだ、5文字.com、5文字.netを調べよう。
5文字の組み合わせ
その組み合わせは…
$ echo $((26 ** 5)) 11881376
- 26 → アルファベット26文字
.comと.netなので、更に倍。
$ echo $((26 ** 5 * 2)) 23762752
23,762,752通り…。
(2千3百万)
もしも数字とハイフンを考慮したらとんでもない数値になる。
$ echo $((36 ** 5 * 2)) 120932352
120,932,352通り。
(1億2千万)
目標は1000万越え
目標が1000万エントリなので、
今回のクロール対象はアルファベットの組み合わせ(2千3百万通り) としておこう。
さて、いつクロールし終わるんだろうか…
2009年04月06日
whois.hansode.org(46/n) - ドメイン名を収集する手段の進化その後
- 第1世代
- 思いつく有名所を調べる
- すぐに限界が訪れる…
- 第2世代
- 3文字、4文字を調べる
- 無意味な文字列も含まれてて、あまり有用情報ではない
- 第3世代
- ネームサーバからドメイン名を取得していく
- そこそこ意味のあるドメイン名を取得出来る
- しかし、やがて限界が訪れる
- 第4世代
- IPアドレスの逆引きホスト名からドメイン名を取得していく
- ホスティング用のIPアドレスレンジの場合、逆引きにサービス中のホスト名が設定されている
- かなり価値のあるドメイン名を取得出来る
- これもまた、やがて限界が訪れる
- 第5世代(現在巡回中)
- feedを利用すれば鮮度のあるFQDNを収集可能
- ソーシャルブックマークのfeed
- 各種まとめサイトのfeed
この土日にfeedから収集するクローラーを書き終えた。
微増ながらも、FQDNとドメイン名の増加していくのが分かる。
2009年04月03日
2009/04/02現在:100万ページ越え!!
開発当初に目標として設定していたのは
「Googleに100万ページをインデックスさせること」。
その目標を、ついに達成した。
さて、次の目標は…

| 年/月/日 | インデックス数 |
|---|---|
| 2009/04/02 | 1,230,000 |
| 2009/01/08 | 506,000 |
| 2008/11/12 | 124,000 |
| 2008/10/06 | 50,000 |
順調に増加中。
- whois.hansode.org(59/n) - サイトマップ プロトコルを導入してインデックス数増加計画
- whois.hansode.org(61/n) - サイトマップ プロトコルを導入 その後
- whois.hansode.org(62/n) - サイトマップ プロトコルを導入 その後2
2009年02月28日
livedoorデータセットを使ってみた
livedoorデータセットでは国内大手のSBMサービス、livedoor クリップのデータを提供している。
何か使えないか考えてみた。
- clipされているURIには、FQDNが含まれている
- しかも、clipされるくらい、意味のあるFQDN。
- そして、意味のあるドメイン名が含まれている
whois.hansode.orgに足りなかった
「意味のあるFQDN(Google PageRankの高いFQDN)」を多数集めることが可能だと言う事に気づいた。
ldclip_dataset_200812.csv.gz
抽出したデータは下記の通り。
- ドメイン名数: 5474
- FQDN数: 38186
データセットを提供してくれたライブドアに感謝。
追記・補足
[2009.02.28 17:10]
今回はwhois.hansode.orgの既存データと比較し、
どれくらい良質データが不足しているのか研究調査用に利用しました。
2009年02月15日
2009年02月14日
「*blog*.jp」にマッチするドメイン名とは
聞かれたので、手持ちのデータベースにて調べてみた。
色々あるもんだなぁ。
- 1jin-blog.jp
- blockblog.jp
- blog.jp
- blogcms.jp
- blogdb.jp
- blogdeco.jp
- blogent.jp
- blogeye.jp
- bloggers-lounge.jp
- bloglife.jp
- blogpartsgarden.jp
- blogri.jp
- blogscape.jp
- blogtowa.jp
- blogwatch.jp
- blogzine.jp
- bouhan-blog.jp
- dreamblog.jp
- e-sunpiablog.jp
- embrace-blog.jp
- ero-blog.jp
- exblog.jp
- freeblog.jp
- genki-blog.jp
- happy-blog.jp
- joblog.jp
- justblog.jp
- kousyoublog.jp
- kumiblog.jp
- lime-blog.jp
- lolipoblog.jp
- manblog.jp
- me-blog.jp
- moblogging.jp
- nqsblog.jp
- ownersblog.jp
- pressblog.jp
- rsblog.jp
- sablog.jp
- shinseisolblog.jp
- taku-blog.jp
- thehouse-ablog.jp
- thehouse-eblog.jp
- vision-blog.jp
- wanderblog.jp
- weblog.ne.jp
- wineblog.jp
- yayoi-blog.jp
- yumikoblog.jp
2009.02.14 whois.hansode.org調べ
2009年02月03日
JP WHOIS検索結果の表示例の存在に気づいた
クローラーのログを覗いていたら、
何度もwhois検索しているドメイン名がある事に気づいた。
原因を調べてみると、システム側で扱っていないステータスである事が分かった。
[State] Renamed (2009/04/30,EXAMPLE.CO.JP)
属性ドメイン名(co.jp)の場合、1法人に対して1ドメイン名が割り当てられる。
社名変更などによりドメイン名を変更したい場合の対応なのだろう。
属性ドメイン名は何かと複雑で困る事が多い。
汎用・属性のステータスに関する詳細情報はJP WHOIS検索結果の表示例にまとめられている。
近日parser修正予定。
2009年01月08日
2009/01/08現在:50万ページ越え

| 年/月/日 | インデックス数 |
|---|---|
| 2009/01/08 | 506,000 |
| 2008/11/12 | 124,000 |
| 2008/10/06 | 50,000 |
順調に増加中。
- whois.hansode.org(59/n) - サイトマップ プロトコルを導入してインデックス数増加計画
- whois.hansode.org(61/n) - サイトマップ プロトコルを導入 その後
2008年11月14日
YODOBASHI.COMが失効したりして
whois.hansode.orgの
有効期限間近ドメイン名大賞にノミネートされていて気づいた。
2008/11/14 10:45現在、YODOBASHI.COMのwhois情報
VeriSign側のWHOIS情報より
Domain Name: YODOBASHI.COM
Registrar: GMO INTERNET, INC. DBA ONAMAE.COM AND DISCOUNT-DOMAIN.COM
Whois Server: whois.discount-domain.com
Referral URL: http://www.discount-domain.com
Name Server: YCODNS01.YODOBASHI.COM
Name Server: YCTDNS01.YODOBASHI.COM
Status: clientTransferProhibited
Updated Date: 14-nov-2007
Creation Date: 15-nov-1999
Expiration Date: 15-nov-2008
GMO側のWHOIS情報より
Domain Handle:
Domain Name: yodobashi.com
Created On: 1999-11-15 21:34:02.0
Last Updated On: 2007-11-15 00:12:57.0
Expiration Date: 2008-11-16 02:34:02.0
Status: ACTIVE
もし、このまま失効したら…
システムリニューアルよる過負荷どころの騒ぎではない。
Updated Dateを見る限り、
去年は期限ギリギリで更新していたようだ。
今年もギリギリだろうか?
管理者の数だけ管理ポリシーがあるのだろうけど、
ドメイン名を更新する意思があるのなら、期限に余裕を持って更新したいね。
ドメイン名期限管理のサポートサービス!
whois.hansode.orgを使うとドメイン名の期限管理を行える。
こんな人にオススメ。
- 所有しているドメイン名の期限を管理したい!
- 気になるあのドメイン名がいつか失効するのを待っている!
- 複数所有していて、とにかく期限管理が面倒臭い
管理対象ドメイン名の有効期限をfeedやiCalで管理出来るのが最大の特徴。
気になる方は、whois.hansode.orgをどうぞ。
2008年11月12日
whois.hansode.org(59/n) - サイトマップ プロトコルを導入してインデックス数増加計画 から、約一ケ月
■2008/10/06現在では、
site:whois.hansode.orgの結果は約5万前後。
■2008/11/12現在、
徐々に増えている。
心がけたこと
約一ケ月間、ただボーっとしていた訳ではない。
- Googleウェブマスターツールをこまめに確認
- 問題のある項目は可能な限り対応
- とにかく問題を解決する
問題として指摘される項目は、いわゆるweb標準にそれている項目。
これ等を改善する事により、健全なサイトが出来上がって行く。
結局は、当たり前の事をやっているだけなのか。
まだまだ勉強不足である事を感じた。
2008年10月29日
1年を振り返る
whois.hansode.orgのサービス公開を2007/09/27するなら、もう1年1ヶ月が経過した。
- [2007/09/27] whois.hansode.org(1/n) - WHOISプロキシを作り始めた
- [2007/10/22] whois.hansode.org(3/n) - ウェブ公開開始
■きっかけは「面倒くさい」
先日の三連休、
時間があったので前々から作ろうとしていたものを作り始めた。
WHOIS情報はTLDによってフォーマットが違う。
これにより、有効期限やネームサーバ等を調べる際、
TLD毎に何かしらの調査方法を確立しなければならない。
「フォーマットが統一されていれば問題は解決するはずだ」そして作り始めた。
当時も今も、一番のヘビーユーザーは自分なのだろう。
利用している方がいらっしゃいましたら、今後ともよろしくお願いします。
2008年10月06日
インデックス数の伸び悩み
半分でも良いのでインデックス対象としたい。
そんな話をしてたらサイトマップを勧められた。
実際は250万以上のページが存在する。
全体の数パーセントしかインデックスされていないのだ。
土日にサイトマップ生成処理を作った
Googleウェブマスターツールにサイトマップを登録。
しばらく様子見。
インデックスが増えればPVも増えて行く事を期待している。
良い結果が出てくれると嬉しい。
2008年09月26日
ログインすると何が良いのかが書かれていない
ログインページを改善してみた。
以前までは
- 認証にlivedoor Authを使っている事
- livedoor Authへのリンク
果たしてログインしたら何が良いのか?それが書かれていない事に気づいた。
何が書かれているべきか
自問自答。
- ログイン後に可能となる事は何か
- 何を出来るようになるのか
- それをしたら何が嬉しいのか
ただ作っているだけだと忘れがちな事が多々ある。
時には何も知らないユーザーの立場になってみるのが大切だね。
きっかけはGoogleウェブマスターツール
Googleウェブマスターツールのレポートで気づいた。
「タイトルタグの重複」として検出されたページを見ると、
title要素にドメイン名が出力されていないことがわかった。
何故そうなるのかを調査してみると面白い事がわかった。
punycode逆変換失敗
punycode周りにはNet::LibIDNを使っている。
例えば「xn--8uq39a59cnu0dpgkz6c.com」をidn_to_unicodeで逆変換しようとすると0文字。
Net::LibIDNのバグか…?と少々モジュールに疑いを持った。
試しにJPRSが提供しているhttp://punycode.jp/でxn--8uq39a59cnu0dpgkz6c.comを確認してみると、
逆変換できませんとなった。
Net::LibIDNは無罪。
「逆変換出来ない文字列がある」と言う事実が分かった。
重複title問題の対応
- 逆変換失敗の為、titleにドメイン名が出て来なくなる
- 重複したタイトルがいくつか発生してしまう
逆変換出来ない場合、
punycode変換された文字列を返すように変更した。
これで重複title問題は解決した。
2008年09月21日
開発時には気付かなかった事
Googleウェブマスターツール
コンテンツ分析のレポートを見て気づく事が多々ある。
何度かレポートを見ては修正して来た。
修正したつもりでも、漏れがある。
良く指摘されて来た項目はこれだ。
- 重複するメタデータ(descriptions)
- タイトルタグの重複
指摘された項目を改善する意味
アクセス解析結果を見る限り、Google経由が半数以上。
Google向けに改善するしない意味がどこにあるのだろうか。
改善後のアクセス結果を見るのが楽しみだ。
2008年07月28日
2008年07月27日
実はいい加減なフォーマット
幾つか位置情報を確認してみると
マッピングに失敗している事が多い事に気付いた。
期待していたフォーマットとは違ったからだ。
期待していたフォーマット
下記の通り
- 都道府県 市区
- 町村
- ビル名
正常系サンプル:livedoor.jp
- 東京都新宿区
- 歌舞伎町2-16-9
- 新宿TKビル4F
つまり、上2つを取得してやれば良い
そう思っていた。
しかし、現実は甘くない。
何だよこれ…
異常系サンプル: kin29.jp
- 茨城県牛久市中央5-12-14
- [汎用JPドメイン指定事業者]
- 有限会社ネットグルーヴワークス
説明文が混入している。
Google Maps APIの特徴
実際に使ってみて分かった事。
- 正常な住所である事は大前提
- 正常な住所であるはずなのに位置情報取得…
- ビル名が入っていると位置情報取得失敗
現在の住所取得ロジック
- 3行のうち、文字列「ビル」が入っていたら除外
これで大分救えるデータが増えた。
先述のkin29.jpのような特殊データは無視しておく。
オライリー・ジャパン
売り上げランキング: 46266
2008年07月19日
公開窓口の住所を地図で見たい
きっかけはいつも通り、自分の興味本位。
その住所がどこなのかを地図で見たかった。
例: livedoor.jp
処理内容は下記の通り。
- パース済みの公開連絡窓口の住所を利用
- Google Maps APIのジオコーディングで位置情報を取得
- 正常取得時は該当位置情報
- 異常取得時は株式会社あくしゅの位置情報
- 取得した位置情報をGoogle Mpasにマッピング
今後は他のccTLDも対応可能であれば対応して行きたい。
オライリー・ジャパン
売り上げランキング: 84589
2008年07月18日
前から位置情報を表示させたかった
今回、位置情報表示を実装してみた。
処理内容は下記の通り。
- FQDNの場合はIPアドレスを参照
- IPアドレスを元にGeoIP City Geolocationから位置情報を取得
- 位置情報をGoogle Maps APIで地図表示
何故実装したのか。
それは…
そのIPアドレスがどこにあるのか
そのFQDNはどこにあるか
これらを知りたかったから。
具体例
- FQDN:
- blog.hansode.org
- IPアドレス:
- 203.131.198.205
問題点
幾つか試してみると分かるのは、位置情報の精度が低い事。
前述の様に今回位置情報データベースとしてGeoIP City Geolocationを使用した。
有料版と無料版があり、無料版を使用。
有料と無料の違いは位置情報の制度。
今後の位置情報改案
- 位置情報精度向上
- whois情報から住所を取得出来るドメイン名は位置情報を表示させたい
- 複数情報をマッピングさせたみたい(具体的ネタはまだ思いついてない)
オライリー・ジャパン
売り上げランキング: 55884
2008年07月17日
WHOISデータベースが更新される度に変更アリ判定
例看護.biz
| before | after |
| <<<< Whois database was last updated on: Tue Jul 15 19:25:50 GMT 2008 >>>> | <<<< Whois database was last updated on: Wed Jul 16 15:30:53 GMT 2008 >>>> |
変更されたとみなされている部分。
このデータは重要ではない。
レジストリ側のタイムスタンプなのだから。
WHOIS情報を確認してみると、
空行までを比較対照としてやれば良い事が分かった。
空行までを比較対照とするようにパーサーを修正して解決。
少ないとは言え、無駄な過去データが入り込んでしまった。
2008年06月20日
何もしないまま一ヵ月半経過
新機能が追加される訳でもなく、
サーバがトラブルに見舞われた訳でもない。
無事に動き続けていたwhoisシステム。
チューニングしよう
オライリージャパン
売り上げランキング: 11576
この読んでみた影響で調査してみようと思い始めた。
- クエリの見直し
- スロークエリーの確認と調査
- EXPLAINで使用するインデックスの確認
- MySQLのチューニング
- サーバの統計情報確認(munin)
- mytopコマンドで確認
- vmstatコマンドで確認
- my.cnfの確認
調査結果
- クエリとインデックスに関しては劇的変化を期待出来ない状態
- key_bufferが少な過ぎ…?
そして今回はkey_bufferを増やして見ることにした。
現在様子を見ているところ。
速くなった気がする。
数日様子を見てmuninがどんなグラフを描くか楽しみだ。
2008年05月05日
文字種類の切替
文字種類変更時のボタン押下が抜け落ちている事を指摘された。
例えば、確かに判定には無かった。
a0だった場合と、
acだった場合。
前者よりも後者がキーを押す回数多いよ。
whois.hansode.org(35/n) - ドメイン名を数値化する1つの手段。携帯電話で打ちやすい文字列のスコアリング。の採点方法を更新。
新採点方法
- 減点方式
- 1文字目は-1
- 2文字目は-2
- 3文字目は-3
- 4文字目は-4
- 次の文字が、同じキーにある場合
- aaa だったら、 a(-1) + a(-2) + a(-2)
- abc だったら、 a(-1) + b(-3) + c(-4)
- 次の文字種類が違う場合
- a0 だったら、 a(-1) + 0(-2)
- 0a だったら、 0(-1) + a(-2)
SEOを意識
SEOは余り意識してなかったけど、
SEOに関する質問を立て続けに受けた。
SEOの勉強がてら、whois.hansode.orgを使って効果測定。
whois.hansode.orgは、 Googleのキャッシュが7万程度あるので
効果測定値を得るには丁度良さそう。
変更内容
- サイト名が先になっていたので、サイト名を後ろへ回した
- カテゴリが抜け落ちていたので追加
前: whois.hansode.org - キーワード
後: キーワード < カテゴリ | whois.hansode.org
さて、どうなるのかな。
2008年04月29日
それは試行錯誤の繰り返し
- 第1世代
- 思いつく有名所を調べる
- すぐに限界が訪れる…
- 第2世代
- 3文字、4文字を調べる
- 無意味な文字列も含まれてて、あまり有用情報ではない
- 第3世代
- ネームサーバからドメイン名を取得していく
- そこそこ意味のあるドメイン名を取得出来る
- しかし、やがて限界が訪れる
- 第4世代(今ココ。巡回中。)
- IPアドレスの逆引きホスト名からドメイン名を取得していく
- ホスティング用のIPアドレスレンジの場合、逆引きにサービス中のホスト名が設定されている
- かなり価値のあるドメイン名を取得出来る
第5世代はどうするか
こんな事をやりたい。
- 価値あるドメイン名を取得したい
- アクティブなウェブサイトは価値があるはず
- 知らぬ間に検索してる
- ネットサーフィンしてるだけで検索されてる
これを満たすには…
- Firefoxのアドオン(orツールバー)を作る
- 表示中ページのホスト名を取得
- whois.hansode.orgへリクエスト送信
ホスティング業者向けマーケティングツールとして使えそうな気がするな。
2008年04月24日
気になるページのHost名情報を一発検索!!
Host検索用ブックマークレットを用意した。
- Host名情報を検索
- blogパーツにより、間接的にWhois情報を検索
営業さんから「欲しい」と言われていた機能。
ターミナルからコマンドを実行する事なく、
全てがブラウザだけで解決する。


