From 1e584c803b71dba8e6a37bd58e40d5e58e8d40e8 Mon Sep 17 00:00:00 2001 From: Frank Wall Date: Tue, 24 Mar 2026 18:18:56 +0100 Subject: [PATCH 1/3] net/turnserver: modernize UI template --- net/turnserver/pkg-descr | 3 ++ .../app/views/OPNsense/Turnserver/index.volt | 46 +++++++++++-------- 2 files changed, 29 insertions(+), 20 deletions(-) diff --git a/net/turnserver/pkg-descr b/net/turnserver/pkg-descr index 3b816781b..2c2322572 100644 --- a/net/turnserver/pkg-descr +++ b/net/turnserver/pkg-descr @@ -6,6 +6,9 @@ WWW: https://github.com/coturn/coturn Plugin Changelog ================ +Changed: +* modernize UI template + 1.1 Added: diff --git a/net/turnserver/src/opnsense/mvc/app/views/OPNsense/Turnserver/index.volt b/net/turnserver/src/opnsense/mvc/app/views/OPNsense/Turnserver/index.volt index 950b9d768..8e43f89ff 100644 --- a/net/turnserver/src/opnsense/mvc/app/views/OPNsense/Turnserver/index.volt +++ b/net/turnserver/src/opnsense/mvc/app/views/OPNsense/Turnserver/index.volt @@ -1,6 +1,6 @@ {# -Copyright (C) 2025 Frank Wall +Copyright (C) 2025-2026 Frank Wall OPNsense® is Copyright © 2014 – 2015 by Deciso B.V. All rights reserved. @@ -28,30 +28,36 @@ POSSIBILITY OF SUCH DAMAGE. #} - - -
+
{{ partial("layout_partials/base_form",['fields':settingsForm,'id':'frm_Settings'])}}
- -
- -
+{{ partial('layout_partials/base_apply_button', {'data_endpoint': '/api/turnserver/service/reconfigure', 'data_service_widget': 'turnserver'}) }} From f9ad70c77cb977c1690d42a8566c1361e3f5c874 Mon Sep 17 00:00:00 2001 From: Frank Wall Date: Tue, 24 Mar 2026 18:37:15 +0100 Subject: [PATCH 2/3] net/turnserver: add support for external-ip, closes #4906 --- net/turnserver/pkg-descr | 3 +++ .../controllers/OPNsense/Turnserver/forms/settings.xml | 8 ++++++++ .../mvc/app/models/OPNsense/Turnserver/Turnserver.xml | 6 ++++++ .../service/templates/OPNsense/Turnserver/turnserver.conf | 5 +++++ 4 files changed, 22 insertions(+) diff --git a/net/turnserver/pkg-descr b/net/turnserver/pkg-descr index 2c2322572..7eebdd4f7 100644 --- a/net/turnserver/pkg-descr +++ b/net/turnserver/pkg-descr @@ -6,6 +6,9 @@ WWW: https://github.com/coturn/coturn Plugin Changelog ================ +Added: +* add support for external IPs and IP mappings (#4906) + Changed: * modernize UI template diff --git a/net/turnserver/src/opnsense/mvc/app/controllers/OPNsense/Turnserver/forms/settings.xml b/net/turnserver/src/opnsense/mvc/app/controllers/OPNsense/Turnserver/forms/settings.xml index f16808f18..9652bef47 100644 --- a/net/turnserver/src/opnsense/mvc/app/controllers/OPNsense/Turnserver/forms/settings.xml +++ b/net/turnserver/src/opnsense/mvc/app/controllers/OPNsense/Turnserver/forms/settings.xml @@ -35,6 +35,14 @@ text Upper bound of the UDP relay endpoints (Default: 65535). + + turnserver.settings.ExternalIP + + select_multiple + + true + If the TURN service is behind a NAT, it's external IP address should be specified. When using multiple external IP addresses, IP Mappings should be used instead, i.e. 60.70.80.91/172.17.19.101 (public-ip/private-ip). + header diff --git a/net/turnserver/src/opnsense/mvc/app/models/OPNsense/Turnserver/Turnserver.xml b/net/turnserver/src/opnsense/mvc/app/models/OPNsense/Turnserver/Turnserver.xml index 47aae5f06..525171633 100644 --- a/net/turnserver/src/opnsense/mvc/app/models/OPNsense/Turnserver/Turnserver.xml +++ b/net/turnserver/src/opnsense/mvc/app/models/OPNsense/Turnserver/Turnserver.xml @@ -25,6 +25,12 @@ 65535 Y + + N + Y + /^((([0-9a-zA-Z._\-]+[\/0-9a-zA-Z._\-]*)([,]){0,1}))*/u + Please provide an external IP address or an IP mapping, i.e. 60.70.80.91/172.17.19.101. + 0 Y diff --git a/net/turnserver/src/opnsense/service/templates/OPNsense/Turnserver/turnserver.conf b/net/turnserver/src/opnsense/service/templates/OPNsense/Turnserver/turnserver.conf index f5442f1d9..7b8d15bd2 100644 --- a/net/turnserver/src/opnsense/service/templates/OPNsense/Turnserver/turnserver.conf +++ b/net/turnserver/src/opnsense/service/templates/OPNsense/Turnserver/turnserver.conf @@ -7,6 +7,11 @@ listening-ip={{ listenip }} listening-port={{ OPNsense.turnserver.settings.ListenPort }} min-port={{ OPNsense.turnserver.settings.MinPort }} max-port={{ OPNsense.turnserver.settings.MaxPort }} +{% if helpers.exists('OPNsense.turnserver.settings.ExternalIP') and OPNsense.turnserver.settings.ExternalIP|default("") != "" %} +{% for externalip in OPNsense.turnserver.settings.ExternalIP.split(",") %} +external-ip={{ externalip }} +{% endfor %} +{% endif %} # TLS {% if helpers.exists('OPNsense.turnserver.settings.TlsEnabled') and OPNsense.turnserver.settings.TlsEnabled|default("") == "1" %} From 52f68df15c96c9d0d666222940e414e90b454477 Mon Sep 17 00:00:00 2001 From: Frank Wall Date: Tue, 24 Mar 2026 18:39:03 +0100 Subject: [PATCH 3/3] net/turnserver: bump version --- net/turnserver/Makefile | 2 +- net/turnserver/pkg-descr | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/net/turnserver/Makefile b/net/turnserver/Makefile index 9fbad5318..8a863dd17 100644 --- a/net/turnserver/Makefile +++ b/net/turnserver/Makefile @@ -1,5 +1,5 @@ PLUGIN_NAME= turnserver -PLUGIN_VERSION= 1.1 +PLUGIN_VERSION= 1.2 PLUGIN_COMMENT= The coturn STUN/TURN Server PLUGIN_DEPENDS= turnserver PLUGIN_MAINTAINER= opnsense@moov.de diff --git a/net/turnserver/pkg-descr b/net/turnserver/pkg-descr index 7eebdd4f7..27ac200fd 100644 --- a/net/turnserver/pkg-descr +++ b/net/turnserver/pkg-descr @@ -6,6 +6,8 @@ WWW: https://github.com/coturn/coturn Plugin Changelog ================ +1.2 + Added: * add support for external IPs and IP mappings (#4906)