]>
Commit | Line | Data |
---|---|---|
1 | #!/usr/bin/perl | |
2 | ############################################################################### | |
3 | # # | |
4 | # IPFire.org - A linux based firewall # | |
5 | # Copyright (C) 2008 Michael Tremer & Christian Schmidt # | |
6 | # # | |
7 | # This program is free software: you can redistribute it and/or modify # | |
8 | # it under the terms of the GNU General Public License as published by # | |
9 | # the Free Software Foundation, either version 3 of the License, or # | |
10 | # (at your option) any later version. # | |
11 | # # | |
12 | # This program is distributed in the hope that it will be useful, # | |
13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of # | |
14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # | |
15 | # GNU General Public License for more details. # | |
16 | # # | |
17 | # You should have received a copy of the GNU General Public License # | |
18 | # along with this program. If not, see <http://www.gnu.org/licenses/>. # | |
19 | # # | |
20 | ############################################################################### | |
21 | ||
22 | use strict; | |
23 | ||
24 | # enable only the following on debugging purpose | |
25 | #use warnings; | |
26 | #use CGI::Carp 'fatalsToBrowser'; | |
27 | ||
28 | require '/var/ipfire/general-functions.pl'; | |
29 | require "${General::swroot}/lang.pl"; | |
30 | require "${General::swroot}/header.pl"; | |
31 | require "${General::swroot}/graphs.pl"; | |
32 | ||
33 | my %color = (); | |
34 | my %mainsettings = (); | |
35 | &General::readhash("${General::swroot}/main/settings", \%mainsettings); | |
36 | &General::readhash("/srv/web/ipfire/html/themes/".$mainsettings{'THEME'}."/include/colors.txt", \%color); | |
37 | ||
38 | my @pings=(); | |
39 | ||
40 | my @querry = split(/\?/,$ENV{'QUERY_STRING'}); | |
41 | $querry[0] = '' unless defined $querry[0]; | |
42 | $querry[1] = 'hour' unless defined $querry[1]; | |
43 | ||
44 | if ( $querry[0] =~ "fwhits"){ | |
45 | print "Content-type: image/png\n\n"; | |
46 | binmode(STDOUT); | |
47 | &Graphs::updatefwhitsgraph($querry[1]); | |
48 | }elsif ( $querry[0] ne ""){ | |
49 | print "Content-type: image/png\n\n"; | |
50 | binmode(STDOUT); | |
51 | &Graphs::updatepinggraph($querry[0],$querry[1]); | |
52 | }else{ | |
53 | ||
54 | &Header::showhttpheaders(); | |
55 | &Header::openpage($Lang::tr{'network traffic graphs others'}, 1, ''); | |
56 | &Header::openbigbox('100%', 'left'); | |
57 | ||
58 | my @pinggraphs = `ls -dA /var/log/rrd/collectd/localhost/ping/ping-*`; | |
59 | foreach (@pinggraphs){ | |
60 | $_ =~ /(.*)\/ping\/ping-(.*)\.rrd/; | |
61 | push(@pings,$2); | |
62 | } | |
63 | ||
64 | foreach (@pings) { | |
65 | &Header::openbox('100%', 'center', "$_ $Lang::tr{'graph'}"); | |
66 | &Graphs::makegraphbox("netother.cgi",$_,"day"); | |
67 | &Header::closebox(); | |
68 | } | |
69 | ||
70 | &Header::openbox('100%', 'center', "$Lang::tr{'firewallhits'} $Lang::tr{'graph'}"); | |
71 | &Graphs::makegraphbox("netother.cgi","fwhits","day"); | |
72 | &Header::closebox(); | |
73 | ||
74 | my $output = ''; | |
75 | ||
76 | &Header::openbox('100%', 'left', $Lang::tr{'routing table entries'}); | |
77 | $output = `/sbin/ip route show`; | |
78 | $output = &Header::cleanhtml($output,"y"); | |
79 | print "<pre>$output</pre>\n"; | |
80 | &Header::closebox(); | |
81 | ||
82 | &Header::openbox('100%', 'left', $Lang::tr{'arp table entries'}); | |
83 | $output = `/sbin/ip neigh show`; | |
84 | $output = &Header::cleanhtml($output,"y"); | |
85 | print "<pre>$output</pre>\n"; | |
86 | &Header::closebox(); | |
87 | ||
88 | &Header::closebigbox(); | |
89 | &Header::closepage(); | |
90 | } |