<global>
iface inet ppp0 auto
iface local eth0 192.168.0.1/24
do not shape local ppp0 auto with 192.168.0.0/24
do not shape local 192.168.0.1 with 192.168.0.0/24
shape router true low 8kbps ceil 14kbps prio 2
stats unit kbps # dump 5c file /var/www/stats/nsstats.txt
resolve hostname true
method imq #mark
reload 3s
</global>
#!/usr/bin/perl
#Krzysieek
http://klub.chip.pl/krzysiekz/nnd/
#<KONFIGURACJA>
#Pobieranie daty z systemu
$data=`date +"dnia %d.%m.%Y o godzinie %H:%M"`;
#nie zmieniac
$data =~ s/(\r\n|\n)$//;
#odswierzanie generowania
$odswierz=30;
#wyswietlenie oryginalnych statystyk Niceshapera od tabela (wartosci "1" lub "0")
$oryginal=1;
#<PLIKI>
#sciezka do pliku z statystykami Niceshapera ( "/" na koncu wymagany)
$sciezka="/var/www/stats/";
#nazwa pliku statystyk Niceshapera
$plik="nsstats.txt";
#sciezka do pliku users Niceshaper-a ( "/" na koncu wymagany)
$sciezka_konf="/etc/niceshaper/";
#nazwa pliku konfiguracyjnego uzytkownikow Niceshapera
$plik_konf="users";
#sciezka do pliku hosts ( "/" na koncu wymagany)
$sciezka_host="/etc/";
#nazwa pliku z hostami
$plik_host="hosts";
#</PLIKI>
#<WYGLAD>
#<TABELA>
#idywidualne ustawienia komorki w ktorej znajduja sie nazwy hostow
$komorki_host="width=80";
#idywidualne ustawienia komorki w ktorej znajduja sie wyniki
$komorki_ile="width=70";
#idywidualne ustawienia wiersza w ktorej znajduja sie dane hosta online
$wiersze_host_on="bgcolor=#aaccaa";
#idywidualne ustawienia wiersza w ktorej znajduja sie dane hosta offline
$wiersze_host_off="bgcolor=#dddddd";
#idywidualne ustawienia wiersza w ktorej znajduja sie opisy znaczenia kolumn
$wiersz_znacz="bgcolor=#bbaaaa";
#idywidualne ustawienia wiersza w ktorej znajduje sie tytul tabeli
$wiersz_tytul="bgcolor=#aaaabb";
#tytul tabeli
$tytul="Wygenerowny na podstawie stats Niceshapera<br>".$data;
#Idywidualny naglowek tabeli (mozna rowniez dodac pare poczatkowych wierszy tabeli
# majac na uwadze ze kolumn jest 5 np.:
#<table><tr><td colspan=5>Jakis tekst</td><tr>)
$table="<table border=2 bordercolor=\"black\" cellspacing=2 cellpadding=3 style='border-collapse:collapse;'>\n";
#wpis do wszystkich komorek dla hostow offline
$wpis_off="brak";
#</TABELA>
#<STYLE>
#styl czcionki wiersza w ktorej znajduja sie opisy znaczenia kolumn (wymagane "{" i "}")
$czcionka_znacz="{font-family:tahoma;font-size:14px;text-align:center;text-decoration: underline}";
#styl czcionki wiersza w ktorej znajduja sie tytul tabeli (wymagane "{" i "}")
$czcionka_tytul="{font-family:tahoma;font-size:16px;text-align:center;font:bold}";
#styl czcionki dla calej wygenerowanej strony (wymagane "{" i "}")
$czcionka_all="{font-family:arial;font-size:14px;text-align:center}";
$czcionka_host_on="{font-family:tahoma;font-size:13px;text-align:left;font:bold}";
#styl czcionki dla hostow offline (wymagane "{" i "}")
$czcionka_host_off="{font-family:tahoma;font-size:11px;text-align:left}";
#styl czcionki dla wynikow hostow online(wymagane "{" i "}")
$czcionka_wyn_on="{font-family:tahoma;font-size:11px;text-align:center;font:bold}";
#styl czcionki dla wynikow hostow offline(wymagane "{" i "}")
$czcionka_wyn_off="{font-family:tahoma;font-size:11px;text-align:center;font:italic}";
#</STYLE>
#</WYGLAD>
#</KONFIGURACJA>
open (dane,$sciezka.$plik);
flock(dane,2);
@dane = <dane>;
close(dane);
open (dane,$sciezka_konf.$plik_konf);
flock(dane,2);
@konf = <dane>;
close(dane);
open (dane,$sciezka_host.$plik_host);
flock(dane,2);
@host = <dane>;
close(dane);
print "Content-type: text/html\n\n";
print "<html><head>";
print "<meta HTTP-EQUIV=Refresh CONTENT=",$odswierz,">\n<meta HTTP-EQUIV=Cache-Control content=no-cache>\n";
print "<meta HTTP-EQUIV=Pragma CONTENT=no-cache>\n<meta HTTP-EQUIV=Content-Type CONTENT=text/html; charset=iso-8859-2>\n";
print "<style>p ",$czcionka_all,"\n";
print ".tytul ",$czcionka_tytul,"\n";
print ".znacz ",$czcionka_znacz,"\n";
print ".hoston ",$czcionka_host_on,"\n";
print ".hostoff ",$czcionka_host_off,"\n";
print ".wynon ",$czcionka_wyn_on,"\n";
print ".wynoff ",$czcionka_wyn_off,"</style>\n";
print "</head><body>\n";
print "<div align=center>\n";
print $table;
print "<tr $wiersz_tytul><td colspan=5><p class=tytul>",$tytul,"</p></td></tr>\n";
print "<tr $wiersz_znacz><td ",$komorki_host,"><p class=znacz>Host</p></td><td ",$komorki_ile,"><p class=znacz>Limit<br>downlo
foreach $host (@host)
{
$wynik=$host;
$wynik =~ s/^(([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+))\s+(.+)(\r\n|\n)??$/$1/;
$hostname=$6;
$ip=$1;
if ($1 ne "127.0.0.1" and ($host !~ /^\#/) )
{
$ip_host{$ip}=$hostname;
}
}
foreach $konf (@konf)
{
if ($konf =~ /([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/ )
{
$pom_konf=$konf;
$pom_konf =~ s/(([0-9]+\.[0-9]+\.[0-9]+)\.([0-9]+)).+(\r\n|\n)??$/$1/;
$dane_ip{$ip_host{$1}}="<tr $wiersze_host_off><td $komorki_host><p class=hostoff>$ip_host{$1}</p></td><td $komorki_ile
}
}
foreach $dane (@dane)
{
if ($dane !~ /^(\r\n|\n)$/)
{
$pomoc=$dane;
$pomoc =~ s/^(\w+)\s+(\d+)(\.\d)?(\w+)\s+\-\s+\(\s+(\d+)(\.\d)?(\w+)\s\)\s+(\d+)(\.\d)?(\w+)\s+\-\s+\(\s+(\d+)(\.\d)?(
$dane_ip{$1}="<tr $wiersze_host_on><td $komorki_host><p class=hoston>$1</p></td><td $komorki_ile><p class=wynon>$2$3 $
}
}
foreach $konf (@konf)
{
if ($konf =~ /([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/ )
{
$pom2_konf=$konf;
$pom2_konf =~ s/(([0-9]+\.[0-9]+\.[0-9]+)\.([0-9]+)).+(\r\n|\n)??$/$1/;
print "$dane_ip{$ip_host{$1}}\n";
}
}
print "</table>";
print "<p style='font-family:tahoma;font-size:10px;text-align:center;margin-top:2px'>krzysieek <a href=\"http://klub.chip.pl/k
print "</div>";
if ($oryginal eq 1)
{
print "<p style='font-family:Courier New'>";
foreach $dane (@dane)
{
$dane =~ s/ /\ \;/g;
$dane =~ s/(\r\n|\n)$/\<br\>\n/g;
print "$dane";
}
print "</p>";
}
print "</body></html>\n";
tal to wyglada i co tu jest nie tak