wireguard-ipv6-converter: verified download, restart upheld while the interface is up, percent signs escaped for systemd

This commit is contained in:
2026-10-26 19:15:46 +00:00
parent f67edd7a07
commit 78a370dbd1
3 changed files with 10 additions and 1 deletions
@@ -3,5 +3,10 @@
# interface without its IPv6 addresses. Start it again whenever
# {{ wireguard_ipv6_converter.service.bindTo }} starts. --no-block because the converter orders
# itself After={{ wireguard_ipv6_converter.service.bindTo }}.
# Upholds= additionally restarts the converter whenever it stops while
# {{ wireguard_ipv6_converter.service.bindTo }} is active, e.g. after it exhausted its start limit.
[Unit]
Upholds=wg-ipv6-converter_{{ wireguard_ipv6_converter.setup.interface }}.service
[Service]
ExecStartPost=/bin/systemctl --no-block start wg-ipv6-converter_{{ wireguard_ipv6_converter.setup.interface }}.service
@@ -16,7 +16,8 @@ RestartSec=30
Environment="INTERFACE={{ wireguard_ipv6_converter.setup.interface }}"
{% if wireguard_ipv6_converter.setup.ipv6_format is defined %}
Environment="IPV6_FORMAT={{ wireguard_ipv6_converter.setup.ipv6_format }}"
{# systemd expands specifiers in Environment=, so every % must be doubled. #}
Environment="IPV6_FORMAT={{ wireguard_ipv6_converter.setup.ipv6_format | replace('%', '%%') }}"
{% endif %}
{% if wireguard_ipv6_converter.setup.filter_prefix is defined %}
Environment="FILTER_PREFIX={{ wireguard_ipv6_converter.setup.filter_prefix }}"