Superuser

Autor Thema: Perl Skript: Dynamische IP -> Umleitung  (Gelesen 5377 mal)

Indigo2001

  • Gast
Perl Skript: Dynamische IP -> Umleitung
« am: 05. Oktober 2002, 02:01:57 »
Und schon wieder brauche ich eure Hilfe!

Ich moechte gerne per Internet auf meine Indy zugreifen (Webserver / FTP...). Da ich leider nur ueber eine Waehlverbindung verfuege (dynamische IP -- T-DSL) habe ich mich nun bei einem der unzaehligen kostenlosen Dienste, fuer eine solche Umleitung auf die jeweilige dynamische IP, angemeldet.  ;D

Der auserkorene Anbieter (http://www.dynip.de) stellt fuer Unix auch ein Perl Skript zur Verfuegung, welches den Update der IP bewerkstelligen soll. Da ich jedoch keinerlei Ahnung von Perl habe bitte ich um eure Hilfe.

Koennt ihr einen Blick auf das Skript werfen und dieses Irix tauglich abaendern. Ich waere euch auf ewigen Dank verpflichtet.

System: Irix 6.2

Schon im Voraus herzlichen Dank
Erich



#!/usr/bin/perl
############################################
#                                          #
#   dynIP.de Authentication Client 1.0     #
#     (c) by Joerg 'brainy' Staedele       #
#              Trusted Network             #
#                                          #
############################################
#                                          #
#          http://www.dynip.de             #
#                                          #
############################################

# Config
##########
my $USERNAME = "fill in your username";
my $PASSWORD = "fill in your password, case sensitive";

# Leave this untouched!
###################################################################
my $SERVER_PORT = 8188;
my $SERVER_NAME = 'auth.dynip.de';
my $IP = pop @ARGV;

use IO::Socket;
use strict;

if (defined (my $remote = IO::Socket::INET->new(
                       Proto => 'tcp',
                       PeerAddr => $SERVER_NAME,
                       PeerPort => $SERVER_PORT)))
{
  print "Connected to $SERVER_NAME.\n";
  while (<$remote>)
  {
     if ($_ =~ /^101/)
     {
        print $remote "IP $IP\n" if ($IP);
        print $remote "USER $USERNAME\n";
     } elsif ($_ =~ /110/) {
        print $remote "PASS $PASSWORD\n";
     } elsif ($_ =~ /999/) {
        print "Server closed connection.\n\n";
        exit 0;
     } elsif ($_ =~ /^[4,5]+\d+\s*(.*)/) {
        print "An Error occured:\n\t$1\n";
     } elsif ($_ =~ /^150\s*(.*)/) {
        print "Server says:\n\t$1\n";
     }
  }
} else {
  print "An Error occured:\n\tCan't connect to $SERVER_NAME:$SERVER_PORT\n";
  exit 0;
}

mood-indigo.org - Das unabhängige Silicon Graphics User Forum

Perl Skript: Dynamische IP -> Umleitung
« am: 05. Oktober 2002, 02:01:57 »

SmellyCat

  • Gast
Re: Perl Skript: Dynamische IP -> Umleitung
« Antwort #1 am: 05. Oktober 2002, 02:22:52 »
Hi,

meine Lieblingsscpritsprache ;D

Simpel ist nicht viel zu tun ausser:

#!/usr/bin/perl

Den Pfad Deiner Perl Executable eintragen (bei mir /usr/freeware/bin/perl)

Wäre vielleicht ein "#!/pfad/irgendwo/perl -w" nicht schlecht - so hast Du norm. keine Probs.

my $USERNAME = "fill in your username";
my $PASSWORD = "fill in your password, case sensitive";

Auch klar, einfach Deine Namen etc. eintragen, auf Leerstellen und Umlauten achten, besonders sollen nicht unbedingt Perl Steuerzeichen drinnen sein, am besten Plaintest und Zahlen nehmen so kann nix schief gehen.

Ich sehe kein Programmaufruf etc. mehr der Dir Probleme machen könnte. Ausser eben die Usernamen, sie sind Scalar also keine Umlaute etc. wie schon gesagt (vorallem kein @ " / ! $ ')...

Aus dem Ding eine Executable machen (-rwxr-xr--) oder es mit "perl <name>" ausführen...

Gibt's denn explizite Probleme?

bye

Mats
« Letzte Änderung: 05. Oktober 2002, 02:29:10 von SmellyCat »

Offline Jerry

  • Mood Administrator
  • Mood Master
  • *****
  • Beiträge: 283
  • Never beige ;-)
    • Profil anzeigen
    • mood-indigo.org - Das SGI Heimanwender Forum
Re: Perl Skript: Dynamische IP -> Umleitung
« Antwort #2 am: 05. Oktober 2002, 02:33:33 »
Moin,

sorry, aber ich hätt' dyndns.org gewählt (hab ich auch ;) )
Zum einen sind die Services nachgewiesenermaßen schnell und stabil und
zum zweiten gibt's dabei so narrensichere clients auch und gerade für UNIX/Linux, daß jegliches Basteln mit Perl-Scripten entfällt... (-> die Variante für die Tippfaulen unter uns...)

Gruss

Jerry
(sich an die eigene Nase fassend)

Zum Test: steinbruch.homeunix.net (dassis meine Kiste zuhause im Keller...)
Sure vi is user-friendly; it's just peculiar about who it makes friends with.

Indigo2001

  • Gast
Re: Perl Skript: Dynamische IP -> Umleitung
« Antwort #3 am: 05. Oktober 2002, 02:59:06 »
Hallo Mats,

ich erhalte folgende Fehler: :'(

IRIS 12# perl dynip-client.pl
Syntax error in file dynip-client.pl at line 4, next 2 tokens "my $SERVER_PORT "
Syntax error in file dynip-client.pl at line 11, next 2 tokens "my $remote "
Syntax error in file dynip-client.pl at line 34, next token "}"
Syntax error in file dynip-client.pl at line 37, next token "}"
Execution of dynip-client.pl aborted due to compilation errors.
IRIS 13#

Woran kann das liegen?

cu, erich

Indigo2001

  • Gast
Re: Perl Skript: Dynamische IP -> Umleitung
« Antwort #4 am: 05. Oktober 2002, 03:03:56 »
Hallo Jerry,

dyndns.org klingt interessant.
Welchen Client hast du bei dir am laufen?
Was muss ich bei Irix 6.2 beachten? ???

cu, erich

Indigo2001

  • Gast
Re: Perl Skript: Dynamische IP -> Umleitung
« Antwort #5 am: 05. Oktober 2002, 21:31:38 »
Hallo Leute,

herzlichen Dank fuer eure Hilfe.Endlich laeuft das Perl-Skript. :D

Ich hatte auf meiner Indy noch die alte Perl Version (von den orig. Irix 6.2 CD's) installiert. Nachdem ich diese auf eine neuere Version 5.005_03 brachte funktioniert alles bestens.

Wenn ich jetzt noch PostNuke zum laufen braechte so waere ich uebergluecklich (siehe http://mood-indigo.org/cgi-bin/YaBB/YaBB.cgi?board=freeware&action=display&num=1032592097).  ???

Nochmals Danke !!
cu, erich
« Letzte Änderung: 05. Oktober 2002, 21:33:36 von Indigo2001 »