Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenloses um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereiche, welche für Gäste verwehrt bleiben

NO-IP Account-Renew Script 1.0

Ich habe jetzt mal alles zusammen in das zwischezeitlich um exteren Konfiguration erweiterte Skript gepackt. Ist noch ungetestet!
Wenn man keine Mail senden Will, muss amn nur die Variable SMTPSERVER = "" setzen, dann endet das Skript vor dem Mailversand.
Außerdem ist die Konfiguration der Use/Pass Kombinationen für NoIP und eMail in die externe Datei NOIP_Account_Renew.py gewandert.

Hier nun die komplette Version:

Du musst dich Anmelden oder Registrieren um diesen Inhalt sichtbar zu machen!

Man könnte noch die Variablen SMTPSERVER und SMTPPORT in die externe Datei auslagern...

Die momentane Konfigurationsdatei:

Du musst dich Anmelden oder Registrieren um diesen Inhalt sichtbar zu machen!

Testlauf:

Du musst dich Anmelden oder Registrieren um diesen Inhalt sichtbar zu machen!
 
Zuletzt bearbeitet:
Wir sind schon echt geil :)
Das ganze sollte jetzt noch in git damit wir den Überblick behalten......
Aber sieht schonmal gut aus :) Werde nachher mal testen.....

und ja:
SMTPSERVER = " "
SMTPPORT = " "
Sollte auch noch in die config Datei ausgelagert werden...


und ausserdem ist die Schleife irgendwie kaputt gegangen
Schau was ich per mail jetzt bekomme:

Du musst dich Anmelden oder Registrieren um diesen Inhalt sichtbar zu machen!
 
Zuletzt bearbeitet:
OK, Habe SMPTSERVER, SMTPPORT und MAILPASS auch in die externe Datei gepackt. Für MAILPASS gilt das gleiche wie für SMTPSERVER: Wenn es nicht gesetzt ist (""), dann wird es deaktiviert. Der eMailtext müsst eauch gehen. Dadurch, dass der Quelltext falsch gepostet wurde, waren die Einrückungen weg.


Du musst dich Anmelden oder Registrieren um diesen Inhalt sichtbar zu machen!

Du musst dich Anmelden oder Registrieren um diesen Inhalt sichtbar zu machen!
 
Sorry MegaV0lt.....hab vergessen daß das Python ist....sind die Einrückungen tatsächlich verschütt gegangen.
Ich finde deine Idee mit der externen Konfig eigentlich ganz gut und habe es auch erfolgreich getestet.
Für die jenigen die es aber lieber haben alles in einer Datei zu haben, habe ich hier auch noch einmal eine Version, die den kompletten Konfig Bereich ganz oben im Script hat, man muss also nicht im Script selbst suchen, um Parameter zu ändern.
Als Variablen stehen nun folgende Werte zur Verfügung:

USERNAME = "username" # Der NO-IP.com Login Name
PASSWORD = "password" # Das NO-IP.com Passwort
LOG_FILE = "/var/log/NOIP_renew.log" # Ort des Logfiles auf dem System
LOG_FILENAME = "NOIP_renew.log" # Anzeigename des Logfiles in der E-Mail
FROMADDR = "from@address.com" # Absender e-Mail Adresse
TOADDR = "to@address.com" # Empfaenger e-Mail Adresse
MAIL_SUBJECT = "NO-IP Account Updater" # Betreff der Status Mail
MAIL_BODY = "NO-IP Account Updater Service updated your NO-IP Account for another 30 days. Please check the attached Logfile" # Text in der E-Mail
SMTPSERVER = "192.168.1.1" # SMPT Server an den die Status Mail ausgeliefert werden soll - Wenn leer, dann keine Mail
SMTPPORT = "25" # TCP Port des SMTP Servers. In der Regel Port "25"
SMTP_PASSWORD = "" # Wenn Authentifizierung am SMTP Server , dann Auth Password

Anleitung

Du musst dich Anmelden oder Registrieren um diesen Inhalt sichtbar zu machen!

Das Script funktioniert für mich, kann sogar 5 Dyn Domänen updaten und kann eine Status Mail versenden, wenn SMTPSERVER nicht leer ist. Es kann Authentifizierung am SMTP Server, wenn SMTP_PASSWORD nicht leer ist.
Der Ort des Logfiles kann nun auch geändert werden.
Vielen Dank nochmal an DarkStarXxX und MegaV0lt.

Status Mail

Du musst dich Anmelden oder Registrieren um diesen Inhalt sichtbar zu machen!

Und da ich zu blöd bin hier das Python Script samt Einrückungen zu veröffentlichen, habe ich nun einfach die komplette Datei ZIP gepackt hier hingelegt
 

Anhänge

  • no-ip_updater.zip
    1,8 KB · Aufrufe: 49
Zuletzt bearbeitet:
Klasse! Das hat mich dazu inspiriert, ein "AllInOne"-Skript zu basteln. Man kann die Variablen im Skript setzen oder die externe Datei verwenden. Gesteuert wird das über CONFIG_FILE. Wenn leer werden die Skriptvariablen verwendet.

Du musst dich Anmelden oder Registrieren um diesen Inhalt sichtbar zu machen!


Du musst dich Anmelden oder Registrieren um diesen Inhalt sichtbar zu machen!
Konsolenausgabe:

Du musst dich Anmelden oder Registrieren um diesen Inhalt sichtbar zu machen!
Edit 25.10.2016: Skriptupdate - LOG_FILE ist nun abschaltbar (Praktisch, wenn man z. B. cron zum Mailversand verwendet)
 
Zuletzt bearbeitet:
super...so muss es sein......

So und wenn du mir noch ganz zum Schluss verrätst, wie du die Einrückungen im Spoiler hin bekommst dann hast du gewonnen :)
Mir fällt jetzt nichts mehr ein, was ich noch verbessern könnte.
Btw: die Idee mit den ausgelagerten Config Informationen finde übrigens richtig gut, so kann man das eigentliche Script updaten, ohne daß jedesmal die Config Info's neu eingetragen werden müssen. Aber da es bei diesem Script tatsächlich irgendwann nichts mehr zu Verbessern gibt (?), können Diese dann schon rein, so daß man im Script Ordner nicht so viele kleine Config Dateien rumliegen hat, bei denen man nicht weiss wo die hingehören.
Das letzte was man noch machen könnte, damit alles sein Ordnung hat wäre, daß DarkStarXxX das Script oder den Spoiler in den ersten Post übernimmt :) Aber DarkStarXxX liesst ja irgendwie nicht mehr mit ?
 
Hallo MegaV0lt
Bekomme folgenden Fehler, wenn ich die Option nutze, die Config Daten nicht aus zu lagern. Die Config Datei existiert überhaupt nicht in diesem Fall

Im Script sieht es so aus:
# Vorgaben
CONFIG_FILE = "" # Ohne .py (Im gleichen Verzeichnis wie das Skript!)

Das Ergebnis:
######################################
NO-IP Account-Renew Script #161021.3
Traceback (most recent call last):
File "./no-ip_updater.py", line 232, in <module>
myconf = importlib.import_module(CONFIG_FILE, package=None)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named NOIP_Account_Renew
#######################################

Erstelle ich ihm die Datei NOIP_Account_Renew.py (damit er sie hat)
kommt folgende Meldung:
NO-IP Account-Renew Script #161021.3
Traceback (most recent call last):
File "./no-ip_updater.py", line 233, in <module>
USERNAME = myconf.USERNAME ; PASSWORD = myconf.PASSWORD
AttributeError: 'module' object has no attribute 'USERNAME'

jetzt regt er sich auf, daß meine Datei leer ist :)
Idealerweise sollte sie aber gar nicht vorhanden sein müssen, wenn CONFIG_FILE = ""
Allerdinss wird die Mail korrekt versendet und auch das Updaten klappt.
Wenn man das aber per cron aufruft und nach /dev/null umleitet ist ja alles gut :)
 
Zuletzt bearbeitet:
Zum testen hab ich mal das gemacht:

Du musst dich Anmelden oder Registrieren um diesen Inhalt sichtbar zu machen!
dann kommt:

Du musst dich Anmelden oder Registrieren um diesen Inhalt sichtbar zu machen!
Bist Du sicher, dass die Einrückungen nach if CONFIG_FILE stimmen?

PS: das mit dem Code geht so: (SPOILER="# Start")(CODE)...Quellcode(/CODE)(/SPOILER)
Du musst alles in CODE Posten und das wiederum in Spoiler. ( duch [ ersetzen

PPS: Der Fehler ist in Zeile 232! Kann das sein... Bei mir ist das ganze nur 152 Zeilen lang
 
Zuletzt bearbeitet:
Du musst dich Anmelden oder Registrieren um den Inhalt der Angebote zu sehen!
....ja was soll ich sagen......
Ich habe von der Arbeit aus eine SSH Verbindung auf meinen BananaPi zu hause und probiere alles dort aus.
Es kann nicht anders sein, als daß beim Copy&Paste da irgendwas geprellt hat, oder ich bin der größte Hornochse hier......
Klar, hab ich den Code doppelt drin.....Nach "Reparatur" alles gutr es läuft mit und ohne Config File
Super.
Das einzige was ich jetzt noch machen möchte ist, Dein letztes Update: VERSION=161021.3
Hier als File an zu hängen. Ich hoffe das ist okay so, denn für manche ist es einfacher ein File herunter zu laden

File:
 

Anhänge

  • no-ip_updater_V161021_3.zip
    2,3 KB · Aufrufe: 88
Ich habe ja erst vor zwei Tagen angefangen mich mit dem python zu beschäftigen. Da es aber ganz gut zu funktionieren scheint, denke ich, wir können das so lassen. Die Hauptarbeit hat ja @DarkStarXxX gemacht. Einen herzlichen Dank an alle die hier mitgearbeitet haben!

@DarkStarXxX
Wäre schön, wenn Du das Skript aus den Beiträgen (#80 bzw. #84 - Beide gleich) hier auf der ersten Seite verlinken würdest.
 
Leider wird das Script über einen Croneintrag bei mir nicht mehr ausgeführt. Manuell geht es. Er lautet folgendermaßen:

0 6 1,15 * * /home/scripts/Oscam/NOIP-Account-Renew

Die Datei hat die Rechte 755. Jemand eine Idee (IPC)?
 
Vielleicht findet er Python nicht. Gib mal Python mit Pfad an

0 6 1,15 * * /usr/bin/python /home/scripts/Oscam/NOIP-Account-Renew
 
Zuletzt bearbeitet:
Hi. Erst mal vielen Dank für das Skript.
Bei mir läuft es unter xpenology und das Update funktioniert. Beim Mailversand treten aber Probleme auf:
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
Port ist 465, Smtp-Server und pass in der externen config stimmen. Jemand ne Idee?

grüße
 
Du musst dich Anmelden oder Registrieren um den Inhalt der Angebote zu sehen!
Hast du die Möglichkeit mal einen anderen Mailserver zu nutzen,eventuell einen der "normal" auf Port 25 hört?
Die Verbindung wurde offensichtlich plötzlich unterbrochen.
Alternativ versuche ich dann mal einen Mailserver der smtps spricht zu nutzen.
 
Zurück
Oben