先日の、”i.softbank.jpと、ezweb.ne.jpのメールをプッシュ通知させた”ではIMAPサーバにログインし、iPhoneへプッシュさせたが、同じProwlを利用しTwitter通知をさせてみた。
ちょっと前回よりも面倒だったので書いておく。 

準備

ruby-gems 他のインストール

前回も書いた通り、Ruby1.8と1.9が共存しているので、そのままではruby-gemsが1.8対応でインストールされてしまう。これは、

/etc/make.conf に

RUBY_DEFAULT_VER=1.9

の記述をしておくか、make時に環境変数としてこの値を渡す事で1.9対応のものがインストール出来る。

#cd /usr/ports/devel/ruby-gems
#make install clean

続いて、

#gem19 install json ruby-hmac oauth

で必要なものをインストールしておく。

TwiProwl

APIkeyの取得

前回同様、http://www.prowlapp.com/からAPIkeyを取得しコピーしておく。

インストール

git clone https://github.com/takuo/TwiProwl.git

設定ファイルの用意

#cd TwiProwl
#cp config.yml twiprowl.conf
#vi twiprowl.conf

[以下、編集するところ色付け]

LogDir: logs
Debug: false
Daemon: true

Streaming: true
Favorite: true
FavoritePriority: 0

# ProxyURI:
# CAPath: /etc/ssl/certs # for Debian
# CAFile: /opt/local/share/curl/curl-ca-bundle.crt # for MacPorts
CAFile: /etc/ssl/ca.0228me.20111128/cert.pem

Prowl:
APIKey: ここにProwlのAPIKeyを記述

NMA:
APIKey: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Growl:
Sticky: 0 # lowest priority to enable stikcy option

Accounts:

Application: “Twitter”
NotifyMethods:
– “prowl” # Prowl for iPhone
# – “nma” # Notify My Android for Android
# – “growl” # use growlnotify, it requires growl.gem and growlnotify
User: kazuyoshi
RateLimitThreshold: 20
UseProxy: false # <= use Prowl::ProxyURL

Mentions: # Event on Mentions
Enable: true
Priority: 1
IgnoreSelf: false # Ignore mention by myself
Direct: # Event on Direct Messages
Enable: true
Priority: 0
IgnoreSelf: false # Ignore DM event from myself
Retweets: # Event on Retweets
Enable: true
Priority: 0
Membership: # Event on List Membership
Enable: true
Priority: 0
IgnoreSelf: false # Ignore event by myself
IgnoreNegative: false # Ignore remove event
Favorite: # Event on Favorite/Unfavorite
Enable: true
Priority: 0
IgnoreSelf: false # Ignore event by myself
IgnoreNegative: false # Ignore Unfavorite event
Unfollowed: # Event on Unfollowed, requiresi API rate
Enable: true
Priority: 0
Interval: 1800
RegexpMatch:

User: “horumon_bot”
Priority: 2
Enable: true

Text: “TwiProwl”
Priority: 0
Enable: true

Text: “horumon”
Priority: 0
Enable: true

User: “^northeye$”
Text: “TwiProwl|twiprowl”

起動

ここまでで、準備がほぼ整ったので、起動してみる。

#./twiprowl
LoadConf: /usr/home/saito/bin/TwiProwl/twiprowl.conf All logs will be written into /tmp/twiprowl.log. Enter the password for kazuyoshi:
** Processing OAuth authorization for kazuyoshi…
Error: Failed to OAuth due to wrong password or the server error. ErrorMessage: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

どうも証明書の検証が出来なくて困ってる感じ。
当初証明書がおかしいのかとか思ってそっち方面から色々検索したり試したりしたが何をやってもこのメッセージ。
いい加減あきらめたくなったが、結局以下の方法で回避した。(解決ではなくて、回避…)
twiprowlのスクリプト中、

# http.verify_mode = OpenSSL::SSL::VERIFY_PEER

このコメントアウトされた行を、

http.verify_mode = OpenSSL::SSL::VERIFY_NONE

とする事で、検証をしなくなるので、そのままOAuthが成功し、起動するようだ。
初回のみ、Twitterのパスワードが必要。(Twitter側に登録される)

 

すっきりはしないが、取りあえず動いた。そのうち自動起動のスクリプトを書いておこう。

 

 

 

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Post Navigation