月別アーカイブ: 2014年3月

node.jsでuser agentからできるだけ詳しい情報を得る

useragentからできるだけ多くの情報を得たくなる時がありますよね・・・
WindowsのバージョンとかLinuxのディストリビューションとかAndroidの型番とかレンダリングエンジンとかCPUのアーキテクチャとか・・・

そこでnode.jsで使えるuseragentのパーサーを探すとhttps://github.com/faisalman/ua-parser-jsがありました!

かなりいろんなOSやデバイスやブラウザに対応してて最強感あります。
日本のガラケーとかsleipnirのような日本のブラウザに対応してないのは・・・しかたないですね

npm install ua-parser-jsで入ります。

これでこんな感じに出力されます。

すごく便利ですね!おそらくモバイル系デバイスだと思いますがメーカーまで出てくるのはすごい!

おそらくUA関係で調べたいことだいたい出てくると思います。

.getResult()関数以外にも.getOS()や.getBrowser()などの関数もあります。

例えば.getOS()すると{name:’名前’,version:’バージョン’}とgetResult()の一部分が出てきます。

続きを読む

スポンサードリンク

node.jsでIPアドレスが範囲に入ってるか等

チャットや掲示板などを運営していて荒らしやスパムを防ぐためにIPを範囲で規制したくなることがありますよね・・・
123.223.0.0/16からの投稿を規制したいとか

そこでnode.jsでIPアドレスが範囲に入っているかチェックする方法を調べると、range_checkというのが使えるようです。

npm install range_checkで入ります。

使い方

範囲に入っているか以外に正しいIPアドレスか、v4アドレスかv6アドレスかなども確かめられます。

IPv6にも普通に対応してるので安心して使えますね。

 

nginxのrewriteでOpenPNE3.8.10動かす

久しぶりにOpenPNEインストールしようと思ったら最近のOpenPNEは3.8からスマホ対応してきてるんですね・・・

それはともかくOpenPNEではApacheのrewriteを使っています。あの黒魔術とも言われるあれです。
しかし僕は数カ月前くらいにwebサーバーをnginxに移行させてしまっていたので困りました・・・

そこでOpenPNEの.htaccessのrewrite設定をnginx用のrewrite設定に移植しましてみましたが・・・3時間くらいかかった(´Д`)
日本語情報が意外となくて英語と格闘したり目的の情報にピタッとくる記事が見つからなかったり・・・ググり力身につけないと(^_^;)

ともかくもとのapacheのrewrite設定がこれ

でnginx用に作ってみたのがこれ

一応動きましたが・・・間違ってるかもしれないので間違ってたら教えてください。

RewriteBaseが/じゃない場合はlocation /と”${document_root}/index.html”あたりを書き換えたらいいかと

linuxとpidginでLINEする[naver LINE chat](追記あり)

追記:コメントいただきましたように公式でLinuxをサポートしたChrome版LINEがリリースされています!https://chrome.google.com/webstore/detail/line/menkifleemblimdogmoihpfopnplikdeChromeをお使いの方はこれを使うのが確実でしょう。pidginで使いたい方は以下を参照してください。

日本人のスマホユーザーの多くが使っているであろうお馴染みのチャットサービスのLINEですが、PC版には残念ながらLinux版がありません。ヽ(`Д´#)ノ ムキー!!
なのでLinuxでLINEをしようと思ったらWindows版をWineで動かすのが普通です。
しかし、最新バージョンではWineでは動かなくなってきているそうです。
一年くらい前までにはLINEのWeb版があってブラウザからできたんですがそれもとっくの昔に提供終了して・・・ヽ(`Д´#)ノ ムキー!!
誰かLINEのプロトコル解析してLinuxネイティブなクライアント作ってないかな・・・と思ったらありました!!!感謝!!!

https://github.com/mvirkkunen/purple-line/
こちらに移動しました→http://altrepo.eu/git/purple-line

pidginのプラグインです。(pidginはWinとLinuxや各種Unixで使えるインスタントメッセンジャー)

早速インストール

まず必要なライブラリーを揃えます。
必要なのはapache thrift(ライブラリー&コンパイラ)とlibpurpleです。boostも必要なようです。
Ubuntuではlibpurpleはapt-get install libpurple0 libpurple-dev libpurple-binで入れました。
この記事を書いた2014年3月ではthriftの方はUbuntuではaptで入れるとうまくいかなかったのでソースから入れました。(ソースからmakeするほうが望ましいようです。)c++向けのライブラリーがビルドされる必要があります。参考ページ(英語)(←古いページかもしれません。)
2015年6月でのarch linuxではpacman -S pidgin libpurple thrift boost で揃いました。(boostが入ってなかったので、thriftはpacmanから入れても大丈夫のようです。)

次にpurple-lineのコンパイルをします。
上記ページからgit cloneするなりして展開します。
git clone http://altrepo.eu/git/purple-line.git

次に展開したディレクトリーに移動してそのままmakeコマンドを叩けばいけるはず。(エラーが出たらその都度足りないものをインストールしていきます。)
無事コンパイルできたらsudo make installすればインストールされます。自分のホームディレクトリにインストールしたい場合は(sudoつけずに)make user-installすればホームディレクトリ下のプラグインのディレクトリーにコピーされます。(以前はmake installでホームディレクトリにインストールされましたが今は普通に(システム全体に)インストールされるようです。)
thriftのライブラリーを読み込んでくれないことがあるのでsudo ldconfigも忘れずに

使う

あとはpidginをたちあげたらアカウントを追加する画面にLINEの項目があるのでユーザー名とパスワードの欄にメールアドレスとパスワードを入力すれば使えます。初回ログインの時に認証番号が表示されますが、スマホのLINEにそれを入力したらログインできます。
まあまあ使えます。

これでLinuxユーザーの方もチャットサービスのほぼデファクトスタンダードに参加できずにハブられる心配もないですね!
公式にLInux対応しないかな・・・(‘A`)
追記:ネイティブアプリではないですが公式のChrome版LINEはLinuxで使えます!