فهرست منبع

add filter "home-assistant-config-entries"

Home Assistant stores integration credentials in plain text in .storage/core.config_entries (e.g. AVM FRITZ!Box Tools username and password). Replace every non-null data.password with "…" via jq.

Git applies only one filter per path, so the MAC address filter is chained by evaluating its configured clean command instead of duplicating it.

Requires jq >= 1.7, as older versions may reformat floats. Since smudge is a no-op, a checkout restores "…" as password and credentials must be re-entered in Home Assistant.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Fabian Peter Hammerle 1 ماه پیش
والد
کامیت
005fa8b8a7
1فایلهای تغییر یافته به همراه5 افزوده شده و 0 حذف شده
  1. 5 0
      gitconfig

+ 5 - 0
gitconfig

@@ -42,6 +42,11 @@
 [diff "hexdump"]
 	textconv = od -t x1z --
 
+[filter "home-assistant-config-entries"]
+	clean = jq '(.data.entries[].data | select(.password != null) | .password) = \"…\"' | eval \"$(git config --get filter.truncate-mac-address-to-24-bits.clean)\"
+	smudge = cat
+	required = true
+
 [filter "truncate-mac-address-to-24-bits"]
 	clean = sed -E     -e 's/(^|[^[:xdigit:]:])([[:xdigit:]]{2}(:[[:xdigit:]]{2}){2})(:[[:xdigit:]]{2}){3}([^[:xdigit:]:]|$)/\\1\\2:…\\5/g'     -e 's/(-[[:xdigit:]]{4}-40e7-(8e6c|9f6c)-[[:xdigit:]]{6})[[:xdigit:]]{6}([^[:xdigit:]]|$)/\\1…\\3/gI'     -e 's/(:[[:xdigit:]]{0,4}:[[:xdigit:]]{0,2}ff:fe)[[:xdigit:]]{2}:[[:xdigit:]]{1,4}([^[:xdigit:]:]|$)/\\1…\\2/gI'     -e 's/(^|[^[:xdigit:]-])([[:xdigit:]]{6})[[:xdigit:]]{6}([^[:xdigit:]]|$)/\\1\\2…\\3/g'
 	smudge = cat