by @nyarla

言及 (2013-08-05)

概要: というのを作りました。


これは何?

  1. ある IP アドレスが
  2. 日本の携帯キャリアの IP アドレスかどうかを判定するための
  3. Go 言語用のライブラリ

なぜ作ったか

  1. しばらく前から、Go 言語で 2ch 互換掲示板作れないかと画策してた
  1. よろしい、次は ID だ! となって作業を開始した
  1. 以上の理由により、よろしい、ならば作成だ! となった

使い方

package main

import (
"fmt"
"net"
checker "github.com/nyarlabo/go-cidr_mobilejp"
)

func main() {
docomoIP := net.ParseIP(`210.153.84.5`)
isMobile, carrier := checker.IsMobile(docomoIP)

fmt.Println(isMobile) // true
fmt.Println( carrier == checker.DOCOMO ) // true
}

細かいドキュメント等

小ネタ集

  1. ソースコード内のsource.goは、実は Perl スクリプトで生成してる
  1. あとWWW::MobileCarrierJPのパッチを tokuhirom さんに pull-req とかした
  1. それとsource.goでは、IP Range を precompile してる

とりあえず以上

よかったら使ってみてくらさい。

あんまり使い道思いつかんけど(w

#FIXME