From c659fa502048d97b42222f170d7f9b1b98297594 Mon Sep 17 00:00:00 2001 From: Vuong Hoang Date: Mon, 14 Sep 2026 19:09:27 -0700 Subject: [PATCH] =?UTF-8?q?fix(esphome):=20correct=20the=20record=20?= =?UTF-8?q?=E2=80=94=20mDNS=20advertisement=20was=20never=20removed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ha-dev caught a false claim I committed in 687c699: 'no mDNS advertisement' and '_esphomebuilder._tcp gone too'. Both wrong. The dashboard is still advertised; I confirmed it independently with an mDNS PTR query rather than taking the correction on trust — 331-byte response from 10.0.50.45. The error was two instruments deep. First, wrong instrument: I inferred a network fact from a log grep instead of asking the network. Second, the grep itself was silently truncating — returned 0 for a line that exists in the full log at 19:03:03 on the current boot, because a bare time is parsed against a different reference than the displayed timestamps. A filter that drops your window reports absence indistinguishably from a real zero. Re-verified the peer-link conclusion against the FULL log, since it rested on the same bad grep: 'peer-link site listening' appears at 18:55:22 and 19:01:28 only, both before the 19:03:01 restart, and Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process u_str ESTAB 0 0 /run/systemd/journal/stdout 503187424 * 503225110 u_str ESTAB 0 0 * 321804885 * 321804884 u_dgr ESTAB 0 0 * 520466417 * 25662 u_str ESTAB 0 0 /run/systemd/journal/stdout 502189514 * 502207581 u_str ESTAB 0 0 * 20836 * 15946 u_str ESTAB 0 0 * 364734154 * 364734153 u_str ESTAB 0 0 * 172931544 * 172931545 u_str ESTAB 0 0 * 187891155 * 187891156 u_str ESTAB 0 0 * 520270573 * 520261514 u_str ESTAB 0 0 * 20631 * 25881 u_str ESTAB 0 0 * 172931543 * 172931542 u_dgr ESTAB 0 0 * 16863 * 16864 u_str ESTAB 0 0 * 503210394 * 503205589 u_str ESTAB 0 0 * 248399528 * 248399529 u_str ESTAB 0 0 * 105475370 * 105475371 u_str ESTAB 0 0 * 69011789 * 69011788 u_str ESTAB 0 0 * 3165934 * 3165933 u_str ESTAB 0 0 * 24696 * 20601 u_str ESTAB 0 0 * 2175986 * 2175985 u_str ESTAB 0 0 * 172931558 * 172931559 u_str ESTAB 0 0 * 160801993 * 160801992 u_str ESTAB 0 0 * 18386 * 18385 u_str ESTAB 0 0 * 187891160 * 187891159 u_dgr ESTAB 0 0 * 61008 * 25662 u_str ESTAB 0 0 * 3167752 * 3167753 u_dgr ESTAB 0 0 * 17512 * 25662 u_str ESTAB 0 0 /run/systemd/journal/stdout 20596 * 24684 u_str ESTAB 0 0 * 364734156 * 364734155 u_str ESTAB 0 0 * 172931557 * 172931556 u_str ESTAB 0 0 * 163017376 * 163017377 u_str ESTAB 0 0 * 24671 * 19536 u_str ESTAB 0 0 * 160801991 * 160801990 u_str ESTAB 0 0 * 37642868 * 37642869 u_str ESTAB 0 0 * 535492351 * 535492350 u_str ESTAB 0 0 * 105475367 * 105475366 u_str ESTAB 0 0 * 24705 * 24706 u_str ESTAB 0 0 /run/systemd/journal/stdout 271511134 * 271557694 u_str ESTAB 0 0 * 2175985 * 2175986 u_str ESTAB 0 0 /run/systemd/journal/stdout 15948 * 16931 u_str ESTAB 0 0 * 18328 * 15945 u_str ESTAB 0 0 * 105323726 * 105323727 u_str ESTAB 0 0 * 45403900 * 45403901 u_str ESTAB 0 0 * 527114553 * 527114554 u_str ESTAB 0 0 * 287336311 * 287336310 u_str ESTAB 0 0 * 287354062 * 287354063 u_str ESTAB 0 0 * 105315056 * 105315055 u_str ESTAB 0 0 * 3165933 * 3165934 u_str ESTAB 0 0 * 14493 * 14492 u_str ESTAB 0 0 * 16875 * 24708 u_dgr ESTAB 0 0 * 27435051 * 25664 u_str ESTAB 0 0 * 163017377 * 163017376 u_str ESTAB 0 0 * 505982055 * 505963077 u_str ESTAB 0 0 * 505979226 * 505982036 u_str ESTAB 0 0 * 248399529 * 248399528 u_str ESTAB 0 0 * 51378988 * 51378989 u_str ESTAB 0 0 * 364734155 * 364734156 u_str ESTAB 0 0 * 160777161 * 160777160 u_dgr ESTAB 0 0 * 20583 * 25662 u_str ESTAB 0 0 * 37642870 * 37642871 u_str ESTAB 0 0 * 520270568 * 0 u_str ESTAB 0 0 * 105475368 * 105475369 u_str ESTAB 0 0 * 18990478 * 18991473 u_str ESTAB 0 0 * 4332746 * 4332745 u_str ESTAB 0 0 * 4041751 * 4041752 u_str ESTAB 0 0 * 24684 * 20596 u_str ESTAB 0 0 * 520517051 * 0 u_str ESTAB 0 0 /run/systemd/journal/stdout 321223400 * 321228120 u_dgr ESTAB 0 0 * 28403 * 25662 u_str ESTAB 0 0 * 172931542 * 172931543 u_str ESTAB 0 0 /run/systemd/journal/stdout 15945 * 18328 u_str ESTAB 0 0 * 51378990 * 51378991 u_str ESTAB 0 0 * 364734153 * 364734154 u_str ESTAB 0 0 * 172931561 * 172931560 u_str ESTAB 0 0 * 28400 * 19407 u_str ESTAB 0 0 * 287336310 * 287336311 u_str ESTAB 0 0 /run/containerd/s/11912e5b8985b87f67739888cd3d1796ea228b84682db1a435736131d390e93d 505982036 * 505979226 u_str ESTAB 0 0 * 51378992 * 51378993 u_str ESTAB 0 0 * 163017378 * 163017379 u_str ESTAB 0 0 * 105323728 * 105323729 u_dgr ESTAB 0 0 * 16794 * 16795 u_str ESTAB 0 0 * 502207581 * 502189514 u_str ESTAB 0 0 * 24687 * 20599 u_str ESTAB 0 0 /run/systemd/journal/stdout 61700 * 61004 u_str ESTAB 0 0 /run/dbus/system_bus_socket 24708 * 16875 u_str ESTAB 0 0 * 172931559 * 172931558 u_str ESTAB 0 0 * 18385 * 18386 u_str ESTAB 0 0 * 502207587 * 502207588 u_str ESTAB 0 0 * 2175982 * 2175981 u_str ESTAB 0 0 /run/systemd/journal/stdout 15947 * 24716 u_dgr ESTAB 0 0 /run/systemd/notify 16793 * 0 u_str ESTAB 0 0 * 211929261 * 211929262 u_str ESTAB 0 0 * 505966166 * 505963075 u_str ESTAB 0 0 /home/lkraven/.claude/remote/run/b927d560/rpc.sock 520261514 * 520270573 u_str ESTAB 0 0 * 177602210 * 177602211 u_str ESTAB 0 0 * 160777160 * 160777161 u_str ESTAB 0 0 * 211929262 * 211929261 u_dgr ESTAB 0 0 * 4041742 * 25662 u_str ESTAB 0 0 * 503653921 * 503666646 u_str ESTAB 0 0 * 4041752 * 4041751 u_str ESTAB 0 0 /run/containerd/containerd.sock 503204798 * 503100306 u_str ESTAB 0 0 * 51378991 * 51378990 u_str ESTAB 0 0 /run/systemd/journal/stdout 18991473 * 18990478 u_str ESTAB 0 0 * 2175983 * 2175984 u_str ESTAB 0 0 * 364734152 * 364734151 u_str ESTAB 0 0 * 172931545 * 172931544 u_str ESTAB 0 0 * 160801990 * 160801991 u_dgr ESTAB 0 0 * 16866 * 16865 u_dgr ESTAB 0 0 /run/systemd/journal/dev-log 25662 * 0 u_str ESTAB 0 0 /run/systemd/journal/stdout 503222380 * 503210386 u_str ESTAB 0 0 * 2175981 * 2175982 u_dgr ESTAB 0 0 /run/systemd/journal/socket 25664 * 0 u_str ESTAB 0 0 * 187891158 * 187891157 u_str ESTAB 0 0 * 105323725 * 105323724 u_str ESTAB 0 0 * 271499970 * 271499971 u_str ESTAB 0 0 /run/systemd/journal/stdout 20599 * 24687 u_dgr ESTAB 0 0 * 16865 * 16866 u_str ESTAB 0 0 * 520517939 * 520517938 u_str ESTAB 0 0 * 287354064 * 287354065 u_str ESTAB 0 0 * 105475369 * 105475368 u_str ESTAB 0 0 /run/user/1000/bus 283951 * 286837 u_dgr ESTAB 0 0 * 20620 * 25664 u_str ESTAB 0 0 * 187891159 * 187891160 u_dgr ESTAB 0 0 * 16795 * 16794 u_str ESTAB 0 0 * 211826467 * 211826466 u_str ESTAB 0 0 * 158808 * 158807 u_str ESTAB 0 0 * 24716 * 15947 u_str ESTAB 0 0 /run/docker.sock 505963075 * 505966166 u_str ESTAB 0 0 * 177602211 * 177602210 u_str ESTAB 0 0 * 160777158 * 160777159 u_str ESTAB 0 0 * 37642872 * 37642873 u_str ESTAB 0 0 * 502207588 * 502207587 u_str ESTAB 0 0 * 286837 * 283951 u_str ESTAB 0 0 * 14492 * 14493 u_str ESTAB 0 0 /run/systemd/journal/stdout 20601 * 24696 u_str ESTAB 0 0 * 160801992 * 160801993 u_str ESTAB 0 0 * 409730867 * 409730866 u_str ESTAB 0 0 * 520517938 * 520517939 u_str ESTAB 0 0 * 287354063 * 287354062 u_str ESTAB 0 0 * 271499971 * 271499970 u_str ESTAB 0 0 * 2175984 * 2175983 u_str ESTAB 0 0 /run/systemd/journal/stdout 19536 * 24671 u_dgr ESTAB 0 0 * 57047973 * 16793 u_str ESTAB 0 0 * 45403901 * 45403900 u_str ESTAB 0 0 * 37642869 * 37642868 u_str ESTAB 0 0 * 158807 * 158808 u_str ESTAB 0 0 * 61004 * 61700 u_str ESTAB 0 0 /run/containerd/s/642d2e2cfa9c2dce9b0a7f5d1300cbf425c4ebf5c4725e1fe426333f34172e6f 503666646 * 503653921 u_str ESTAB 0 0 * 503225110 * 503187424 u_str ESTAB 0 0 * 3164605 * 3164606 u_str ESTAB 0 0 * 535492350 * 535492351 u_str ESTAB 0 0 * 527114554 * 527114553 u_str ESTAB 0 0 * 287354067 * 287354066 u_str ESTAB 0 0 * 51378989 * 51378988 u_str ESTAB 0 0 * 265067896 * 265067895 u_str ESTAB 0 0 * 172931546 * 172931547 u_str ESTAB 0 0 * 163017379 * 163017378 u_str ESTAB 0 0 * 187891157 * 187891158 u_str ESTAB 0 0 /run/systemd/journal/stdout 19407 * 28400 u_str ESTAB 0 0 * 535601698 * 535601697 u_str ESTAB 0 0 * 531452134 * 531452135 u_str ESTAB 0 0 * 503100306 * 503204798 u_str ESTAB 0 0 * 503210386 * 503222380 u_str ESTAB 0 0 * 4332745 * 4332746 u_str ESTAB 0 0 * 364734151 * 364734152 u_str ESTAB 0 0 * 172931556 * 172931557 u_str ESTAB 0 0 * 3167753 * 3167752 u_str ESTAB 0 0 * 16931 * 15948 u_dgr ESTAB 0 0 * 153774 * 25662 u_str ESTAB 0 0 * 105323729 * 105323728 u_str ESTAB 0 0 * 535601697 * 535601698 u_str ESTAB 0 0 /run/containerd/containerd.sock.ttrpc 505963077 * 505982055 u_str ESTAB 0 0 * 172931547 * 172931546 u_str ESTAB 0 0 * 105323727 * 105323726 u_dgr ESTAB 0 0 * 16864 * 16863 u_str ESTAB 0 0 * 468781321 * 0 u_str ESTAB 0 0 * 321228120 * 321223400 u_str ESTAB 0 0 * 105475366 * 105475367 u_str ESTAB 0 0 * 535633202 * 535633201 u_dgr ESTAB 0 0 * 30815 * 25662 u_str ESTAB 0 0 * 265067895 * 265067896 u_str ESTAB 0 0 * 177602213 * 177602212 u_str ESTAB 0 0 * 187891156 * 187891155 u_dgr ESTAB 0 0 * 16859 * 25664 u_str ESTAB 0 0 /run/systemd/journal/stdout 15946 * 20836 u_str ESTAB 0 0 * 172931560 * 172931561 u_str ESTAB 0 0 * 321804884 * 321804885 u_str ESTAB 0 0 * 287354065 * 287354064 u_str ESTAB 0 0 /run/dbus/system_bus_socket 25881 * 20631 u_str ESTAB 0 0 * 51378993 * 51378992 u_str ESTAB 0 0 /run/dbus/system_bus_socket 280975 * 286838 u_str ESTAB 0 0 * 37642871 * 37642870 u_str ESTAB 0 0 * 531452135 * 531452134 u_str ESTAB 0 0 * 287354066 * 287354067 u_str ESTAB 0 0 * 211826466 * 211826467 u_str ESTAB 0 0 /run/containerd/containerd.sock 503205589 * 503210394 u_str ESTAB 0 0 * 409730866 * 409730867 u_str ESTAB 0 0 * 105323724 * 105323725 u_str ESTAB 0 0 * 271557694 * 271511134 u_str ESTAB 0 0 * 69011788 * 69011789 u_str ESTAB 0 0 * 286838 * 280975 u_str ESTAB 0 0 * 24706 * 24705 u_str ESTAB 0 0 * 535633201 * 535633202 u_str ESTAB 0 0 * 37642873 * 37642872 u_str ESTAB 0 0 * 105475371 * 105475370 u_str ESTAB 0 0 * 105315055 * 105315056 u_str ESTAB 0 0 * 177602212 * 177602213 u_str ESTAB 0 0 * 160777159 * 160777158 u_str ESTAB 0 0 * 3164606 * 3164605 u_str ESTAB 0 0 * 15925 * 13386 u_str ESTAB 0 0 * 187899267 * 187899268 u_str ESTAB 0 0 * 4489879 * 4489880 u_str ESTAB 0 0 * 321803916 * 321803915 u_str ESTAB 0 0 * 52452825 * 52452826 u_str ESTAB 0 0 /run/systemd/journal/stdout 28383 * 21596 u_str ESTAB 0 0 * 531437601 * 531437600 u_str ESTAB 0 0 * 19420 * 19421 u_str ESTAB 0 0 * 503672006 * 503563060 u_str ESTAB 0 0 * 51388674 * 51388673 u_str ESTAB 0 0 * 25878 * 24711 u_str ESTAB 0 0 * 147394 * 154728 u_str ESTAB 0 0 * 187899271 * 187899272 u_str ESTAB 0 0 * 321803915 * 321803916 u_str ESTAB 0 0 * 249986684 * 249986685 u_str ESTAB 0 0 * 3804253 * 3804252 u_str ESTAB 0 0 * 24408 * 24709 u_str ESTAB 0 0 * 248406427 * 248406426 u_str ESTAB 0 0 * 527128577 * 527128578 u_str ESTAB 0 0 * 318961033 * 318961034 u_str ESTAB 0 0 * 265080194 * 265080193 u_str ESTAB 0 0 * 111082006 * 111088943 u_str ESTAB 0 0 * 19234766 * 19234767 u_str ESTAB 0 0 * 192528046 * 192528045 u_dgr ESTAB 0 0 * 149063 * 25662 u_str ESTAB 0 0 * 520269438 * 520269437 u_str ESTAB 0 0 * 265080189 * 265080190 u_str ESTAB 0 0 * 53881124 * 53881123 u_dgr ESTAB 0 0 * 27429404 * 16793 u_str ESTAB 0 0 * 535470104 * 535470103 u_str ESTAB 0 0 * 192528047 * 192528048 u_str ESTAB 0 0 * 535621794 * 535621795 u_str ESTAB 0 0 * 468766309 * 468766308 u_str ESTAB 0 0 * 265080192 * 265080191 u_str ESTAB 0 0 * 45411693 * 45411692 u_str ESTAB 0 0 * 16086 * 16087 u_dgr ESTAB 0 0 * 321773330 * 25662 u_str ESTAB 0 0 * 531438660 * 531438661 u_str ESTAB 0 0 * 249986680 * 249986681 u_str ESTAB 0 0 * 22636499 * 22636498 u_str ESTAB 0 0 * 535470103 * 535470104 u_str ESTAB 0 0 * 187772975 * 187772974 u_str ESTAB 0 0 /run/systemd/journal/stdout 27035 * 21527 u_str ESTAB 0 0 * 265080193 * 265080194 u_dgr ESTAB 0 0 * 15922 * 15921 u_str ESTAB 0 0 * 10561346 * 0 u_dgr ESTAB 0 0 * 21541 * 21540 u_str ESTAB 0 0 * 187899269 * 187899270 u_str ESTAB 0 0 * 4499989 * 0 u_str ESTAB 0 0 * 248406429 * 248406428 u_str ESTAB 0 0 * 19250299 * 19250298 u_str ESTAB 0 0 * 172954250 * 172954249 u_str ESTAB 0 0 * 37647005 * 37647006 u_dgr ESTAB 0 0 * 15898 * 25662 u_str ESTAB 0 0 * 192528048 * 192528047 u_str ESTAB 0 0 * 25874 * 25873 u_str ESTAB 0 0 * 535590167 * 535590166 u_str ESTAB 0 0 * 249986681 * 249986680 u_str ESTAB 0 0 * 53881123 * 53881124 u_str ESTAB 0 0 * 22636500 * 22636501 u_str ESTAB 0 0 * 19421 * 19420 u_str ESTAB 0 0 * 318989927 * 318989926 u_str ESTAB 0 0 * 192528045 * 192528046 u_str ESTAB 0 0 * 149062 * 148051 u_str ESTAB 0 0 * 527128578 * 527128577 u_str ESTAB 0 0 * 527122038 * 0 u_str ESTAB 0 0 * 341919445 * 341919444 u_str ESTAB 0 0 * 265080190 * 265080189 u_str ESTAB 0 0 * 246588366 * 246588367 u_str ESTAB 0 0 /run/user/1000/zellij/contract_version_1/Claude 527128606 * 527139333 u_str ESTAB 0 0 * 750542 * 750541 u_str ESTAB 0 0 * 57054442 * 57048863 u_str ESTAB 0 0 * 52453681 * 52453682 u_str ESTAB 0 0 * 22636496 * 22636497 u_str ESTAB 0 0 * 150082 * 158811 u_str ESTAB 0 0 * 187899268 * 187899267 u_str ESTAB 0 0 /run/dbus/system_bus_socket 13386 * 15925 u_str ESTAB 0 0 * 52452830 * 52452829 u_str ESTAB 0 0 /run/systemd/journal/stdout 24406 * 18609 u_str ESTAB 0 0 * 52453682 * 52453681 u_str ESTAB 0 0 * 45411694 * 45411695 u_str ESTAB 0 0 * 187772976 * 187772977 u_str ESTAB 0 0 * 531419342 * 531419341 u_str ESTAB 0 0 * 341919444 * 341919445 u_str ESTAB 0 0 * 249986682 * 249986683 u_str ESTAB 0 0 * 321770450 * 321770451 u_str ESTAB 0 0 * 187899270 * 187899269 u_str ESTAB 0 0 * 4489882 * 4489881 u_str ESTAB 0 0 /run/systemd/journal/stdout 111088943 * 111082006 u_str ESTAB 0 0 * 19250298 * 19250299 u_str ESTAB 0 0 /run/systemd/journal/stdout 20604 * 18626 u_str ESTAB 0 0 * 19234767 * 19234766 u_str ESTAB 0 0 * 21596 * 28383 u_dgr ESTAB 0 0 * 468766299 * 25662 u_str ESTAB 0 0 * 52452828 * 52452827 u_str ESTAB 0 0 * 16087 * 16086 u_str ESTAB 0 0 * 750540 * 750539 u_str ESTAB 0 0 * 52452826 * 52452825 u_str ESTAB 0 0 * 535590166 * 535590167 u_str ESTAB 0 0 * 468766308 * 468766309 u_str ESTAB 0 0 * 265080191 * 265080192 u_str ESTAB 0 0 /run/dbus/system_bus_socket 148051 * 149062 u_str ESTAB 0 0 * 527139333 * 527128606 u_str ESTAB 0 0 * 187772979 * 187772978 u_str ESTAB 0 0 * 22636497 * 22636496 u_str ESTAB 0 0 * 18626 * 20604 u_str ESTAB 0 0 * 15887 * 16905 u_str ESTAB 0 0 * 4489878 * 4489877 u_str ESTAB 0 0 * 282025 * 282026 u_str ESTAB 0 0 * 246588367 * 246588366 u_str ESTAB 0 0 * 18609 * 24406 u_str ESTAB 0 0 * 318989926 * 318989927 u_str ESTAB 0 0 * 750541 * 750542 u_str ESTAB 0 0 /run/user/1000/bus 158811 * 150082 u_str ESTAB 0 0 * 25873 * 25874 u_str ESTAB 0 0 * 248406431 * 248406430 u_str ESTAB 0 0 * 531438661 * 531438660 u_str ESTAB 0 0 * 520269437 * 520269438 u_str ESTAB 0 0 * 53881122 * 53881121 u_str ESTAB 0 0 * 45411692 * 45411693 u_str ESTAB 0 0 * 750537 * 750538 u_str ESTAB 0 0 /run/systemd/journal/stdout 16905 * 15887 u_str ESTAB 0 0 * 319149630 * 319149631 u_str ESTAB 0 0 * 187765377 * 187765378 u_str ESTAB 0 0 * 282032 * 282033 u_str ESTAB 0 0 * 22636498 * 22636499 u_str ESTAB 0 0 * 187899272 * 187899271 u_str ESTAB 0 0 * 4489877 * 4489878 u_str ESTAB 0 0 /run/dbus/system_bus_socket 24709 * 24408 u_str ESTAB 0 0 * 52452827 * 52452828 u_str ESTAB 0 0 * 282026 * 282025 u_str ESTAB 0 0 * 249986683 * 249986682 u_str ESTAB 0 0 * 22636501 * 22636500 u_str ESTAB 0 0 * 21527 * 27035 u_dgr ESTAB 0 0 * 520269428 * 25662 u_dgr ESTAB 0 0 * 21540 * 21541 u_str ESTAB 0 0 /run/systemd/journal/stdout 497070283 * 497065485 u_str ESTAB 0 0 * 192528044 * 192528043 u_str ESTAB 0 0 * 4489881 * 4489882 u_str ESTAB 0 0 * 531419341 * 531419342 u_str ESTAB 0 0 * 37647006 * 37647005 u_str ESTAB 0 0 * 45411696 * 45411697 u_str ESTAB 0 0 * 187772978 * 187772979 u_str ESTAB 0 0 * 57050542 * 57045722 u_str ESTAB 0 0 * 4510855 * 4510854 u_str ESTAB 0 0 /run/dbus/system_bus_socket 57048863 * 57054442 u_str ESTAB 0 0 * 53881121 * 53881122 u_dgr ESTAB 0 0 * 527122050 * 25662 u_str ESTAB 0 0 /run/systemd/journal/stdout 57045722 * 57050542 u_str ESTAB 0 0 * 750539 * 750540 u_str ESTAB 0 0 * 282033 * 282032 u_dgr ESTAB 0 0 * 15921 * 15922 u_str ESTAB 0 0 * 321770451 * 321770450 u_str ESTAB 0 0 * 192528043 * 192528044 u_str ESTAB 0 0 * 53881120 * 53881119 u_str ESTAB 0 0 * 187772974 * 187772975 u_str ESTAB 0 0 * 503669018 * 503673885 u_str ESTAB 0 0 * 318961034 * 318961033 u_str ESTAB 0 0 * 53881119 * 53881120 u_str ESTAB 0 0 * 187772977 * 187772976 u_str ESTAB 0 0 * 4510854 * 4510855 u_str ESTAB 0 0 * 52452829 * 52452830 u_str ESTAB 0 0 * 535621795 * 535621794 u_dgr ESTAB 0 0 * 15908 * 25664 u_str ESTAB 0 0 * 4489880 * 4489879 u_str ESTAB 0 0 /run/systemd/journal/stdout 154728 * 147394 u_str ESTAB 0 0 * 249986685 * 249986684 u_str ESTAB 0 0 /run/docker.sock 503563060 * 503672006 u_str ESTAB 0 0 * 319149631 * 319149630 u_str ESTAB 0 0 * 248406426 * 248406427 u_str ESTAB 0 0 * 531437600 * 531437601 u_str ESTAB 0 0 * 142624625 * 142626682 u_str ESTAB 0 0 * 51388673 * 51388674 u_str ESTAB 0 0 * 45411697 * 45411696 u_str ESTAB 0 0 * 248406430 * 248406431 u_str ESTAB 0 0 /run/systemd/journal/stdout 142626682 * 142624625 u_str ESTAB 0 0 /run/containerd/containerd.sock.ttrpc 503673885 * 503669018 u_str ESTAB 0 0 * 3804252 * 3804253 u_str ESTAB 0 0 * 497065485 * 497070283 u_str ESTAB 0 0 * 45411695 * 45411694 u_str ESTAB 0 0 /run/dbus/system_bus_socket 24711 * 25878 u_dgr ESTAB 0 0 * 21536 * 25664 u_str ESTAB 0 0 * 321773321 * 0 u_str ESTAB 0 0 * 750538 * 750537 u_str ESTAB 0 0 * 248406428 * 248406429 u_str ESTAB 0 0 * 187765378 * 187765377 u_str ESTAB 0 0 * 4036771 * 0 u_str ESTAB 0 0 * 172954249 * 172954250 tcp ESTAB 0 0 10.100.10.50:8770 10.0.10.10:61497 tcp ESTAB 0 0 10.100.10.50:40898 160.79.104.10:https tcp ESTAB 0 0 10.100.10.50:38636 160.79.104.10:https tcp ESTAB 0 0 10.100.10.50:48192 104.18.32.47:https tcp ESTAB 0 0 10.100.10.50:40490 104.18.32.47:https tcp ESTAB 0 0 10.100.10.50:844 10.100.50.50:nfs tcp ESTAB 0 0 10.100.10.50:34046 160.79.104.10:https tcp ESTAB 0 0 10.100.10.50:52620 10.100.50.40:8390 tcp ESTAB 0 0 10.100.10.50:51638 70.230.226.88:https tcp ESTAB 0 0 10.100.10.50:ssh 10.0.10.10:60190 tcp ESTAB 0 0 10.100.10.50:44198 199.165.136.101:https tcp ESTAB 0 0 10.100.10.50:34048 160.79.104.10:https tcp ESTAB 0 0 10.100.10.50:52664 10.6.110.50:ssh tcp ESTAB 0 0 10.100.10.50:36054 160.79.104.10:https tcp ESTAB 0 0 10.100.10.50:47758 104.18.32.47:https tcp ESTAB 0 0 10.100.10.50:56154 10.0.10.235:ssh tcp ESTAB 0 0 10.100.10.50:48002 160.79.104.10:https tcp ESTAB 0 0 10.100.10.50:48206 34.149.66.165:https tcp ESTAB 0 0 10.100.10.50:33262 104.18.28.234:https tcp ESTAB 0 0 10.100.10.50:ssh 10.100.79.2:62737 tcp CLOSE-WAIT 1 0 10.100.10.50:56568 10.250.50.70:4000 tcp ESTAB 0 0 10.100.10.50:38016 160.79.104.10:https tcp ESTAB 0 0 10.100.10.50:44484 208.111.40.12:https tcp ESTAB 0 0 10.100.10.50:52610 34.149.66.165:https tcp ESTAB 0 0 10.100.10.50:ssh 10.100.10.194:51093 tcp ESTAB 0 0 10.100.10.50:58500 160.79.104.10:https tcp ESTAB 0 0 10.100.10.50:57430 160.79.104.10:https tcp ESTAB 0 0 10.100.10.50:ssh 38.120.94.3:59226 tcp ESTAB 0 0 10.100.10.50:51558 160.79.104.10:https tcp ESTAB 0 0 10.100.10.50:57184 160.79.104.10:https tcp ESTAB 0 0 10.100.10.50:39920 160.79.104.10:https tcp ESTAB 0 0 10.100.10.50:44666 34.149.66.165:https tcp ESTAB 0 0 10.100.10.50:ssh 10.0.10.83:49689 tcp ESTAB 0 0 10.100.10.50:54550 38.120.12.44:https tcp ESTAB 0 0 10.100.10.50:39908 160.79.104.10:https tcp CLOSE-WAIT 1 0 10.100.10.50:42224 10.250.50.152:http-alt tcp ESTAB 0 0 10.100.10.50:ssh 10.0.10.10:60814 tcp ESTAB 0 0 [::ffff:10.100.10.50]:45876 [::ffff:10.250.50.70]:49346 shows only 6052. That conclusion holds — but the log evidence originally cited for it was worthless and happened to agree. What is actually still advertised is helpers.dashboard_advertise announcing _esphomebuilder._tcp.local. at 6052, the auth-gated dashboard, independent of remote-build. It leaks existence, address, dashboard id, Device Builder and ESPHome versions and hostname: LAN version fingerprinting, not reachability into the build subsystem. Left alone deliberately; both the compose comment and the README now say so, including that an earlier revision claimed otherwise. --- stacks/esphome/README.md | 15 ++++++++++++--- stacks/esphome/compose.yaml | 12 +++++++++++- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/stacks/esphome/README.md b/stacks/esphome/README.md index 9c43f97..603baf5 100644 --- a/stacks/esphome/README.md +++ b/stacks/esphome/README.md @@ -21,9 +21,18 @@ exclusion list). It is created on the host once, from the vault. ## Remote build is off Device Builder 1.0.0 ships remote-build **on by default** and it binds -`0.0.0.0:6055` with mDNS advertisement. Disabled 2026-09-14 via the dashboard's -own `/ws` API — `remote_build/set_settings {"enabled": false}` — persisted at -`_remote_build.enabled` in `/config/.device-builder.json`. +`0.0.0.0:6055`. Disabled 2026-09-14 via the dashboard's own `/ws` API — +`remote_build/set_settings {"enabled": false}` — persisted at +`_remote_build.enabled` in `/config/.device-builder.json`. Verified by `ss` +(6055 absent) and by the absence of a peer-link "site listening" line on the +current boot. + +⚠ **The dashboard is still discoverable over mDNS**, and that is a different, +milder thing than what was closed. `helpers.dashboard_advertise` announces +`_esphomebuilder._tcp.local.` pointing at **6052**, the auth-gated dashboard, +independent of remote-build. It leaks existence, address, dashboard id, Device +Builder + ESPHome versions and hostname — LAN version fingerprinting, not +reachability into a firmware-writing subsystem. Left alone deliberately. ⚠ **There are two switches and only one closes the port.** `remote_build/set_offloader_settings {remote_builds_enabled}` is the *outbound* diff --git a/stacks/esphome/compose.yaml b/stacks/esphome/compose.yaml index 3e2ef03..25f83a0 100644 --- a/stacks/esphome/compose.yaml +++ b/stacks/esphome/compose.yaml @@ -52,7 +52,17 @@ services: # RESOLVED 2026-09-14: remote-build is now genuinely OFF — # `remote_build/set_settings {enabled: false}` over the dashboard's /ws # API, persisted at `_remote_build.enabled` in /config/.device-builder.json. - # Verified across a restart: no listener, no mDNS advertisement. + # Verified across a restart: 6055 absent from `ss`, and no peer-link + # "site listening" line on the current boot. + # + # ⚠ The dashboard is STILL discoverable over mDNS and that is a separate, + # milder thing. `helpers.dashboard_advertise` announces + # `_esphomebuilder._tcp.local.` pointing at 6052 — the auth-gated + # dashboard — independent of remote-build. It leaks existence, address, + # dashboard id, Device Builder + ESPHome versions and hostname. Version + # fingerprinting on the LAN, not reachability into the build subsystem. + # An earlier revision of this comment claimed mDNS was gone; it was not, + # and the claim came from a log grep rather than from the network. # # ⚠ Two switches, and only one of them closes the port. The obvious # candidate — `remote_build/set_offloader_settings {remote_builds_enabled}`