Przez to moje Rasbperry Pi jest trudne do złapania...
Tu przychodzi z pomocą no-ip.org, dzięki któremu możemy mieć adres NaszaNazwa.no-ip.org.
Problem w tym, że co jakiś czas trzeba odnawiać adres IP.
Poszukałem po sieci i znalazłem skrypt w Pythonie do tego.
Całkiem fajny skrypt, ale nie podobało mi się to, że wysyłał username i password otwartym tekstem po HTTP.
Stąd stworzyłem swoją własną wersję, która wygląda tak:
import urllib2
import base64
myurl = "YOUR_NAME.no-ip.org"
username = "YOUR_USSERNAME_HERE"
password = "YOUR_PASSWORD_HERE"
web_page = urllib2.urlopen("http://iptools.bizhat.com/ipv4.php")
myip = web_page.read()
print "Your IP is " + myip + "\n"
update_url = "https://dynupdate.no-ip.com/nic/update?hostname=" + myurl + "&myip=" + myip
req = urllib2.Request(update_url)
req.add_header('Authorization', 'Basic '+base64.encodestring(username+":"+password).replace("\n",""))
resp = urllib2.urlopen(req)
content = resp.read()
print content
Jak widać używam urllib2 i base64, a cała komunikacja z serwerami No-IP odbywa się po HTTPS.
Dodatkowo nasze credentiale "lecą" w Base64 w nagłówku, a nie w request stringu, czyli nie wylądują w ich logu :-)
Później tylko dodajemy skrypt do crontaba by uruchamiał się powiedzmy co 30 minut i już wszystko powinno działać :-)
Podobne postybeta
Airly + Python + Oczyszczacz Powietrza = lepsze oddychanie ;-)
Wysyłamy pliki do Google Docs przy pomocy Go :-)
Raspberry Pi po ponad roku
Żenienie Todoist z Obsidian przy pomocy Pythona ;-)
Czasem człowiek musi napisać dekodowanie Base64 w JavaScript ;-)
Brak komentarzy:
Prześlij komentarz