Project

General

Profile

Download (36.8 KB) Statistics
| Branch: | Tag: | Revision:
1
<?php
2
/*
3
 * help.php
4
 *
5
 * part of pfSense (https://www.pfsense.org)
6
 * Copyright (c) 2004-2013 BSD Perimeter
7
 * Copyright (c) 2013-2016 Electric Sheep Fencing
8
 * Copyright (c) 2014-2021 Rubicon Communications, LLC (Netgate)
9
 * All rights reserved.
10
 *
11
 * Licensed under the Apache License, Version 2.0 (the "License");
12
 * you may not use this file except in compliance with the License.
13
 * You may obtain a copy of the License at
14
 *
15
 * http://www.apache.org/licenses/LICENSE-2.0
16
 *
17
 * Unless required by applicable law or agreed to in writing, software
18
 * distributed under the License is distributed on an "AS IS" BASIS,
19
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20
 * See the License for the specific language governing permissions and
21
 * limitations under the License.
22
 */
23

    
24
require_once("guiconfig.inc");
25

    
26
/* Define hash of jumpto url maps */
27
$helppages = array(
28
	'index.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/dashboard.html',
29

    
30
	'crash_reporter.php' => 'https://docs.netgate.com/pfsense/en/latest/development/panic-information.html',
31
	'diag_arp.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/status/arp.html',
32
	'diag_authentication.php' => 'https://docs.netgate.com/pfsense/en/latest/usermanager/authentication-servers.html',
33
	'diag_backup.php' => 'https://docs.netgate.com/pfsense/en/latest/backup/restore.html',
34
	'diag_command.php' => 'https://docs.netgate.com/pfsense/en/latest/diagnostics/command-prompt.html',
35
	'diag_confbak.php' => 'https://docs.netgate.com/pfsense/en/latest/backup/restore.html',
36
	'diag_defaults.php' => 'https://docs.netgate.com/pfsense/en/latest/config/factory-defaults.html',
37
	'diag_dns.php' => 'https://docs.netgate.com/pfsense/en/latest/diagnostics/dns.html',
38
	'diag_dump_states.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/status/firewall-states-gui.html',
39
	'diag_dump_states_sources.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/status/firewall-states-sources.html',
40
	'diag_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/diagnostics/edit-file.html',
41
	'diag_halt.php' => 'https://docs.netgate.com/pfsense/en/latest/diagnostics/system-halt.html',
42
	'diag_limiter_info.php' => 'https://docs.netgate.com/pfsense/en/latest/trafficshaper/limiters.html',
43
	'diag_ndp.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/status/ndp.html',
44
	'diag_packet_capture.php' => 'https://docs.netgate.com/pfsense/en/latest/diagnostics/packetcapture/webgui.html',
45
	'diag_pf_info.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/status/pfinfo.html',
46
	'diag_pftop.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/graphs/bandwidth-usage.html',
47
	'diag_ping.php' => 'https://docs.netgate.com/pfsense/en/latest/diagnostics/ping.html',
48
	'diag_reboot.php' => 'https://docs.netgate.com/pfsense/en/latest/diagnostics/system-reboot.html',
49
	'diag_resetstate.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/status/firewall-states-reset.html',
50
	'diag_routes.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/status/routes.html',
51
	'diag_smart.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/status/smart.html',
52
	'diag_sockets.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/status/sockets.html',
53
	'diag_states_summary.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/status/firewall-states-summary.html',
54
	'diag_system_activity.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/status/system-activity.html',
55
	'diag_tables.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/status/firewall-tables.html',
56
	'diag_testport.php' => 'https://docs.netgate.com/pfsense/en/latest/diagnostics/test-port.html',
57
	'diag_traceroute.php' => 'https://docs.netgate.com/pfsense/en/latest/diagnostics/traceroute.html',
58
	'firewall_aliases_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/firewall/aliases.html',
59
	'firewall_aliases_import.php' => 'https://docs.netgate.com/pfsense/en/latest/firewall/aliases.html',
60
	'firewall_aliases.php' => 'https://docs.netgate.com/pfsense/en/latest/firewall/aliases.html',
61
	'firewall_nat_1to1_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/nat/1-1.html',
62
	'firewall_nat_1to1.php' => 'https://docs.netgate.com/pfsense/en/latest/nat/1-1.html',
63
	'firewall_nat_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/nat/port-forwards.html',
64
	'firewall_nat_npt_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/nat/npt.html',
65
	'firewall_nat_npt.php' => 'https://docs.netgate.com/pfsense/en/latest/nat/npt.html',
66
	'firewall_nat_out_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/nat/outbound.html',
67
	'firewall_nat_out.php' => 'https://docs.netgate.com/pfsense/en/latest/nat/outbound.html',
68
	'firewall_nat.php' => 'https://docs.netgate.com/pfsense/en/latest/nat/port-forwards.html',
69
	'firewall_rules_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/firewall/configure.html',
70
	'firewall_rules.php' => 'https://docs.netgate.com/pfsense/en/latest/firewall/rule-list-intro.html',
71
	'firewall_schedule_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/firewall/time-based-rules.html',
72
	'firewall_schedule.php' => 'https://docs.netgate.com/pfsense/en/latest/firewall/time-based-rules.html',
73
	'firewall_shaper.php' => 'https://docs.netgate.com/pfsense/en/latest/trafficshaper/index.html',
74
	'firewall_shaper_queues.php' => 'https://docs.netgate.com/pfsense/en/latest/trafficshaper/index.html',
75
	'firewall_shaper_vinterface.php' => 'https://docs.netgate.com/pfsense/en/latest/trafficshaper/limiters.html',
76
	'firewall_shaper_wizards.php' => 'https://docs.netgate.com/pfsense/en/latest/recipes/traffic-shaper-altq-wizard.html',
77
	'firewall_virtual_ip_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/firewall/virtual-ip-addresses.html',
78
	'firewall_virtual_ip.php' => 'https://docs.netgate.com/pfsense/en/latest/firewall/virtual-ip-addresses.html',
79
	'interfaces_assign.php' => 'https://docs.netgate.com/pfsense/en/latest/config/interface-configuration.html',
80
	'interfaces_bridge_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/bridges/create.html',
81
	'interfaces_bridge.php' => 'https://docs.netgate.com/pfsense/en/latest/bridges/index.html',
82
	'interfaces_gif_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/interfaces/gif.html',
83
	'interfaces_gif.php' => 'https://docs.netgate.com/pfsense/en/latest/interfaces/gif.html',
84
	'interfaces_gre_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/interfaces/gre.html',
85
	'interfaces_gre.php' => 'https://docs.netgate.com/pfsense/en/latest/interfaces/gre.html',
86
	'interfaces_groups_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/interfaces/groups.html',
87
	'interfaces_groups.php' => 'https://docs.netgate.com/pfsense/en/latest/interfaces/groups.html',
88
	'interfaces_lagg_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/interfaces/lagg.html',
89
	'interfaces_lagg.php' => 'https://docs.netgate.com/pfsense/en/latest/interfaces/lagg.html',
90
	'interfaces.php' => 'https://docs.netgate.com/pfsense/en/latest/interfaces/configure.html',
91
	'interfaces_ppps_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/interfaces/ppp.html',
92
	'interfaces_ppps.php' => 'https://docs.netgate.com/pfsense/en/latest/interfaces/ppp.html',
93
	'interfaces_qinq_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/interfaces/qinq.html',
94
	'interfaces_qinq.php' => 'https://docs.netgate.com/pfsense/en/latest/interfaces/qinq.html',
95
	'interfaces_vlan_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/vlan/configuration.html',
96
	'interfaces_vlan.php' => 'https://docs.netgate.com/pfsense/en/latest/vlan/index.html',
97
	'interfaces_wireless_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/wireless/vap.html',
98
	'interfaces_wireless.php' => 'https://docs.netgate.com/pfsense/en/latest/wireless/index.html',
99
	'miniupnpd.xml' => 'https://docs.netgate.com/pfsense/en/latest/services/upnp.html',
100
	'openvpn_wizard.xml' => 'https://docs.netgate.com/pfsense/en/latest/recipes/openvpn-ra.html',
101
	'openvpn-client-export.xml' => 'https://docs.netgate.com/pfsense/en/latest/vpn/openvpn/index.html',
102
	'pkg_mgr_installed.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/manager.html',
103
	'pkg_mgr_install.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/manager.html',
104
	'pkg_mgr.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/manager.html',
105
	'services_acb_backup.php' => 'https://docs.netgate.com/pfsense/en/latest/backup/autoconfigbackup.html',
106
	'services_acb_settings.php' => 'https://docs.netgate.com/pfsense/en/latest/backup/autoconfigbackup.html',
107
	'services_acb.php' => 'https://docs.netgate.com/pfsense/en/latest/backup/autoconfigbackup.html',
108
	'services_captiveportal_filemanager.php' => 'https://docs.netgate.com/pfsense/en/latest/captiveportal/file-manager.html',
109
	'services_captiveportal_hostname_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/captiveportal/allowed-hostnames.html',
110
	'services_captiveportal_hostname.php' => 'https://docs.netgate.com/pfsense/en/latest/captiveportal/allowed-hostnames.html',
111
	'services_captiveportal_ip_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/captiveportal/allowed-ip-address.html',
112
	'services_captiveportal_ip.php' => 'https://docs.netgate.com/pfsense/en/latest/captiveportal/allowed-ip-address.html',
113
	'services_captiveportal_mac_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/captiveportal/mac-address-control.html',
114
	'services_captiveportal_mac.php' => 'https://docs.netgate.com/pfsense/en/latest/captiveportal/mac-address-control.html',
115
	'services_captiveportal.php' => 'https://docs.netgate.com/pfsense/en/latest/captiveportal/zones.html',
116
	'services_captiveportal_vouchers_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/captiveportal/zones.html',
117
	'services_captiveportal_vouchers.php' => 'https://docs.netgate.com/pfsense/en/latest/captiveportal/vouchers.html',
118
	'services_captiveportal_zones_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/captiveportal/zones.html',
119
	'services_captiveportal_zones.php' => 'https://docs.netgate.com/pfsense/en/latest/captiveportal/index.html',
120
	'services_checkip_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/services/dyndns/check-services.html',
121
	'services_checkip.php' => 'https://docs.netgate.com/pfsense/en/latest/services/dyndns/check-services.html',
122
	'services_dhcp_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/services/dhcp/ipv4.html',
123
	'services_dhcp.php' => 'https://docs.netgate.com/pfsense/en/latest/services/dhcp/ipv4.html',
124
	'services_dhcp_relay.php' => 'https://docs.netgate.com/pfsense/en/latest/services/dhcp/relay.html',
125
	'services_dhcpv6_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/services/dhcp/ipv6.html',
126
	'services_dhcpv6.php' => 'https://docs.netgate.com/pfsense/en/latest/services/dhcp/ipv6-ra.html',
127
	'services_dhcpv6_relay.php' => 'https://docs.netgate.com/pfsense/en/latest/services/dhcp/ipv4.html',
128
	'services_dnsmasq_domainoverride_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/services/dns/forwarder.html',
129
	'services_dnsmasq_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/services/dns/forwarder.html',
130
	'services_dnsmasq.php' => 'https://docs.netgate.com/pfsense/en/latest/services/dns/forwarder.html',
131
	'services_dyndns_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/services/dyndns/client.html',
132
	'services_dyndns.php' => 'https://docs.netgate.com/pfsense/en/latest/services/dyndns/index.html',
133
	'services_igmpproxy_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/services/igmp-proxy.html',
134
	'services_igmpproxy.php' => 'https://docs.netgate.com/pfsense/en/latest/services/igmp-proxy.html',
135
	'services_ntpd_acls.php' => 'https://docs.netgate.com/pfsense/en/latest/services/ntpd/server.html',
136
	'services_ntpd_gps.php' => 'https://docs.netgate.com/pfsense/en/latest/services/ntpd/gps.html',
137
	'services_ntpd.php' => 'https://docs.netgate.com/pfsense/en/latest/services/ntpd/server.html',
138
	'services_ntpd_pps.php' => 'https://docs.netgate.com/pfsense/en/latest/services/ntpd/pps.html',
139
	'services_pppoe_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/services/pppoe-server.html',
140
	'services_pppoe.php' => 'https://docs.netgate.com/pfsense/en/latest/services/pppoe-server.html',
141
	'services_rfc2136_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/services/dyndns/rfc2136.html',
142
	'services_rfc2136.php' => 'https://docs.netgate.com/pfsense/en/latest/services/dyndns/rfc2136.html',
143
	'services_router_advertisements.php' => 'https://docs.netgate.com/pfsense/en/latest/services/dhcp/ipv6-ra.html',
144
	'services_snmp.php' => 'https://docs.netgate.com/pfsense/en/latest/services/snmp.html',
145
	'services_unbound_acls.php' => 'https://docs.netgate.com/pfsense/en/latest/services/dns/resolver-acls.html',
146
	'services_unbound_advanced.php' => 'https://docs.netgate.com/pfsense/en/latest/services/dns/resolver-advanced.html',
147
	'services_unbound_domainoverride_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/services/dns/resolver.html',
148
	'services_unbound_host_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/services/dns/resolver.html',
149
	'services_unbound.php' => 'https://docs.netgate.com/pfsense/en/latest/services/dns/resolver.html',
150
	'services_wol_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/services/wake-on-lan.html',
151
	'services_wol.php' => 'https://docs.netgate.com/pfsense/en/latest/services/wake-on-lan.html',
152
	'status_captiveportal_expire.php' => 'https://docs.netgate.com/pfsense/en/latest/captiveportal/zones.html',
153
	'status_captiveportal.php' => 'https://docs.netgate.com/pfsense/en/latest/captiveportal/zones.html',
154
	'status_captiveportal_test.php' => 'https://docs.netgate.com/pfsense/en/latest/captiveportal/zones.html',
155
	'status_captiveportal_voucher_rolls.php' => 'https://docs.netgate.com/pfsense/en/latest/captiveportal/zones.html',
156
	'status_captiveportal_vouchers.php' => 'https://docs.netgate.com/pfsense/en/latest/captiveportal/index.html',
157
	'status_carp.php' => 'https://docs.netgate.com/pfsense/en/latest/highavailability/test.html',
158
	'status_dhcp_leases.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/status/dhcp-ipv4.html',
159
	'status_dhcpv6_leases.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/status/dhcp-ipv6.html',
160
	'status_filter_reload.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/status/filter-reload.html',
161
	'status_gateway_groups.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/status/gateways.html',
162
	'status_gateways.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/status/gateways.html',
163
	'status_graph.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/graphs/traffic.html',
164
	'status_interfaces.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/status/interfaces.html',
165
	'status_ipsec_leases.php' => 'https://docs.netgate.com/pfsense/en/latest/vpn/ipsec/mobile-clients.html',
166
	'status_ipsec.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/status/ipsec.html',
167
	'status_ipsec_sad.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/status/ipsec.html',
168
	'status_ipsec_spd.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/status/ipsec.html',
169
	'status_logs_filter_dynamic.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/logs/firewall.html',
170
	'status_logs_filter.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/logs/firewall.html',
171
	'status_logs_filter_summary.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/logs/firewall.html',
172
	'status_logs.php-dhcpd' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/logs/dhcp.html',
173
	'status_logs.php-gateways' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/logs/gateway.html',
174
	'status_logs.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/logs/index.html',
175
	'status_logs.php-ipsec' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/logs/ipsec.html',
176
	'status_logs.php-ntpd' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/logs/ntp.html',
177
	'status_logs.php-openvpn' => 'https://docs.netgate.com/pfsense/en/latest/vpn/openvpn/index.html',
178
	'status_logs.php-portalauth' => 'https://docs.netgate.com/pfsense/en/latest/captiveportal/zones.html',
179
	'status_logs.php-ppp' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/logs/ppp.html',
180
	'status_logs.php-resolver' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/logs/resolver.html',
181
	'status_logs.php-routing' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/logs/routing.html',
182
	'status_logs.php-wireless' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/logs/wireless.html',
183
	'status_logs_packages.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/logs/package.html',
184
	'status_logs_settings.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/logs/settings.html',
185
	'status_logs_vpn.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/logs/index.html',
186
	'status_monitoring.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/graphs/index.html',
187
	'status_ntpd.php' => 'https://docs.netgate.com/pfsense/en/latest/services/ntpd/server.html',
188
	'status_openvpn.php' => 'https://docs.netgate.com/pfsense/en/latest/vpn/openvpn/index.html',
189
	'status_queues.php' => 'https://docs.netgate.com/pfsense/en/latest/trafficshaper/index.html',
190
	'status_services.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/status/services.html',
191
	'status_unbound.php' => 'https://docs.netgate.com/pfsense/en/latest/services/dns/resolver.html',
192
	'status_upnp.php' => 'https://docs.netgate.com/pfsense/en/latest/services/upnp.html',
193
	'status_wireless.php' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/status/wireless.html',
194
	'system_advanced_admin.php' => 'https://docs.netgate.com/pfsense/en/latest/config/advanced-admin.html',
195
	'system_advanced_firewall.php' => 'https://docs.netgate.com/pfsense/en/latest/config/advanced-firewall-nat.html',
196
	'system_advanced_misc.php' => 'https://docs.netgate.com/pfsense/en/latest/config/advanced-misc.html',
197
	'system_advanced_network.php' => 'https://docs.netgate.com/pfsense/en/latest/config/advanced-networking.html',
198
	'system_advanced_notifications.php' => 'https://docs.netgate.com/pfsense/en/latest/config/advanced-notifications.html',
199
	'system_advanced_sysctl.php' => 'https://docs.netgate.com/pfsense/en/latest/config/advanced-tunables.html',
200
	'system_authservers.php' => 'https://docs.netgate.com/pfsense/en/latest/usermanager/authentication-servers.html',
201
	'system_camanager.php' => 'https://docs.netgate.com/pfsense/en/latest/certificates/index.html',
202
	'system_certmanager_renew.php' => 'https://docs.netgate.com/pfsense/en/latest/certificates/index.html',
203
	'system_certmanager.php' => 'https://docs.netgate.com/pfsense/en/latest/certificates/index.html',
204
	'system_crlmanager.php' => 'https://docs.netgate.com/pfsense/en/latest/certificates/index.html',
205
	'system_gateway_groups_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/routing/gateway-configure.html',
206
	'system_gateway_groups.php' => 'https://docs.netgate.com/pfsense/en/latest/routing/gateway-configure.html',
207
	'system_gateways_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/routing/gateway-configure.html',
208
	'system_gateways.php' => 'https://docs.netgate.com/pfsense/en/latest/routing/gateway-configure.html',
209
	'system_groupmanager_addprivs.php' => 'https://docs.netgate.com/pfsense/en/latest/usermanager/groups.html',
210
	'system_groupmanager.php' => 'https://docs.netgate.com/pfsense/en/latest/usermanager/groups.html',
211
	'system_hasync.php' => 'https://docs.netgate.com/pfsense/en/latest/highavailability/index.html',
212
	'system.php' => 'https://docs.netgate.com/pfsense/en/latest/config/general.html',
213
	'system_routes_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/routing/static.html',
214
	'system_routes.php' => 'https://docs.netgate.com/pfsense/en/latest/routing/static.html',
215
	'system_update_settings.php' => 'https://docs.netgate.com/pfsense/en/latest/install/upgrade-guide.html',
216
	'system_usermanager_addprivs.php' => 'https://docs.netgate.com/pfsense/en/latest/usermanager/users.html',
217
	'system_usermanager_passwordmg.php' => 'https://docs.netgate.com/pfsense/en/latest/usermanager/users.html',
218
	'system_usermanager.php' => 'https://docs.netgate.com/pfsense/en/latest/usermanager/users.html',
219
	'system_usermanager_settings.php' => 'https://docs.netgate.com/pfsense/en/latest/usermanager/users.html',
220
	'system_user_settings.php' => 'https://docs.netgate.com/pfsense/en/latest/usermanager/users.html',
221
	'traffic_shaper_wizard_dedicated.xml' => 'https://docs.netgate.com/pfsense/en/latest/recipes/traffic-shaper-altq-wizard.html',
222
	'traffic_shaper_wizard_multi_all.xml' => 'https://docs.netgate.com/pfsense/en/latest/recipes/traffic-shaper-altq-wizard.html',
223
	'vpn_ipsec_keys_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/vpn/ipsec/tunnels.html',
224
	'vpn_ipsec_keys.php' => 'https://docs.netgate.com/pfsense/en/latest/recipes/ipsec-mobile-ikev2-eap-mschapv2.html',
225
	'vpn_ipsec_mobile.php' => 'https://docs.netgate.com/pfsense/en/latest/vpn/ipsec/mobile-clients.html',
226
	'vpn_ipsec_phase1.php' => 'https://docs.netgate.com/pfsense/en/latest/vpn/ipsec/configure.html',
227
	'vpn_ipsec_phase2.php' => 'https://docs.netgate.com/pfsense/en/latest/vpn/ipsec/configure.html',
228
	'vpn_ipsec.php' => 'https://docs.netgate.com/pfsense/en/latest/vpn/ipsec/index.html',
229
	'vpn_ipsec_settings.php' => 'https://docs.netgate.com/pfsense/en/latest/book/ipsec/ipsec-advanced-settings.html',
230
	'vpn_l2tp.php' => 'https://docs.netgate.com/pfsense/en/latest/vpn/l2tp/configuration.html',
231
	'vpn_l2tp_users_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/vpn/l2tp/configuration.html',
232
	'vpn_l2tp_users.php' => 'https://docs.netgate.com/pfsense/en/latest/vpn/l2tp/configuration.html',
233
	'vpn_openvpn_client.php' => 'https://docs.netgate.com/pfsense/en/latest/vpn/openvpn/index.html',
234
	'vpn_openvpn_csc.php' => 'https://docs.netgate.com/pfsense/en/latest/vpn/openvpn/index.html',
235
	'vpn_openvpn_export.php' => 'https://docs.netgate.com/pfsense/en/latest/vpn/openvpn/index.html',
236
	'vpn_openvpn_export_shared.php' => 'https://docs.netgate.com/pfsense/en/latest/vpn/openvpn/index.html',
237
	'vpn_openvpn_server.php' => 'https://docs.netgate.com/pfsense/en/latest/vpn/openvpn/index.html',
238

    
239
	/* Packages from here on down. Not checked as strictly. Pages may not yet exist. */
240
	'acme/acme_accountkeys_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/acme/index.html',
241
	'acme/acme_accountkeys.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/acme/index.html',
242
	'acme/acme_certificates_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/acme/index.html',
243
	'acme/acme_certificates.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/acme/index.html',
244
	'acme/acme_generalsettings.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/acme/index.html',
245
	'acme.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/acme/index.html',
246
	'arping.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/arping.html',
247
	'autoconfigbackup_backup.php' => 'https://docs.netgate.com/pfsense/en/latest/backup/autoconfigbackup.html',
248
	'autoconfigbackup.php' => 'https://docs.netgate.com/pfsense/en/latest/backup/autoconfigbackup.html',
249
	'autoconfigbackup_stats.php' => 'https://docs.netgate.com/pfsense/en/latest/backup/autoconfigbackup.html',
250
	'autoconfigbackup.xml' => 'https://docs.netgate.com/pfsense/en/latest/backup/autoconfigbackup.html',
251
	'avahi.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/avahi.html',
252
	'darkstat.xml' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/graphs/bandwidth-usage.html',
253
	'freeradiusauthorizedmacs.xml' => 'https://www.netgate.com/docs/pfsense/usermanager/plain-mac-authentication-with-freeradius.rst',
254
	'freeradiuscerts.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/freeradius.html',
255
	'freeradiusclients.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/freeradius.html',
256
	'freeradiuseapconf.xml' => 'https://docs.netgate.com/pfsense/en/latest/recipes/freeradius-eap.html',
257
	'freeradiusinterfaces.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/freeradius.html',
258
	'freeradiusmodulesldap.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/freeradius.html',
259
	'freeradiussettings.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/freeradius.html',
260
	'freeradiussqlconf.xml' => 'https://docs.netgate.com/pfsense/en/latest/usermanager/using-mysql-with-freeradius.html',
261
	'freeradiussync.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/freeradius.html',
262
	'freeradius_view_config.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/freeradius.html',
263
	'freeradius.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/freeradius.html',
264
	'haproxy/haproxy_files.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/haproxy.html',
265
	'haproxy/haproxy_global.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/haproxy.html',
266
	'haproxy/haproxy_listeners_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/haproxy.html',
267
	'haproxy/haproxy_listeners.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/haproxy.html',
268
	'haproxy/haproxy_pool_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/haproxy.html',
269
	'haproxy/haproxy_pools.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/haproxy.html',
270
	'haproxy/haproxy_stats.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/haproxy.html',
271
	'haproxy/haproxy_templates.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/haproxy.html',
272
	'haproxy.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/haproxy.html',
273
	'iperfserver.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/iperf.html',
274
	'iperf.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/iperf.html',
275
	'ladvd.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/lldp.html',
276
	'nmap.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/nmap.html',
277
	'ntopng.xml' => 'https://docs.netgate.com/pfsense/en/latest/monitoring/graphs/bandwidth-usage.html',
278
	'nut_settings.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/nut.html',
279
	'nut_status.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/nut.html',
280
	'nut.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/nut.html',
281
	'openbgpd_groups.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/openbgpd.html',
282
	'openbgpd_neighbors.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/openbgpd.html',
283
	'openbgpd_raw.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/openbgpd.html',
284
	'openbgpd_status.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/openbgpd.html',
285
	'openbgpd.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/openbgpd.html',
286
	'open-vm-tools.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/open-vm-tools.html',
287
	'pfblockerng/pfblockerng_alerts_ar.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/pfblocker.html',
288
	'pfblockerng/pfblockerng_alerts.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/pfblocker.html',
289
	'pfblockerng/pfblockerng_dnsbl_easylist.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/pfblocker.html',
290
	'pfblockerng/pfblockerng_dnsbl_lists.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/pfblocker.html',
291
	'pfblockerng/pfblockerng_dnsbl.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/pfblocker.html',
292
	'pfblockerng/pfblockerng_log.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/pfblocker.html',
293
	'pfblockerng/pfblockerng.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/pfblocker.html',
294
	'pfblockerng/pfblockerng_sync.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/pfblocker.html',
295
	'pfblockerng/pfblockerng_threats.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/pfblocker.html',
296
	'pfblockerng/pfblockerng_update.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/pfblocker.html',
297
	'pfblockerng/pfblockerng_v4lists.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/pfblocker.html',
298
	'pfblockerng/pfblockerng_v6lists.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/pfblocker.html',
299
	'pfblockerng/www/index.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/pfblocker.html',
300
	'pfblockerng.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/pfblocker.html',
301
	'routed.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/routed.html',
302
	'shellcmd.xml' => 'https://docs.netgate.com/pfsense/en/latest/development/boot-commands.html',
303
	'siproxd_registered_phones.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/siproxd.html',
304
	'siproxdusers.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/siproxd.html',
305
	'siproxd.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/siproxd.html',
306
	'snort/snort_alerts.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/alerts.html',
307
	'snort/snort_barnyard.php' => 'https://docs.netgate.com/pfsense/en/latest/ids-ips/snort-barnyard2.html',
308
	'snort/snort_blocked.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/blocked-hosts.html',
309
	'snort/snort_define_servers.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/define-servers.html',
310
	'snort/snort_download_rules.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/updates.html',
311
	'snort/snort_download_updates.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/updates.html',
312
	'snort/snort_ftp_client_engine.php' => 'https://docs.netgate.com/pfsense/en/latest/ids-ips/snort-preprocessors.html',
313
	'snort/snort_ftp_server_engine.php' => 'https://docs.netgate.com/pfsense/en/latest/ids-ips/snort-preprocessors.html',
314
	'snort/snort_httpinspect_engine.php' => 'https://docs.netgate.com/pfsense/en/latest/ids-ips/snort-preprocessors.html',
315
	'snort/snort_interfaces_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/interfaces.html',
316
	'snort/snort_interfaces_global.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/interfaces.html',
317
	'snort/snort_interfaces.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/interfaces.html',
318
	'snort/snort_interfaces_suppress_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/suppress-list.html',
319
	'snort/snort_interfaces_suppress.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/suppress-list.html',
320
	'snort/snort_ip_list_mgmt.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/ip-list-mgmt.html',
321
	'snort/snort_iprep_list_browser.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/ip-reputation.html',
322
	'snort/snort_ip_reputation.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/ip-reputation.html',
323
	'snort/snort_passlist_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/passlist.html',
324
	'snort/snort_passlist.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/passlist.html',
325
	'snort/snort_preprocessors.php' => 'https://docs.netgate.com/pfsense/en/latest/ids-ips/snort-preprocessors.html',
326
	'snort/snort_rules_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/rules.html',
327
	'snort/snort_rulesets.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/rules.html',
328
	'snort/snort_rules_flowbits.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/rules.html',
329
	'snort/snort_rules.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/rules.html',
330
	'snort/snort_sync.xml' => 'https://docs.netgate.com/pfsense/en/latest/ids-ips/snort-xmlrpc-synchronization.html',
331
	'snort.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/setup.html',
332
	'softflowd.xml' => 'https://docs.netgate.com/pfsense/en/latest/recipes/netflow-with-softflowd.html',
333
	'squid_antivirus.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/index.html',
334
	'squid_auth.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/index.html',
335
	'squid_cache.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/index.html',
336
	'squidguard_acl.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/cache-proxy/squidguard.html',
337
	'squidguard_default.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/cache-proxy/squidguard.html',
338
	'squidguard_dest.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/cache-proxy/squidguard.html',
339
	'squidguard_rewr.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/cache-proxy/squidguard.html',
340
	'squidGuard/squidguard_blacklist.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/cache-proxy/squidguard.html',
341
	'squidGuard/squidguard_log.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/cache-proxy/squidguard.html',
342
	'squidguard_sync.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/cache-proxy/squidguard.html',
343
	'squidguard_time.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/cache-proxy/squidguard.html',
344
	'squidguard.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/cache-proxy/squidguard.html',
345
	'squid_log_parser.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/index.html',
346
	'squid_monitor_data.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/index.html',
347
	'squid_monitor.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/index.html',
348
	'squid_reverse_general.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/index.html',
349
	'squid_reverse_peer.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/index.html',
350
	'squid_reverse_redir.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/index.html',
351
	'squid_reverse_sync.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/index.html',
352
	'squid_reverse_uri.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/index.html',
353
	'squid_sync.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/index.html',
354
	'squid_traffic.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/index.html',
355
	'squid_upstream.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/index.html',
356
	'squid_users.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/index.html',
357
	'squid.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/snort/index.html',
358
	'status_ladvd.php' => 'https://docs.netgate.com/pfsense/en/latest/packages/lldp.html',
359
	'stunnel_certs.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/stunnel.html',
360
	'stunnel.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/stunnel.html',
361
	'sudo.xml' => 'https://docs.netgate.com/pfsense/en/latest/packages/sudo.html',
362
	'system_patches_edit.php' => 'https://docs.netgate.com/pfsense/en/latest/development/system-patches.html',
363
	'system_patches.php' => 'https://docs.netgate.com/pfsense/en/latest/development/system-patches.html',
364
	'systempatches.xml' => 'https://docs.netgate.com/pfsense/en/latest/development/system-patches.html',
365
	'vpc_vpn_wizard.xml' => 'https://docs.netgate.com/pfsense/en/latest/solutions/aws-vpn-appliance/vpc-wizard-guide.html'
366
);
367

    
368
$pagename = "";
369
/* Check for parameter "page". */
370
if ($_REQUEST && isset($_REQUEST['page'])) {
371
	$pagename = $_REQUEST['page'];
372
}
373

    
374
/* If "page" is not found, check referring URL */
375
if (empty($pagename)) {
376
	/* Attempt to parse out filename */
377
	$uri_split = "";
378
	preg_match("/\/(.*)\?(.*)/", $_SERVER["HTTP_REFERER"], $uri_split);
379

    
380
	/* If there was no match, there were no parameters, just grab the filename
381
		Otherwise, use the matched filename from above. */
382
	if (empty($uri_split[0])) {
383
		$pagename = ltrim(parse_url($_SERVER["HTTP_REFERER"], PHP_URL_PATH), '/');
384
	} else {
385
		$pagename = $uri_split[1];
386
	}
387

    
388
	/* If the referrer was index.php then this was a redirect to help.php
389
	   because help.php was the first page the user has priv to.
390
	   In that case we do not want to redirect off to the dashboard help. */
391
	if ($pagename == "index.php") {
392
		$pagename = "";
393
	}
394

    
395
	/* If the filename is pkg_edit.php or wizard.php, reparse looking
396
		for the .xml filename */
397
	if (($pagename == "pkg.php") || ($pagename == "pkg_edit.php") || ($pagename == "wizard.php")) {
398
		$param_split = explode('&', $uri_split[2]);
399
		foreach ($param_split as $param) {
400
			if (substr($param, 0, 4) == "xml=") {
401
				$xmlfile = explode('=', $param);
402
				$pagename = $xmlfile[1];
403
			}
404
		}
405
	}
406
}
407

    
408
/* Using the derived page name, attempt to find in the URL mapping hash */
409
if (strlen($pagename) > 0) {
410
	if (array_key_exists($pagename, $helppages)) {
411
		$helppage = $helppages[$pagename];
412
	} else {
413
		// If no specific page was found, use a generic help page
414
		$helppage = 'https://docs.netgate.com/pfsense/en/latest/index.html';
415
	}
416

    
417
	/* Redirect to help page. */
418
	header("Location: {$helppage}");
419
}
420

    
421
// No page name was determined, so show a message.
422
$pgtitle = array(gettext("Help"), gettext("About this Page"));
423
require_once("head.inc");
424

    
425
if (is_array($allowedpages) && str_replace('*', '', $allowedpages[0]) == "help.php") {
426
	if (count($allowedpages) == 1) {
427
		print_info_box(gettext("The Help page is the only page this user has privilege for."));
428
	} else {
429
		print_info_box(gettext("Displaying the Help page because it is the first page this user has privilege for."));
430
	}
431
} else {
432
	print_info_box(gettext("Help page accessed directly without any page parameter."));
433
}
434

    
435
include("foot.inc");
436
?>
(68-68/229)