aboutsummaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/ntopng/ntop.xml178
1 files changed, 178 insertions, 0 deletions
diff --git a/config/ntopng/ntop.xml b/config/ntopng/ntop.xml
new file mode 100644
index 00000000..4db9e9c8
--- /dev/null
+++ b/config/ntopng/ntop.xml
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE packagegui SYSTEM "./schema/packages.dtd">
+<?xml-stylesheet type="text/xsl" href="./xsl/package.xsl"?>
+<packagegui>
+ <copyright>
+ <![CDATA[
+/* $Id$ */
+/* ========================================================================== */
+/*
+ authng.xml
+ part of pfSense (http://www.pfSense.com)
+ Copyright (C) 2008 Scott Ullrich
+ All rights reserved.
+*/
+/* ========================================================================== */
+/*
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+ OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+*/
+/* ========================================================================== */
+ ]]>
+ </copyright>
+ <name>ntop</name>
+ <version>3.0</version>
+ <title>Diagnostics: ntop Settings</title>
+ <savetext>Change</savetext>
+ <aftersaveredirect>pkg_edit.php?xml=ntop.xml&amp;id=0</aftersaveredirect>
+ <menu>
+ <name>ntop Settings</name>
+ <tooltiptext>Set ntop settings such as password and port.</tooltiptext>
+ <section>Diagnostics</section>
+ <url>/pkg_edit.php?xml=ntop.xml&amp;id=0</url>
+ </menu>
+ <menu>
+ <name>ntop</name>
+ <tooltiptext>Access ntop</tooltiptext>
+ <section>Diagnostics</section>
+ <url>http://$myurl:3000</url>
+ <depends_on_service>ntop</depends_on_service>
+ </menu>
+ <service>
+ <name>ntop</name>
+ <rcfile>ntop.sh</rcfile>
+ <executable>ntop</executable>
+ <description>NTOP bandwidth monitoring/graphing</description>
+ </service>
+ <tabs>
+ <tab>
+ <text>ntop Settings</text>
+ <url>/pkg_edit.php?xml=ntop.xml&amp;id=0</url>
+ <active/>
+ </tab>
+ <tab>
+ <text>Access ntop</text>
+ <url>http://$myurl:3000</url>
+ </tab>
+ </tabs>
+ <fields>
+ <field>
+ <fielddescr>ntop Admin Password</fielddescr>
+ <fieldname>password</fieldname>
+ <description>Enter the password for the NTOP Web GUI. Minimum 5 characters.</description>
+ <type>password</type>
+ </field>
+ <field>
+ <fielddescr>ntop Admin Password AGAIN</fielddescr>
+ <fieldname>passwordagain</fieldname>
+ <type>password</type>
+ </field>
+ <field>
+ <fielddescr>Interface</fielddescr>
+ <fieldname>interface_array</fieldname>
+ <type>interfaces_selection</type>
+ <size>3</size>
+ <value>lan</value>
+ <multiple>true</multiple>
+ </field>
+ <field>
+ <fielddescr>Allow merging interfaces&lt;br&gt;(Def: Do not merge)</fielddescr>
+ <fieldname>allowmerge</fieldname>
+ <type>checkbox</type>
+ </field>
+ </fields>
+ <custom_php_global_functions>
+ <![CDATA[
+ function sync_package_ntop() {
+ conf_mount_rw();
+ config_lock();
+ global $config;
+ global $input_errors;
+ if ($_POST) {
+ $config['installedpackages']['ntop']['config'] = array();
+ $config['installedpackages']['ntop']['config'][0] = $_POST;
+ }
+ $ntop_config =& $config['installedpackages']['ntop']['config'][0];
+ $if_final = "";
+ $ifaces_final = "";
+ system("/bin/mkdir -p /var/db/ntop");
+ system("/bin/mkdir -p /var/db/ntop/rrd");
+ system("/bin/mkdir -p /var/db/ntop/rrd/graphics");
+ system("/bin/chmod -R 755 /var/db/ntop");
+ system("/usr/sbin/chown -R nobody:nobody /var/db/ntop");
+ system("/bin/cp -Rp /usr/local/lib/X11/fonts/webfonts/ /usr/local/lib/X11/fonts/TTF/");
+ $first = 0;
+ $mergeifs = ($ntop_config['allowmerge'] == "on") ? "" : "-M";
+ foreach($ntop_config['interface_array'] as $iface) {
+ $if = convert_friendly_interface_to_real_interface_name($iface);
+ if($if) {
+ if($first == 1)
+ $ifaces_final .= ",";
+ $ifaces_final .= $if;
+ $first = 1;
+ }
+ }
+ $start = "/usr/local/bin/ntop -i {$ifaces_final} -u root -d -4 {$mergeifs} -x 8102 -X 8192 &";
+ write_rcfile(array(
+ "file" => "ntop.sh",
+ "start" => $start,
+ "stop" => "/usr/bin/killall ntop"
+ )
+ );
+ if (is_service_running("ntop")) {
+ stop_service("ntop");
+ // Wait for ntop to shut down cleanly.
+ sleep(20);
+ }
+ if (empty($ntop_config['password']))
+ $ntop_config['password'] = "admin";
+ unlink_if_exists("/var/db/ntop/ntop_pw.db");
+ exec("/usr/local/bin/ntop --set-admin-password={$ntop_config['password']}");
+ sleep(2);
+ start_service("ntop");
+ conf_mount_ro();
+ config_unlock();
+ }
+ ]]>
+ </custom_php_global_functions>
+ <custom_add_php_command>
+ sync_package_ntop();
+ </custom_add_php_command>
+ <custom_php_resync_config_command>
+ sync_package_ntop();
+ </custom_php_resync_config_command>
+ <custom_php_install_command>
+ sync_package_ntop();
+ </custom_php_install_command>
+ <custom_php_deinstall_command>
+ exec("rm /usr/local/etc/rc.d/ntop*");
+ </custom_php_deinstall_command>
+ <custom_php_validation_command>
+ <![CDATA[
+ if ($_POST) {
+ if (empty($_POST['password']) || empty($_POST['passwordagain']))
+ $input_errors[] = "You must provide (and confirm) ntop's password.";
+ if ($_POST['password'] != $_POST['passwordagain'])
+ $input_errors[] = "The provided passwords did not match.";
+ }
+ ]]>
+ </custom_php_validation_command>
+</packagegui> \ No newline at end of file