Neue SLA bei kostenlosen Dyndns Accounts mittels AutoLoginScript umgehen

Status
Für weitere Antworten geschlossen.

haol0013

Benutzer
Mitglied seit
26. Jul 2007
Beiträge
222
Punkte für Reaktionen
10
Punkte
24
Hallo,

hat schon jemand das Skript unter DSM 5.0 am laufen? Bei mir scheint das Skript nicht mehr zu laufen. Zumindest wird nichts mehr in der Logdatei protokolliert. Bis auf das Update von DSM 4.3 auf DSM 5.0 und damit verbunden auch das update auf Python (nicht Python 3) ist alles unverändert.

Grüße

Oli
 

Holgi1

Benutzer
Mitglied seit
16. Dez 2008
Beiträge
45
Punkte für Reaktionen
0
Punkte
6
Schon unter der Beta lief es bei mir nicht mehr.
Hab jetzt aber auch keine Lust mehr drauf, habe über einen externen Webspace meinen eignen dynanischen dns, indem ich meine IP und etwas html mit einer Weiterleitung per FTP draufschiebe.

Holger
 

3x3cut0r

Benutzer
Mitglied seit
21. Mai 2011
Beiträge
507
Punkte für Reaktionen
15
Punkte
44
Hallo
bin aktuell noch auf 4.3-3810 Update 4 und kann, so wie es aussieht, auch erst frühestens Wochenende Updaten.
Werde mir das dann mal anschauen und ggfls. ein HowTo/Fix für das Script bringen, falls möglich :rolleyes:

Gruß
 

haol0013

Benutzer
Mitglied seit
26. Jul 2007
Beiträge
222
Punkte für Reaktionen
10
Punkte
24
Hallo,

vielen Dank für die schnelle Antwort / Hilfe.

Grüße

Oli
 

3x3cut0r

Benutzer
Mitglied seit
21. Mai 2011
Beiträge
507
Punkte für Reaktionen
15
Punkte
44
Hi
so habe nun auch auf 5.0-4458 geupdatet und wie erwartet funktionierte das Script auch bei mir nicht mehr.
Das Problem konnte hier aber ziemlich einfach lokalisiert werden. Und zwar verwendet DSM 5.x jetzt einen anderen Pfad für Python2.x.
So musste ich nur die Shebang-Zeile (1. Zeile im Script) abändern und schon geht wieder alles:
Rich (BBCode):
#!/usr/local/packages/@appstore/Python/usr/local/bin/python

Werds auch noch im wiki ändern

Zur Info noch am Rande: Mit Python3.x müsste ein wenig am Script selber geändert werden müssen, damit das funktionieren würde. Hierfür habe ich aber gerade weder die Zeit noch die Lust ;)

Gruß
 

haol0013

Benutzer
Mitglied seit
26. Jul 2007
Beiträge
222
Punkte für Reaktionen
10
Punkte
24
Hallo,

weltklasse. Vielen Dank.
Hab's bei mir angepasst und rennt wieder.

Danke

Oli
 

Hogo Dorn

Benutzer
Mitglied seit
08. Jun 2012
Beiträge
31
Punkte für Reaktionen
0
Punkte
6
Vielen Dank für den Hinweis ..... das wäre mir sonst glatt entgangen!!

Nun funktioniert es wieder!!!

Auch für den Hinweis zu Phyton 3.xxx .... Ich würde mich freuen, wenn du irgenwann die Zeit für ein update finden würdest :) und werde solange geduldig warten ;-)
 

3x3cut0r

Benutzer
Mitglied seit
21. Mai 2011
Beiträge
507
Punkte für Reaktionen
15
Punkte
44
Auch für den Hinweis zu Phyton 3.xxx .... Ich würde mich freuen, wenn du irgenwann die Zeit für ein update finden würdest :) und werde solange geduldig warten ;-)
Es ist problemlos möglich Python 2 und 3 parallel installiert und am Laufen zu haben. Deshalb sehe ich gerade nicht die Notwendigkeit das Script auf Python 3 umzustellen. :eek:

MfG
 

Hogo Dorn

Benutzer
Mitglied seit
08. Jun 2012
Beiträge
31
Punkte für Reaktionen
0
Punkte
6
ui... und schon wieder etwas gelernt ... Danke! :eek:
 

Puppetmaster

Benutzer
Sehr erfahren
Mitglied seit
03. Feb 2012
Beiträge
18.991
Punkte für Reaktionen
628
Punkte
484
So, hab' die ganze Zeit darauf gewartet, nun ist es dann soweit:

DynDNS.com wird nun endgültig die kostenlosen Accounts nach Ablauf von 30 Tagen löschen!
Eben bekam ich die Mail zur Info von DynDNS.com, dass sie sich "schweren Herzens" dazu entschlossen haben.

Da hilft dann wohl auch kein monatliches Einloggen mehr... :(
 

3x3cut0r

Benutzer
Mitglied seit
21. Mai 2011
Beiträge
507
Punkte für Reaktionen
15
Punkte
44
Jap ... kann ich bestätigen.
Hier die Original Nachricht:
To our Dyn free hostname users:

For the last 15 years, all of us at Dyn have taken pride in offering you and millions of others a free version of our Dynamic DNS Pro product. What was originally a product built for a small group of users has blossomed into an exciting technology used around the world.

That is why with mixed emotions we are notifying you that in 30 days, we will be ending our free hostname program. This change in the business will allow us to invest in our customer support teams, Internet infrastructure, and platform security so that we can continue to strive to deliver an exceptional customer experience for our paying customers.

We would like to invite you to upgrade to VIP status for less than $20 -- a 25% discount good for any package of Remote Access (formerly DynDNS Pro). By doing so, you'll have access to customer support, additional hostnames, and more.

Here's how you get this done in two easy steps:

- Login to account.dyn.com.
- Click here to add Remote Access to your cart at the 25% off VIP rate. The discount will be applied upon checkout.

We thank you for your usage of Dyn through the years, and hope to continue to support you through Dyn Remote Access or other products for years to come. Visit our FAQ page or this blog post for more information.

Schade
 

wdsmw

Benutzer
Mitglied seit
16. Dez 2012
Beiträge
24
Punkte für Reaktionen
0
Punkte
7
Ok toll und kennt wer ein vergleichbares kostenloses Service eines anderen Anbieters?
 

stefan_lx

Benutzer
Mitglied seit
09. Okt 2009
Beiträge
2.766
Punkte für Reaktionen
73
Punkte
88
no-ip oder
twodns, die hocken in Berlin glaube ich und haben eine coole Auswahl an Domainnamen... ;)

Stefan
 

iLion

Benutzer
Mitglied seit
07. Okt 2008
Beiträge
355
Punkte für Reaktionen
4
Punkte
18
Ok toll und kennt wer ein vergleichbares kostenloses Service eines anderen Anbieters?

Ich nutze schon seit einiger Zeit den MyFRITZ Dienst von AVM. Das monatliche Anmelden bei DynDNS ging mir auf die Nerven. Zusammen mit einem CNAME Eintrag zu meiner Domain klappt das genauso zuverlässig. Oder der Synology eigene Dienst.
 

Hogo Dorn

Benutzer
Mitglied seit
08. Jun 2012
Beiträge
31
Punkte für Reaktionen
0
Punkte
6
Noch ist es ja für no-ip nicht notwendig .....
Würde sich denn das Script auf den Anbieter https://www.noip.com/ anpassen lassen??
 

Feuerwasser

Benutzer
Mitglied seit
28. Aug 2012
Beiträge
245
Punkte für Reaktionen
0
Punkte
22
das würde mich auch interessieren, da bei no-ip nämlich auch schon monatlich eingeloggt werden muss...
 

3x3cut0r

Benutzer
Mitglied seit
21. Mai 2011
Beiträge
507
Punkte für Reaktionen
15
Punkte
44
@Hogo Dorn:
Werde mich demnächst mal ransetzen und versuchen ein, für NoIP, funktionierendes script zu schreiben.

@Feuerwasser:
Ist das wirklich schon so, sich monatlich einloggen zu müssen? Ich habe diesbezüglich nichts gefunden.
 

3x3cut0r

Benutzer
Mitglied seit
21. Mai 2011
Beiträge
507
Punkte für Reaktionen
15
Punkte
44
Hier mal ne schnelle Rohfassung :rolleyes:
Wäre cool wenn die mal ein paar Leute testen könnten.
Was mir nur bisher aufgefallen ist: Wenn man sich öfter innerhalb von 15 min einloggt, wird der Login für einen kurzfristig gesperrt.
Also bitte kurze Rückinfo ...

Rich (BBCode):
#!/usr/local/packages/@appstore/Python/usr/local/bin/python

import urllib
import urllib2
import cookielib
import getopt
import sys
import logging

def getRandHTMLResponse(response):
    target = "<form id=\'login"
    targetresponse = "<div id=\'sign-up-wrap\'"

    response = response[response.find(targetresponse):len(response)]
    return response[response.find(target)+len(target):response.find(target)+len(target):response.find(target)+len(target)+4]

def getHiddenRandHTMLResponse(response):
    target = "<input type=\'hidden\' name=\'Login\' value=\'"
    targetresponse = "<div id=\'sign-up-wrap\'"
    parsedres = response[response.find(targetresponse):len(response)]
    return parsedres[parsedres.find(target)+len(target):parsedres.find(target)+len(target)+34]

def checkLogin(response):
    target = "<title>No-IP Members Portal: Your No-IP</title>"
    if response.find(target) == -1:
        return False
    return True

def usage():
    print "usage: ./noipAutoLogin [options]"
    print ""
    print "options:"
    print "-h, --help 	 show this help message and exit"
    print "-u, --username   set your NoIP login_username"
    print "-p, --password   set your NoIP login_password"
    print ""
    print "example:"
    print "./noipAutoLogin -u username -p password"

class HTMLSession:
    cj = None
    opener = None
    txHeaders = None
    
    def __init__(self, txHeaders):
        #The CookieJar will hold any cookies necessary throughout the login process.
        self.cj = cookielib.MozillaCookieJar()
        self.txHeaders = txHeaders
        self.opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cj))
        urllib2.install_opener(self.opener)

    def setHeaders(self, txheaders):
        self.txHeaders = txHeaders

    def getHeaders(self):
        return self.txHeaders

    def openURI(self, uri, txdata):
        try:
            req = urllib2.Request(uri, txdata, self.txHeaders)
            # create a request object

            handle = urllib2.urlopen(req)
            # and open it to return a handle on the url

        except IOError as e:
            print 'we failed to open "%s".' % uri

            if hasattr(e, 'code'):
                print 'We failed with error code - %s.' % e.code
                logging.error('We failed with error code - %s.' % e.code)
            elif hasattr(e, 'reason'):
                print "The error object has the following 'reason' attribute :"
                print e.reason
                print "This usually means the server doesn't exist,'"
                print "is down, or we don't have an internet connection."
                return None
        else:
            return handle.read()

def main(argv):
    username = ""
    password = ""
    logfile = "/volume1/logs/noipAutoLogin.log"
    hiddenval = ""
    theurl = "https://www.noip.com/login"
    thelogouturl = "https://www.noip.com/logout"
    txdata = None
    txheaders =  {'User-agent' : 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'}
    # fake a user agent, some websites (like google) don't like automated exploration
    logging.basicConfig(filename=logfile,level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s', datefmt='%Y/%m/%d %H:%M:%S')

    try:
        opts, args = getopt.getopt(argv, "hu:p:", ["help", "username=","password="])
    except getopt.GetoptError:
        usage()
        logging.warning('Manual login with incorrect parameters')
        exit(2)
    for opt, arg in opts:
        if opt in ("-h", "--help"):
            usage()
            exit(2)
        elif opt in ("-u", "--username"):
            username = arg
        elif opt in ("-p", "--password"):
            password = arg

    myhtmlsession = HTMLSession(txheaders)
    response = myhtmlsession.openURI(theurl, None)

    if response == None:
        sys.exit(0)

    hiddenval = "1"
    txdata = urllib.urlencode({'username':username, 'password':password, 'Login':hiddenval, 'Login': "Sign In"})
    response = myhtmlsession.openURI(theurl, txdata)
    if response == None:
        sys.exit(0)
    
    #we should sleep here for about 10 seconds.
    if checkLogin(response):
        print 'We have succesfully logged into NoIP.'
        logging.info('We have succesfully logged into NoIP.')
    else:
        print 'Login failed'
        logging.info('Login failed')

    response = myhtmlsession.openURI(thelogouturl, None)
    if response == None:
        sys.exit(0)

if __name__ == "__main__":
    main(sys.argv[1:])

Gruß
 

Feuerwasser

Benutzer
Mitglied seit
28. Aug 2012
Beiträge
245
Punkte für Reaktionen
0
Punkte
22
Hammer wie schnell das ging! Danke!
2014/05/02 22:59:29 - INFO - We have succesfully logged into NoIP.
Ich lasse das Script jede Woche einmal ausführen, werde also nicht mit der Loginsperre konfrontiert werden.
Muss ich eigentlich das Script mit "chmod +x" ausführbar machen oder ist das überflüssig?
Könnte mich auch geirrt haben, da steht
Hostnames Expire Every 30 Days
http://www.noip.com/managed-dns/
 

3x3cut0r

Benutzer
Mitglied seit
21. Mai 2011
Beiträge
507
Punkte für Reaktionen
15
Punkte
44
OK scheint wohl so zu sein ^^

Das Skript sollte ausführbar sein ja ... jetzt wo du das so erwähnst, hab mir darüber nie Gedanken gemacht. Steht auch so im wiki nicht drin :O
Die skripte müssen bei mir eh ausführbar sein, weil ich die ja eh immer erst auf Konsole getestet hatte und da gehts net anders.
Habs auch grad ausprobiert, ein script mit -rw-r--r-- wird mittels Aufgabenplaner nicht ausgeführt ... zeigt aber auch net ma ne Fehlermeldung an ...
Werds auch mal ins wiki reinschreiben.

Muss warscheinlich eh den kompletten Artikel umschreiben. Der is jetzt für Dyndns geschrieben. Werd ihn dann etwas allgemeiner formulieren. Warscheinlich dauerts auch net lang und ich muss das Skript eh wieder für andere Anbieter umbiegen :D

Gruß
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat 

 
 
  AdBlocker gefunden!

Du bist nicht hier, um Support für Adblocker zu erhalten. Dein Adblocker funktioniert bereits ;-)

Klar machen Adblocker einen guten Job, aber sie blockieren auch nützliche Funktionen.

Das Forum wird mit hohem technischen, zeitlichen und finanziellen Aufwand kostenfrei zur Verfügung gestellt. Wir zeigen keine offensive Werbung und bemühen uns um eine dezente Integration.

Bitte unterstütze dieses Forum, in dem du deinen Adblocker für diese Seite deaktivierst.

Du kannst uns auch über unseren Kaffeautomat einen Kaffe ausgeben oder ein PUR Abo abschließen und das Forum so werbefrei nutzen.

Vielen Dank für Deine Unterstützung!