Unblock-Us Auto-Update Skript auf Python portiert

Kurz vor Weihnachten noch eine kurze Nachricht:

Ich habe mein Unblock-Us Auto-Update Skript auf Python portiert. Der ein oder andere hat vielleicht eine Abneigung gegen Shell-Skripte, deshalb gibt es jetzt eine Alternative.

Zu finden ist das Ganze nach wie vor auf GitHub und steht nach wie vor unter MIT-Lizenz.

Unblock-Us Auto-Update Skript

Ich bin seit ca. einem Jahr absoluter Fan von Netflix. Leider gibt es in Deutschland noch immer keine vernünftige Möglichkeit, ein Abo abzuschließen und Netflix ohne Umwege zu empfangen. Man benötigt nach wie vor einen VPN- oder DNS-Anbieter der Netflix vorgaukelt, man befinde sich in den USA oder Kanada.
Es gibt sicherlich viele dieser Dienste, allerdings habe ich mich ziemlich schnell für Unblock-Us entschieden. Der Dienst stellt alternative DNS-Server ein, die man in seinem Gerät (in meinem Fall Apple TV) einstellt und somit sofort die entsprechenden Angebote von Netflix nutzen kann. Das Ganze hat gegenüber den meisten VPN-Providern den Vorteil, dass man mit nahezu voller Geschwindigkeit auf die Inhalte zugreifen kann.

Einen Nachteil hat das Ganze jedoch: Unblock-Us nutzt zur Authentifizierung die eigene IP-Adresse. Sprich: Ändert sich die IP-Adresse des eigenen Internetanschluss, so muss man diese im Unblock-Us Webinterface erst seinem Account zuteilen. Da mir das allerdings zu stressig war, habe ich mich hin gesetzt und ein kurze Shell-Skript geschrieben. Das Skript läuft nun per Cronjob auf meiner Synology DS212j NAS um 03:00 Uhr morgens und schickt meine aktuelle IP-Adresse an Unblock-Us. Somit brauche ich mich um die Aktualisierungen der Adresse nicht mehr zu kümmern.

Das hat doch was, oder? Wer Interesse an dem Skript hat, kann sich gerne bedienen. Zu ändern sind lediglich die Variablen „userlogin“ und „userpassword“. Dort gehören eure Unblock-Us Zugangsdaten rein.

Viel Spaß.

Unblock-Us Auto-Update Skript auf GitHub

#!/bin/sh                                                                                                                                                                                                   
#                                                                                                                                                                                                           
# Unblock-Us Update-Script  
#                                                                                                                                                                                
# This script automatically sends your current IP address to the Unblock-Us api.                                                                                                                             
# It can be used to update your IP adress via cron.                                                                                                                                                         
#                                                                                                                                                                                                           
# Author:       Timo Schlueter                                                                                                                                                                              
# Mail:         me@timo.in   
# Web:          www.timo.in                                                                                                                                                                                 
# Twitter:      twitter.com/tmuuh                                                                                                                                                                           
#                                                                                                                                                                                                           
# Version:      0.2                                                                                                                                                                                         
# Date:         20-12-2013                                                                                                                                                                                  
#                                                                                                                                                                                                           
# Notes:        I am not affiliated directly or indirectly with Unblock-Us                                                                                                                                  
#                                                                                                                                                                                                           
 
# Variables (user specific)                                                                                                                                                                                 
userlogin="email@example.com"                                                                                                                                                                                   
userpassword="password"                                                                                                                                                                                    
 
# Environment                                                                                                                                                                                              
apiurl="https://api.unblock-us.com/login?$userlogin:$userpassword"                                                                                                                                          
wgetcmd=$(which wget)                                                                                                                                                                                       
 
# Check if username and password are set.                                                                                                                                                                   
if [ -z $userlogin ]                                                                                                                                                                                        
        then                                                                                                                                                                                                
                echo "No password set."                                                                                                                                                                     
                exit 1                                                                                                                                                                                      
elif [ -z $userpassword ]                                                                                                                                                                                   
        then                                                                                                                                                                                                
                echo "No password set."                                                                                                                                                                     
                exit 1                                                                                                                                                                                      
else                                                                                                                                                                                                        
        # Call the api                                                                                                                                                                                      
        response=$($wgetcmd --no-check-certificate -qO- $apiurl)                                                                                                                                            
 
        # Check response from api                                                                                                                                                                           
        if [ $response == "active" ]                                                                                                                                                                        
                then                                                                                                                                                                                        
                        echo "IP address is active. You are good to go!"                                                                                                                                     
                        exit 0                                                                                                                                                                              
        elif [ $response == "bad_password" ]                                                                                                                                                                
                then                                                                                                                                                                                        
                        echo "Wrong username or password."                                                                                                                                                  
                        exit 1                                                                                                                                                                              
        elif [ $response == "not_found" ]                                                                                                                                                                   
                then                                                                                                                                                                                        
                        echo "Username not found."                                                                                                                                                          
                        exit 1                                                                                                                                                                              
        else                                                                                                                                                                                                
                echo "Unknown error. Check api url or documentantion."                                                                                                                                      
                exit 1                                                                                                                                                                                      
        fi                                                                                                                                                                                                  
fi