linuxte iç ve dış ip adresi değişimlerinin twitter hesabına gönderilmesi
dış dünyaya dinamik bir ip adresi ile çıkıyor ve olası ip değişimlerinden haberdar olmak istiyorsanız elbette bunun yapmanın çok fazla yöntemi var.
bu örnekte dhcp tarafından ip değişimlerinin alğılanarak twitter üzerinden gönderilmesi konusunda ufak bir örnek yapacağız.
twitter için yeniden bir yazılım yapmayacağız.. mevcut linux cli uygulamalarını kullanabiliriz. Bu örnekte tuby ile geliştirilen T yi kullancağız. https://github.com/sferik/t adresinden yazlım hakkında gerekli bilgilendirme alınabilir..
ruby nin installer yazılımını yükleyelim ve sonrasında ise T yazılımını yükleyelim.
fcicek@ubuntu:~$ sudo apt-get install ruby-dev
fcicek@ubuntu:~$ gem install t
twitter üzerinden bu işlem için kullanacağımız bir twitter hesabı oluşturalım ve bu hesap ile http://dev.twitter.com/apps/new adresinden yeni bir uygulama oluşturalım.
ve sonrasında uygulama erişim ayarlarını yönergeleri izleyerek yapalım.
fcicek@ubuntu:~$ t authorize
It looks like you ve already registered an application with Twitter.
To authorize a new account, just follow the steps below:
1. Sign in to the Twitter Developer site.
2. Select the application for which you d like to authorize an account.
3. Copy and paste the consumer key and secret below when prompted.
Press [Enter] to open the Twitter Developer site.
authorize işlemi tamamlandıktan sonra
fcicek@ubuntu:~$ t account
fcicek@ubuntu:~$ t whoami
ile hesap kontrollerini gerçekleştirelim. ve sonrasında test için mesaj gönderelim
fcicek@ubuntu:~$ t dm ferhatcicek test
Direct Message sent from @fcicekcli to @ferhatcicek.
twitterin istemci yazılımı ile ilgili kısımları tamamladıktan sonra en önemli kısıma geldi. dhcp nin olduğu bölümü ögrendikten sonra dhclient.conf konfigürasyon dosyası içinde gerekli düzenlemeleri yapalım.
fcicek@ubuntu:~$ whereis dhcp
dhcp: /etc/dhcp
dhclient.conf dosyası /etc/dhcp/ dizini altında yer almaktadır. konfigürasyon dosyası içerisinde dhclient-script dosyasının aktif edilmesi gerekmektedir. (dizin yapısı ile ilgili sorun olabilir. )
fcicek@ubuntu:/etc/dhcp$ whereis dhclient-script
dhclient-script: /sbin/dhclient-script /usr/share/man/man8/dhclient-script.8.gz
dosyanın doğru yerini ögrendikten sonra dhclient.conf dosyası içinde
fcicek@ubuntu:/etc/dhcp$ vi dhclient.conf
script "/sbin/dhclient-script";
gerekli düzenlemeyi tamamlayalım ve bir sonraki adıma geçelim.
fcicek@ubuntu:/etc/dhcp$ ls
dhclient.conf dhclient-enter-hooks.d dhclient-exit-hooks.d
dhclient-enter-hooks.d dizini içine çalışacak olan scriptimiz yarattığınız zaman olay tamamlanmıştır..
vi tt
PRIVATE_IP=$(ifconfig |grep -B1 "inet addr" |awk '{ if ( $1 == "inet" ) { print $2 } else if ( $2 == "Link" ) { printf "%s:" ,$1 } }' |awk -F: '{ print $1 ": " $3 }')
PUBLIC_IP=$(dig -4 @ns1-1.akamaitech.net -t a whoami.akamai.net +short)
/usr/local/bin/t dm @ferhatcicek "$PRIVATE_IP \n ip: $PUBLIC_IP"