Files

332 lines
11 KiB
XML

<?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[
/*
* netbird.xml
*
* part of pfSense (https://www.pfsense.org)
* Copyright (c) 2022-2025 Rubicon Communications, LLC (Netgate)
* All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
]]>
</copyright>
<name>netbird</name>
<version>%%PKGVERSION%%</version>
<title>VPN/NetBird</title>
<include_file>/usr/local/pkg/netbird/netbird.inc</include_file>
<aftersaveredirect>/pkg_edit.php?xml=netbird.xml</aftersaveredirect>
<menu>
<name>NetBird</name>
<section>VPN</section>
<configfile>netbird.xml</configfile>
<url>/netbird_auth.php</url>
</menu>
<menu>
<name>NetBird</name>
<section>Status</section>
<configfile>netbird.xml</configfile>
<url>/netbird_status.php</url>
</menu>
<service>
<name>netbird</name>
<rcfile>netbird.sh</rcfile>
<executable>netbird</executable>
<description>NetBird secure overlay network</description>
</service>
<tabs>
<tab>
<text>Authentication</text>
<url>netbird_auth.php</url>
</tab>
<tab>
<text>Settings</text>
<url>pkg_edit.php?xml=netbird.xml</url>
<active/>
</tab>
<tab>
<text>Status</text>
<url>netbird_status.php</url>
</tab>
</tabs>
<fields>
<field>
<name>General</name>
<type>listtopic</type>
</field>
<field>
<fielddescr>WireGuard Port</fielddescr>
<fieldname>wireguardport</fieldname>
<description>
<![CDATA[
Wireguard interface listening port
]]>
</description>
<type>input</type>
<default_value>51820</default_value>
<required/>
</field>
<field>
<name>Client Firewall</name>
<type>listtopic</type>
</field>
<field>
<fielddescr>Enable firewall</fielddescr>
<fieldname>allowfirewallconfig</fieldname>
<description>
<![CDATA[
Allow the client to filter traffic with its built-in firewall
]]>
</description>
<sethelp>
<![CDATA[
If disabled, you must assign the NetBird interface and manage firewall rules via PFSense firewall management.
Additionally, NetBird routing and DNS may not function as intended.
]]>
</sethelp>
<type>checkbox</type>
<default_value>on</default_value>
</field>
<field>
<fielddescr>Block Inbound Connection</fielddescr>
<fieldname>blockinboundconn</fieldname>
<description>
<![CDATA[
Block all inbound connections to the local machine from the WireGuard interface and any routed networks
]]>
</description>
<sethelp>
<![CDATA[
This overrides any policies received from the management service
]]>
</sethelp>
<type>checkbox</type>
</field>
<field>
<name>SSH</name>
<type>listtopic</type>
</field>
<field>
<fielddescr>Enable</fielddescr>
<fieldname>enablessh</fieldname>
<description>
<![CDATA[
Allows incoming SSH connections
]]>
</description>
<type>checkbox</type>
</field>
<field>
<fielddescr>Enable Root Login</fielddescr>
<fieldname>enablesshroot</fieldname>
<description>
<![CDATA[
Allow root user login
]]>
</description>
<type>checkbox</type>
</field>
<field>
<fielddescr>Enable SFTP</fielddescr>
<fieldname>enablesshsftp</fieldname>
<description>
<![CDATA[
Enable SFTP subsystem for file transfers
]]>
</description>
<type>checkbox</type>
</field>
<field>
<fielddescr>Enable Local Port Forwarding</fielddescr>
<fieldname>enablesshlocalportfwd</fieldname>
<description>
<![CDATA[
Allow clients to forward local ports through the server
]]>
</description>
<type>checkbox</type>
</field>
<field>
<fielddescr>Enable Remote Port Forwarding</fielddescr>
<fieldname>enablesshremoteportfwd</fieldname>
<description>
<![CDATA[
Allow clients to request remote port forwarding
]]>
</description>
<type>checkbox</type>
</field>
<field>
<fielddescr>Enable SSH Authentication</fielddescr>
<fieldname>enablesshauth</fieldname>
<description>
<![CDATA[
Enable JWT authentication for SSH connections
]]>
</description>
<sethelp>
<![CDATA[
When disabled, allows any peer with network access
]]>
</sethelp>
<type>checkbox</type>
<default_value>on</default_value>
</field>
<field>
<name>DNS</name>
<type>listtopic</type>
</field>
<field>
<fielddescr>Enable</fielddescr>
<fieldname>enabledns</fieldname>
<description>
<![CDATA[
Allows the client to resolve and configure DNS on the host
]]>
</description>
<type>checkbox</type>
<default_value>on</default_value>
</field>
<field>
<name>Routing</name>
<type>listtopic</type>
</field>
<field>
<fielddescr>Access LAN</fielddescr>
<fieldname>accesslan</fieldname>
<description>
<![CDATA[
Allow access to local networks (LAN) when using this peer as a routing peer or exit-node
]]>
</description>
<type>checkbox</type>
<default_value>on</default_value>
</field>
<field>
<fielddescr>Accept Client Routes</fielddescr>
<fieldname>allowclientroutes</fieldname>
<description>
<![CDATA[
Accept and process client routes received from the management
]]>
</description>
<type>checkbox</type>
<default_value>on</default_value>
</field>
<field>
<fielddescr>Allow Server Routes</fielddescr>
<fieldname>allowserverroutes</fieldname>
<description>
<![CDATA[
Enable this peer to act as a routing peer for routes received from the management
]]>
</description>
<type>checkbox</type>
<default_value>on</default_value>
</field>
<field>
<name>Post-Quantum</name>
<type>listtopic</type>
</field>
<field>
<fielddescr>Enable Rosenpass</fielddescr>
<fieldname>enablerosenpass</fieldname>
<description>
<![CDATA[
Enable the Rosenpass to provide post-quantum secure connections
]]>
</description>
<sethelp>
<![CDATA[
Experimental
]]>
</sethelp>
<type>checkbox</type>
</field>
<field>
<fielddescr>Rosenpass Permissive Mode</fielddescr>
<fieldname>rosenpasspermissive</fieldname>
<description>
<![CDATA[
Enable this peer to accept WireGuard connections from peers that do not have Rosenpass enabled
]]>
</description>
<sethelp>
<![CDATA[
Experimental
]]>
</sethelp>
<type>checkbox</type>
</field>
<field>
<name>Logging</name>
<type>listtopic</type>
</field>
<field>
<fielddescr>Syslog Logging</fielddescr>
<fieldname>syslogenable</fieldname>
<description>
<![CDATA[
Enable syslog output
]]>
</description>
<type>checkbox</type>
<default_value>on</default_value>
</field>
<field>
<fielddescr>Syslog Settings</fielddescr>
<fieldname>loglevel</fieldname>
<description>Set the syslog logging level</description>
<type>select</type>
<default_value>info</default_value>
<options>
<option><name>INFO</name><value>info</value></option>
<option><name>DEBUG</name><value>debug</value></option>
</options>
<required/>
</field>
</fields>
<note>
<![CDATA[
Changes to these settings may temporarily disrupt connections and access to NetBird.
]]>
</note>
<custom_php_install_command>
<![CDATA[netbird_install();]]>
</custom_php_install_command>
<custom_php_pre_deinstall_command>
<![CDATA[netbird_deinstall();]]>
</custom_php_pre_deinstall_command>
<custom_php_after_head_command>
<![CDATA[netbird_display_connection_info();]]>
</custom_php_after_head_command>
<custom_php_validation_command>
<![CDATA[netbird_validate_input($_POST, $input_errors);]]>
</custom_php_validation_command>
<custom_php_resync_config_command>
<![CDATA[netbird_resync_config();]]>
</custom_php_resync_config_command>
</packagegui>