Revision: 7418
http://sourceforge.net/p/ipcop/svn/7418
Author: owes
Date: 2014-04-05 19:57:44 +0000 (Sat, 05 Apr 2014)
Log Message:
-----------
Add a (simple) GUI page for proxy status directly from squid/manager.
Modified Paths:
--------------
ipcop/trunk/config/rootfiles/common/ipcop-gui
ipcop/trunk/src/scripts/makegraphs.pl
ipcop/trunk/updates/2.1.4/ROOTFILES.i486-2.1.4
Added Paths:
-----------
ipcop/trunk/html/cgi-bin/proxystatus.cgi
Modified: ipcop/trunk/config/rootfiles/common/ipcop-gui
===================================================================
--- ipcop/trunk/config/rootfiles/common/ipcop-gui 2014-04-05 19:54:00 UTC
(rev 7417)
+++ ipcop/trunk/config/rootfiles/common/ipcop-gui 2014-04-05 19:57:44 UTC
(rev 7418)
@@ -33,6 +33,7 @@
home/httpd/cgi-bin/pppsetup.cgi
home/httpd/cgi-bin/proxy.cgi
home/httpd/cgi-bin/proxygraphs.cgi
+home/httpd/cgi-bin/proxystatus.cgi
home/httpd/cgi-bin/remote.cgi
home/httpd/cgi-bin/scheduler.cgi
home/httpd/cgi-bin/servicegrps.cgi
Added: ipcop/trunk/html/cgi-bin/proxystatus.cgi
===================================================================
--- ipcop/trunk/html/cgi-bin/proxystatus.cgi (rev 0)
+++ ipcop/trunk/html/cgi-bin/proxystatus.cgi 2014-04-05 19:57:44 UTC (rev
7418)
@@ -0,0 +1,82 @@
+#!/usr/bin/perl
+#
+# This file is part of the IPCop Firewall.
+#
+# IPCop is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# IPCop is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with IPCop. If not, see <http://www.gnu.org/licenses/>.
+#
+# $Id$
+#
+
+# Add entry in menu
+# MENUENTRY status 035 "proxy" "proxy"
+#
+# Make sure translation exists $Lang::tr{'proxy'}
+
+use strict;
+
+use warnings; no warnings 'once';
+use CGI::Carp 'fatalsToBrowser';
+
+require '/usr/lib/ipcop/general-functions.pl';
+require '/usr/lib/ipcop/lang.pl';
+require '/usr/lib/ipcop/header.pl';
+
+&Header::showhttpheaders();
+&Header::openpage($Lang::tr{'proxy'}, 1, '');
+&Header::openbigbox('100%', 'left');
+&Header::openbox('100%', 'left', $Lang::tr{'proxy'});
+
+my $sactive = &General::isrunning('squid', 'nosize');
+
+print <<END
+<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+<table width='100%'>
+<tr>
+ <td width='25%'>$Lang::tr{'web proxy'}:</td>
+ $sactive
+ <td width='25%'> </td>
+ <td width='25%'> </td>
+</tr>
+</table>
+<hr />
+<table width='100%'>
+<tr>
+ <td class='comment1button'> </td>
+ <td class='button1button'><input type='submit' name='ACTION'
value='$Lang::tr{'refresh'}' /></td>
+ <td class='onlinehelp'>
+ <a href='${General::adminmanualurl}/status-proxy.html'
target='_blank'><img src='/images/web-support.png' alt='$Lang::tr{'online help
en'}' title='$Lang::tr{'online help en'}' /></a>
+ </td>
+</tr>
+</table></form>
+<hr />
+END
+;
+
+if (open(IPACHTML, '/var/log/squid/info')) {
+ my $skip = 1;
+ print "<pre>";
+ while (<IPACHTML>) {
+ $skip = 0 if (/Squid Object Cache/);
+ print unless ($skip);
+ }
+ print "</pre>";
+ close(IPACHTML);
+}
+else {
+ print $Lang::tr{'no information available'};
+}
+
+&Header::closebox();
+&Header::closebigbox();
+&Header::closepage();
Property changes on: ipcop/trunk/html/cgi-bin/proxystatus.cgi
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Modified: ipcop/trunk/src/scripts/makegraphs.pl
===================================================================
--- ipcop/trunk/src/scripts/makegraphs.pl 2014-04-05 19:54:00 UTC (rev
7417)
+++ ipcop/trunk/src/scripts/makegraphs.pl 2014-04-05 19:57:44 UTC (rev
7418)
@@ -25,6 +25,7 @@
#use warnings;
+use IO::Socket;
use RRDs;
require '/usr/lib/ipcop/general-functions.pl';
require '/usr/lib/ipcop/lang.pl';
@@ -494,6 +495,26 @@
print "Error in RRD::update for $interface: $ERROR\n" if $ERROR;
}
+sub updatesquiddata {
+ my $sock;
+ my $host = "127.0.0.1";
+ my $port = "82";
+
+ $sock = IO::Socket::INET->new(PeerAddr => scalar($host), PeerPort =>
$port, Proto => 'tcp') or die("$host:$port: $!");
+ $sock->autoflush(1);
+ print $sock "GET cache_object://$host/info HTTP/1.0\n\n";
+ my @result = <$sock>;
+ close $sock;
+
+ open(FILE, ">/var/log/squid/info");
+ foreach(@result) {
+ print FILE $_;
+ }
+ close(FILE);
+
+}
+
+
###
### Squid Graphs
###
@@ -597,3 +618,5 @@
updateifgraph($thisitf, "year");
}
}
+
+updatesquiddata();
Modified: ipcop/trunk/updates/2.1.4/ROOTFILES.i486-2.1.4
===================================================================
--- ipcop/trunk/updates/2.1.4/ROOTFILES.i486-2.1.4 2014-04-05 19:54:00 UTC
(rev 7417)
+++ ipcop/trunk/updates/2.1.4/ROOTFILES.i486-2.1.4 2014-04-05 19:57:44 UTC
(rev 7418)
@@ -1,6 +1,8 @@
## please place IPCop files first, then packages sorted by alphabetical order
##
/home/httpd/cgi-bin/credits.cgi
+/home/httpd/cgi-bin/proxystatus.cgi
+/usr/local/bin/makegraphs.pl
/usr/local/sbin/setup
##
## memtest-5.01
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
_______________________________________________
Ipcop-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ipcop-svn