Skip to content
Snippets Groups Projects
Commit 5b50a615 authored by Eckl, Máté's avatar Eckl, Máté
Browse files

Félmegoldás a nincs valamilyen ip megoldásra #3

Nem találtam rá megfelelő módszert, hogy eldöntsenm van-e egy adott típusú ip-je a felhasználónak... Ezért, amíg nem találok mást, marad az a megoldás, hogy már configból is, és parancssorból is megadhatja, hogy milyen protokollon keresztül akar csatlakozni. Persze ez egyébként is egy elvárható funkció.
parent 428fe31e
No related branches found
No related tags found
No related merge requests found
......@@ -13,6 +13,13 @@ MY_TOKEN = ""
# Az IP cím, amire frissíteni akarod a domain rekordod. Ha erről a gépről akarod használni, akkor hagyd el.
# Ha nem muszáj ne használd!
# Ha nem változtatod meg, akkor az éppen aktuális publikus címed kerül beállításra
MY_IP_V4 = "" # opcionális
MY_IP_V6 = "" # szintén opcionális
# Ha van egy IP protokoll, amin keresztül szeretnéd, ha a frissítés megtörténne, itt megadhatod.
# Lehetséges értékek: 4, 6
# Ha nem adsz meg értéket, akkor mindkét protokollon keresztül meg fog történni a kérés.
# Ha megadod, akkor csak az adott protokollhoz tartozó adatok fognak frissülni
# (pl 4 esetén csak a MY_IP_V4 változó értéke, vagy annak meg nem adása esetén csak az IPv4-es cím frissül)
UPDATE_IP_VERSION = 0
......@@ -3,6 +3,15 @@
from conf import *
import urllib2
import sys
update_version = UPDATE_IP_VERSION
# a parancssori paraméter rugalmasabb, mint a config, ezért felülírhatja
if len(sys.argv) > 1:
arg1 = int(sys.argv[1])
print arg1
if arg1 in (4, 6):
update_version = arg1
data_v4 = "token=%s&prefix=%s" % (MY_TOKEN, MY_PREFIX)
data_v6 = data_v4
......@@ -16,9 +25,13 @@ if len(MY_IP_V4) > 0:
if len(MY_IP_V6) > 0:
data_v6 += "&ip_address=%s" % MY_IP_V6
for (server, data) in [(server_v4, data_v4), (server_v6, data_v6)]:
for (server, data, version) in [(server_v4, data_v4, 4), (server_v6, data_v6, 6)]:
try:
response = urllib2.urlopen(server, data=data, cafile="i42.crt")
if (update_version in (4, 6)) and (update_version != version):
break
response = urllib2.urlopen(server, data=data, cafile="i42.crt", timeout=30)
print response.read()
except urllib2.HTTPError, ex:
print ex
sys.stderr.write(str(ex))
except urllib2.URLError, ex:
sys.stderr.write(str(ex))
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment