diff --git a/README.md b/README.md index f4428b5..2aa0003 100644 --- a/README.md +++ b/README.md @@ -154,6 +154,8 @@ KarlDNS also shows optional compatibility fields for routers that insist on sepa - `Benutzername` (optional) - `Kennwort` (optional) +Copy the router password and one-box update URL when they are generated or rotated. They are intentionally not recoverable from the dashboard later. + The generated FRITZ!Box URL uses the native placeholders: ```text diff --git a/router_dyndns/ddns.py b/router_dyndns/ddns.py index b747ac8..824c279 100644 --- a/router_dyndns/ddns.py +++ b/router_dyndns/ddns.py @@ -835,7 +835,8 @@ def _credentials_panel(service: DdnsService, created_account: dict[str, str] | N

Hostname generated

{html.escape(hostname)}

-

Use the Update-URL directly. The separate Benutzername and Kennwort values are optional compatibility fields for routers that require them. Save this now: the password, private status page, and one-box update URL are only shown on this screen.

+

Use the Update-URL directly. The separate Benutzername and Kennwort values are optional compatibility fields for routers that require them.

+ {_one_time_secret_notice()} {_secret_notice()}
{_copy_button("Copy complete FRITZ!Box fields", fritzbox_fields)} @@ -948,6 +949,14 @@ def _secret_notice() -> str: """ +def _one_time_secret_notice() -> str: + return """ + + """ + + def _message_band(message: str | None) -> str: if not message: return "" @@ -997,7 +1006,8 @@ def _render_management_page(service: DdnsService, settings: DdnsSettings, manage

Router settings

Router update settings

-

Use the Update-URL directly if your router only has one URL field. Separate Benutzername and Kennwort values are optional compatibility fields and are only shown when generated or rotated. If you use your own DNS name, point it at this hostname with a CNAME.

+

Use the Update-URL directly if your router only has one URL field. Separate Benutzername and Kennwort values are optional compatibility fields. If you use your own DNS name, point it at this hostname with a CNAME.

+ {_one_time_secret_notice()} {_secret_notice()}
{_copy_button("Copy complete FRITZ!Box fields", fritzbox_fields)}