*
* This program 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 3 of the License, or
* (at your option) any later version.
*
* This program 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 this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* Please don't edit this file!
* Make changes to the configuration array in config.php.
*/
function set_defaults_for_routers(&$parsed_config) {
$router_defaults = array(
'timeout' => 30,
'disable_ipv6' => false,
'disable_ipv4' => false
);
// Loads defaults when key does not exist
foreach ($parsed_config['routers'] as &$router) {
foreach ($router_defaults as $key => $value) {
if (!array_key_exists($key, $router)) {
$router[$key] = $value;
}
}
}
}
$config = array(
// Release configuration
'release' => array(
'version' => '1.3.0',
'codename' => 'Convergence',
'repository' => 'https://github.com/respawner/looking-glass'
),
// Frontpage configuration
'frontpage' => array(
// Use Bootstrap theme
'bootstrap_theme' => true,
// Custom Bootstrap theme
'custom_bootstrap_theme' => false,
// CSS to use
'css' => 'css/style.css',
// Title
'title' => 'Looking Glass',
// Image (null for no image)
'image' => null,
// Link for the title/image
'header_link' => null,
// Peering Policy file (null for no peering policy)
'peering_policy_file' => null,
// Disclaimer (null for no disclaimer)
'disclaimer' => 'Disclaimer example',
// Display the title
'show_title' => true,
// Show visitor IP address
'show_visitor_ip' => true,
// Frontpage order you can use: routers, commands, parameter, buttons
'order' => array('routers', 'commands', 'parameter', 'buttons')
),
// Contact (both null for no contact)
'contact' => array(
// Name of the contact
'name' => 'Example Support',
// Email of the contact
'mail' => 'support@example.com'
),
// Output control
'output' => array(
// Show or hide command in output
'show_command' => true
),
// Filters
'filters' => array(),
// Logs
'logs' => array(
// Logs file where commands will be written
'file' => '/var/log/looking-glass.log',
// Format for each logged command (%D is for the time, %R is for the
// requester IP address, %H is for the host and %C is for the command)
'format' => '[%D] [client: %R] %H > %C'
),
// Misc
'misc' => array(
// Allow private ASN
'allow_private_asn' => false,
// Allow RFC1918 IPv4 and FD/FC IPv6 as parameters
'allow_private_ip' => true,
// Allow reserved IPv4 addresses (0.0.0.0/8, 169.254.0.0/16,
// 192.0.2.0/24 and 224.0.0.0/4)
'allow_reserved_ip' => true
),
// Tools used for some processing
'tools' => array(
// Options to be used when pinging from a UNIX host (case of BIRD
// and Quagga)
'ping_options' => '-A -c 10',
// Source option to use when pinging
'ping_source_option' => '-I',
// Traceroute tool to be used
'traceroute4' => 'traceroute -4',
'traceroute6' => 'traceroute -6',
// Options to be used when tracerouting from a UNIX host (case of BIRD
// and Quagga)
'traceroute_options' => '-A -q1 -N32 -w1 -m15',
// Source option to use when tracerouting
'traceroute_source_option' => '-s'
),
// Documentation (must be HTML)
'doc' => array(
// Documentation for the 'show route' query
'bgp' => array(
'command' => 'show route IP_ADDRESS',
'description' => 'Show the best routes to a given destination.',
'parameter' => 'The parameter must be a valid destination. Destination means an IPv4/IPv6 address or a subnet. Masks are also accepted as part of a valid IPv4/IPv6 address.
RFC1918 addresses, IPv6 starting with FD or FC, and IPv4 reserved ranges (0.0.0.0/8, 169.254.0.0/16, 192.0.2.0/24 and 224.0.0.0/4) may be refused.
Please note that some routers always need a mask to be given when looking for an IPv6 address.
Example of valid arguments: