Add Object B and self-growth canons with Cursor ledger rules; refresh connectivity and VPN runbooks.

Track day metrics/anamnesis HARD rules under .cursor/rules and personal docs so each screening updates days/{KIN}, dynamics, and big-data ledger.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
ahauimix
2026-07-26 10:22:56 +08:00
parent 4bc9629a09
commit 0238aa7c02
214 changed files with 121312 additions and 388 deletions

View File

@@ -8,7 +8,7 @@
bash /Users/eternal/code/local_machine/docs/connectivity/scripts/macos-hotspot-network-recover.sh recover
```
Запросит **пароль sudo**, затем: PAC/SOCKS off → **DHCP**`ifconfig down`**`route -n flush`** → DNS → DHCP → **Joplin alias `*.100`**.
Запросит **пароль sudo**, затем: PAC/SOCKS off → **DHCP** (снять stale Manual)`ifconfig down`**`route -n flush`** → DNS → DHCP → **Joplin primary `*.100`** (`setmanual` с текущим шлюзом).
Диагностика:
@@ -24,11 +24,9 @@ bash /Users/eternal/code/local_machine/docs/connectivity/scripts/macos-hotspot-n
Скрипт проверял `sudo -n` (passwordless). Без NOPASSWD в sudoers он **пропускал** `route flush` и делал только toggle WiFi — **недостаточно** при ARP `REJECT`.
Ручная «ядерная кнопка» работала, потому что вы вводили пароль и реально сбрасывали маршруты.
**Исправлено:** `recover` всегда вызывает `sudo` с запросом пароля.
### 2. Manual IPv4 на WiFi (Joplin) ломал маршрут
### 2. Stale Manual IPv4 на WiFi (Joplin)
`/var/log/wifi.log` при reconnect:
@@ -36,17 +34,20 @@ bash /Users/eternal/code/local_machine/docs/connectivity/scripts/macos-hotspot-n
IP Address: 10.219.227.100
Default Gateway IP Address: 10.219.227.39
No Router MAC Address
ROUTER_MAC_ADDR = 0x000000000000
```
В prefs оставался шлюз `10.219.227.39`, хотспот уже в `10.36.136.x``ping``Host is down`, `curl` мёртв.
**Исправлено:** WiFi **только DHCP**; Joplin — **alias** `<подсеть>.100` на `en0` (не трогает default route). См. [apps/joplin/STABLE_SETUP.md](./apps/joplin/STABLE_SETUP.md).
**Исправлено:** `recover` сначала **DHCP**, затем `joplin-hotspot-alias repair`**setmanual** `*.100` с **актуальным** gateway (не старый из prefs). См. [apps/joplin/STABLE_SETUP.md](./apps/joplin/STABLE_SETUP.md).
На хотспоте Manual `*.100`**норма** для Joplin. Опасен только **устаревший** Manual после смены подсети.
### 3. PAC / SOCKS (вторично)
PAC на `:1089` без сервера усиливает сбои, но **не объясняет** `ping 8.8.8.8 → No route to host`.
Отдельно: системный SOCKS на **`127.0.0.1:10809`** без слушателя (после `exit-via-ru`) ломает приложения с системным прокси (Thunderbird — все ящики) при живом `curl`. Это не хотспот — см. [PROXY_EMERGENCY.md](./PROXY_EMERGENCY.md) и [vpn/RUNBOOK.md](./vpn/RUNBOOK.md).
---
## Что делает `recover` сейчас
@@ -55,12 +56,12 @@ PAC на `:1089` без сервера усиливает сбои, но **не
|-----|----------|
| 1 | PAC off |
| 2 | SOCKS off |
| 3 | `networksetup -setdhcp Wi-Fi` (снимает Manual) |
| 3 | `networksetup -setdhcp Wi-Fi` (снимает stale Manual) |
| 4 | `sudo ifconfig en0 down` |
| 5 | `sudo route -n flush` |
| 6 | DNS flush + `ifconfig up` + `ipconfig DHCP` |
| 7 | Ждёт gateway (до 30 с) |
| 8 | `ifconfig en0 alias <subnet>.100` для Joplin |
| 8 | `joplin-hotspot-alias.sh repair` → setmanual `<subnet>.100` |
---
@@ -77,6 +78,12 @@ sudo ipconfig set en0 DHCP
bash /Users/eternal/code/local_machine/docs/connectivity/scripts/macos-hotspot-network-recover.sh recover
```
Перед переходом на **домашний WiFi** (без Joplin с телефона):
```bash
./docs/apps/joplin/scripts/joplin-hotspot-alias.sh dhcp
```
---
## Диагностика
@@ -92,17 +99,17 @@ grep -E 'Router MAC|No Router' /var/log/wifi.log | tail -5
| Признак | Причина |
|---------|---------|
| Manual + другая подсеть в gateway | Старый Joplin static |
| Manual router ≠ runtime gateway | Stale Joplin static`recover` |
| `No Router MAC` в wifi.log | ARP на шлюз не прошёл |
| `REJECT` в route get gateway | Нужен route flush |
| Primary DHCP OK, нет `*.100` alias | Запустить `recover` |
| primary `*.100` на хотспоте | `./joplin-hotspot-alias.sh repair` |
---
## Профилактика
1. **Не** использовать Manual WiFi для Joplin — только DHCP + alias.
2. После **каждого** reconnect: одна команда `recover` выше.
1. После **каждого** reconnect хотспота: `recover` или `joplin-ensure-sync.sh`.
2. Не править Manual WiFi вручную — только `joplin-hotspot-alias.sh`.
3. PAC on — только если на **1089** слушает сервер.
4. `exit-via-ru-do.sh`**после** рабочего `curl https://1.1.1.1`.
@@ -112,6 +119,6 @@ grep -E 'Router MAC|No Router' /var/log/wifi.log | tail -5
| Документ | Зачем |
|----------|--------|
| [apps/joplin/STABLE_SETUP.md](./apps/joplin/STABLE_SETUP.md) | DHCP + alias |
| [apps/joplin/STABLE_SETUP.md](./apps/joplin/STABLE_SETUP.md) | primary `*.100`, синк |
| [PROXY_EMERGENCY.md](./PROXY_EMERGENCY.md) | SSH / SOCKS |
| [README.md](./README.md) | Оглавление |