Нужен скрипт, который бы в убунте определял ее айпишник и допустим с некоторой периодичностью его отсылал бы на почту.
времени мало, поэтому хочется точно знать, чем воспользоваться.
# -*- coding: utf-8 -*-
import xmpp
import urllib2
def run(bot, mess):
strURL = 'http://api.wipmania.com/'
f = urllib2.urlopen(urllib2.Request(strURL))
response = f.read()
outerIP = response.split("<br>")[0]
f.close()
bot.send(xmpp.Message( mess.getFrom(), outerIP ))
# cofing: utf-8
import urllib, re
def my_ipv6():
"""Возвращает IPv6-адрес (используется ipv6.whatismyipv6.net)."""
url = "http://ipv6.whatismyipv6.net/"
tmp = urllib.urlopen(url).read()
my_re = re.compile(r"<h1>(.*?)</h1>")
tmp = re.findall(my_re, tmp)
tmp = tmp[0].split(" ")
tmp = tmp[-1]
return tmp
print my_ipv6()
>>> import netifaces
>>> dir(netifaces)
['AF_APPLETALK', 'AF_ASH', 'AF_ATMPVC', 'AF_ATMSVC', 'AF_AX25', 'AF_BLUETOOTH', 'AF_BRIDGE', 'AF_DECnet', 'AF_ECONET', 'AF_FILE', 'AF_INET', 'AF_INET6', 'AF_IPX', 'AF_IRDA', 'AF_ISDN', 'AF_KEY', 'AF_LINK', 'AF_NETBEUI', 'AF_NETLINK', 'AF_NETROM', 'AF_PACKET', 'AF_PPPOX', 'AF_ROSE', 'AF_ROUTE', 'AF_SECURITY', 'AF_SNA', 'AF_UNIX', 'AF_UNSPEC', 'AF_WANPIPE', 'AF_X25', '__doc__', '__file__', '__name__', 'ifaddresses', 'interfaces']
>>> netifaces.interfaces()
['lo', 'eth0', 'wmaster0', 'wlan0', 'ppp0', 'vboxnet0', 'sit0', 'he-ipv6']
>>> netifaces.ifaddresses("eth0")
{17: [{'broadcast': 'ff:ff:ff:ff:ff:ff', 'addr': '00:16:d4:4d:3d:2f'}], 2: [{'broadcast': '192.168.1.255', 'netmask': '255.255.255.0', 'addr': '192.168.1.2'}], 10: [{'netmask': 'ffff:ffff:ffff:ffff::', 'addr': 'fe80::216:d4ff:fe4d:3d2f%eth0'}]}
>>>
from socket import socket, SOCK_DGRAM, AF_INET, AF_INET6
s = socket(AF_INET, SOCK_DGRAM)
s.connect(('google.com', 0))
print "my ipv4 - ", s.getsockname()
s = socket(AF_INET6, SOCK_DGRAM)
s.connect(('ipv6.google.com', 0))
print "my ipv6 -", s.getsockname()