Есть два скрипта:(все взято с инета, сам в этом не силен, к сожалению)
Один определяет ип адресс с роутера и записывает в файл.
#!/bin/sh
#!/usr/bin/perl
use LWP::UserAgent;
wget=/usr/bin/wget
wget -O- http://user:pass@192.168.0.2/RST_conn_status.htm | perl -ne '/var info_get_wanip="((\d+\.){3}(\d+))"/ and print $1' > /home/user/test.txt
Другой определяет ип адресс через инет(сайт) и записывает его в файл если он изменился или пекрашает скрипт если ип не изменился.
#!/usr/bin/perl
use LWP::UserAgent;
my $hostout = `host user.dyndns.org`;
if ($hostout =~ /(\d+)\.(\d+)\.(\d+)\.(\d+)/) {
my $ip = "$1.$2.$3.$4";
#Добавлено:
open (FILE,"my_ip.txt");
my @lines = <FILE>;
$old_ip = $lines[0]; #Считываем IP из файла
$old_ip =~ s/^\s+|\s+$//g; #trim
close(FILE);
if ($old_ip eq $ip) {
die "IP not changed"; # Выходим из скрипта, если IP не изменился
}
open (FILE,">my_ip.txt");
print FILE $ip; # Записываем в файл новый IP
close(FILE);[br]
/продолжение ряда команд/
Проблема в том, что второй скрипт не может определить(в отличии от первого скрипта) реальный ип если выдан серый.
Можно ли во второй скрипт добавить ряд условий м.б. чтобы он смог зайти на страницу и считать от туда значение строки «var info_get_wanip=»?