自分のIPアドレスをgtalkで送信

LAN内でホスト名解決できない(申請しなければならない)環境なので、IPアドレスを定期的にXMPP(Google Talk)で自分宛で送る事にした。
以前作ったgtalk-send.rbを元に。

自分で自分宛に送ってすぐログアウトするようにしてるから、他のマシンでgtalkにログインしてれば受信できる。

#!/usr/bin/env ruby

require 'rubygems'
require 'xmpp4r'
require 'kconv'

ifc = `/sbin/ifconfig` # OS毎にパスが違うかも
inets = ifc.scan(/.*(inet.*) .*/i)
puts '--your IP info--'
puts inets

user = 'your-google-account'
pass = 'your-google-password'

client = Jabber::Client.new(Jabber::JID.new(user))
client.connect('talk.google.com', 5222)
client.auth(pass)


puts 'sending to: ' + user
msg = Jabber::Message.new(user, '(sho-x32) '+inets.to_s) # 自分に送る
client.send(msg)

puts '--finished--'