mirror of
https://github.com/opnsense/plugins.git
synced 2026-06-09 00:42:34 -04:00
Merge e26baadc8f into cb9a5d6d69
This commit is contained in:
commit
e52c6fd73e
9 changed files with 86 additions and 4 deletions
|
|
@ -1,5 +1,5 @@
|
|||
PLUGIN_NAME= tailscale
|
||||
PLUGIN_VERSION= 1.4
|
||||
PLUGIN_VERSION= 1.5
|
||||
PLUGIN_COMMENT= VPN mesh securely connecting clients using WireGuard
|
||||
PLUGIN_DEPENDS= tailscale
|
||||
PLUGIN_MAINTAINER= sam@sheridan.uk
|
||||
|
|
|
|||
|
|
@ -6,6 +6,12 @@ https://tailscale.com/
|
|||
Plugin Changelog
|
||||
================
|
||||
|
||||
1.5
|
||||
|
||||
* add tailscale set command support
|
||||
* add relay server port setting (--relay-server-port)
|
||||
* add web client option (--webclient)
|
||||
|
||||
1.4
|
||||
|
||||
* set pre-auth key field in UI to optional, enables registration via pre-auth key or AuthURL from status page
|
||||
|
|
|
|||
37
security/tailscale/src/etc/rc.d/tailscaled_set
Executable file
37
security/tailscale/src/etc/rc.d/tailscaled_set
Executable file
|
|
@ -0,0 +1,37 @@
|
|||
#!/bin/sh
|
||||
|
||||
# PROVIDE: tailscaled_set
|
||||
# REQUIRE: tailscaled
|
||||
#
|
||||
# Applies "tailscale set" configuration after tailscaled is running.
|
||||
# Sources tailscaled_set_args from /etc/rc.conf.d/tailscaled_set.
|
||||
|
||||
. /etc/rc.subr
|
||||
|
||||
name="tailscaled_set"
|
||||
rcvar="${name}_enable"
|
||||
start_cmd="${name}_start"
|
||||
stop_cmd=":"
|
||||
|
||||
load_rc_config $name
|
||||
: ${tailscaled_set_enable:="NO"}
|
||||
|
||||
tailscaled_set_start()
|
||||
{
|
||||
# Wait for tailscaled to become ready (up to 15 seconds)
|
||||
local i=0
|
||||
while ! /usr/local/bin/tailscale status > /dev/null 2>&1; do
|
||||
sleep 1
|
||||
i=$((i + 1))
|
||||
if [ $i -ge 15 ]; then
|
||||
echo "tailscaled_set: tailscaled never became ready"
|
||||
return 1
|
||||
fi
|
||||
done
|
||||
|
||||
/usr/local/bin/tailscale set ${tailscaled_set_args}
|
||||
}
|
||||
|
||||
run_rc_command "$1"
|
||||
|
||||
|
||||
|
|
@ -18,6 +18,20 @@
|
|||
<type>text</type>
|
||||
<help>UDP port to listen on for WireGuard and peer-to-peer traffic.</help>
|
||||
</field>
|
||||
<field>
|
||||
<id>settings.relayServerPort</id>
|
||||
<label>Relay Server Port</label>
|
||||
<type>text</type>
|
||||
<advanced>true</advanced>
|
||||
<help>Specify a UDP port to accept peer relay connections on. UDP port number (0 will pick a random unused port) for the relay server to bind to, on all interfaces, or empty string to disable relay server functionality.</help>
|
||||
</field>
|
||||
<field>
|
||||
<id>settings.webclient</id>
|
||||
<label>Web Client</label>
|
||||
<type>checkbox</type>
|
||||
<advanced>true</advanced>
|
||||
<help>Expose the web interface to your tailnet persistently in the background on port :5252.</help>
|
||||
</field>
|
||||
<field>
|
||||
<id>settings.acceptDNS</id>
|
||||
<label>Accept DNS</label>
|
||||
|
|
|
|||
|
|
@ -15,6 +15,13 @@
|
|||
<Default>41641</Default>
|
||||
<Required>Y</Required>
|
||||
</listenPort>
|
||||
<relayServerPort type="PortField">
|
||||
<Required>N</Required>
|
||||
</relayServerPort>
|
||||
<webclient type="BooleanField">
|
||||
<Default>0</Default>
|
||||
<Required>Y</Required>
|
||||
</webclient>
|
||||
<acceptDNS type="BooleanField">
|
||||
<Default>1</Default>
|
||||
<Required>Y</Required>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
[start]
|
||||
command:/usr/local/etc/rc.d/tailscaled start
|
||||
command:/usr/local/etc/rc.d/tailscaled start && /usr/local/etc/rc.d/tailscaled_set start; exit 0
|
||||
type: script
|
||||
message: starting tailscale service
|
||||
|
||||
|
|
@ -14,7 +14,7 @@ type: script_output
|
|||
message: tailscaled status
|
||||
|
||||
[restart]
|
||||
command:/usr/local/etc/rc.d/tailscaled restart
|
||||
command:/usr/local/etc/rc.d/tailscaled restart && /usr/local/etc/rc.d/tailscaled_set start; exit 0
|
||||
type: script
|
||||
message: restarting tailscale services
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +1,2 @@
|
|||
rc.conf.d:/etc/rc.conf.d/tailscaled
|
||||
rc.conf-up.d:/etc/rc.conf.d/tailscaled
|
||||
rc.conf-set.d:/etc/rc.conf.d/tailscaled_set
|
||||
|
|
|
|||
|
|
@ -0,0 +1,17 @@
|
|||
# DO NOT EDIT
|
||||
# THIS FILE IS AUTOMATICALLY GENERATED - ANY CHANGES WILL BE OVERWRITTEN
|
||||
#
|
||||
{% if not helpers.empty('OPNsense.tailscale.settings.enabled') %}
|
||||
tailscaled_set_enable="YES"
|
||||
{% set set_args = [] %}
|
||||
{% do set_args.append("--relay-server-port=" + OPNsense.tailscale.settings.relayServerPort|default("")) %}
|
||||
{% if helpers.exists('OPNsense.tailscale.settings.webclient') and OPNsense.tailscale.settings.webclient|default("0") == "1" %}
|
||||
{% do set_args.append("--webclient") %}
|
||||
{% else %}
|
||||
{% do set_args.append("--webclient=false") %}
|
||||
{% endif %}
|
||||
tailscaled_set_args="{{ set_args|join(' ') }}"
|
||||
{% else %}
|
||||
tailscaled_set_enable="NO"
|
||||
{% endif %}
|
||||
|
||||
Loading…
Reference in a new issue