Files
ahauimix 0238aa7c02 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>
2026-07-26 10:22:56 +08:00

115 lines
4.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Стабильная настройка: Joplin Mac ↔ телефон
Без облака и без VPN. Mac — WebDAV (rclone), телефон — клиент по HTTP в одной LAN (обычно **хотспот Android**).
---
## Схема
| Устройство | WebDAV URL |
|------------|------------|
| **Mac** | `http://127.0.0.1:8080` (никогда не менять) |
| **Телефон** | `http://<подсеть>.100:8080` — из `joplin-webdav-status.sh` |
На Mac **primary IP** WiFi = `*.100` через `networksetup -setmanual` (не ifconfig alias). Android маршрутизирует к **primary**; alias `.100` телефон часто не видит.
`.local` / mDNS **с Android-хотспота не работает** — только IP.
---
## Перед каждым синком (чеклист)
1. **Mac на WiFi хотспота этого телефона** — не домашний WiFi (отключить auto-join домашней сети).
2. На Mac:
```bash
./docs/apps/joplin/scripts/joplin-ensure-sync.sh
```
3. В выводе: `static IP: OK`, rclone слушает `:8080`.
4. **Телефон:** URL `http://<подсеть>.100:8080` — сначала проверить в **браузере** (логин за 23 сек), потом Joplin → синк.
5. В `~/Library/Logs/joplin-webdav/rclone.log` — `GET`/`PUT from <IP шлюза/телефона>`.
Переход на **домашний WiFi** (без Joplin с телефона):
```bash
./docs/apps/joplin/scripts/joplin-hotspot-alias.sh dhcp
```
---
## Установка (один раз)
```bash
./docs/apps/joplin/scripts/joplin-webdav-install.sh
./docs/apps/joplin/scripts/joplin-hotspot-alias-install.sh # LaunchAgent
./docs/apps/joplin/scripts/joplin-hotspot-alias-install-sudo.sh # sudo без пароля
```
На телефоне в Joplin → WebDAV — URL из:
```bash
./docs/apps/joplin/scripts/joplin-webdav-status.sh
```
---
## После reconnect / смены подсети
```bash
./docs/apps/joplin/scripts/joplin-ensure-sync.sh
```
| Ситуация | URL на телефоне |
|----------|-----------------|
| Та же подсеть (`10.121.169.x` → `10.121.169.x`) | **Не менять** |
| Подсеть сменилась (`10.74.21.x` → `10.121.169.x`) | **Один раз** новый URL из `status` |
| Mac и телефон в одной домашней WiFi | `http://192.168.1.100:8080` (пример) |
| Mac на домашнем WiFi, телефон на мобильном | **Синк невозможен** — Mac к хотспоту телефона |
Если `static IP: MISSING`:
```bash
./docs/apps/joplin/scripts/joplin-hotspot-alias.sh repair
```
Сеть «умерла» после reconnect хотспота:
```bash
bash /Users/eternal/code/local_machine/docs/connectivity/scripts/macos-hotspot-network-recover.sh recover
```
---
## Почему десктоп «синкается», а телефон — нет
Mac ходит на **`127.0.0.1:8080`** — всегда работает. Телефон зависит от:
1. **Одна сеть** — Mac и телефон в одной LAN
2. **Primary `.100`** — `static IP: OK` в status
3. **URL на телефоне = текущая подсеть** — не старый `10.74.21.100`
4. **rclone.log** — есть `GET`/`PUT from <IP>`
Joplin на Mac **скрывает** ошибки — смотреть `rclone.log`, не только UI.
---
## Подсети меняются
Без VPN нельзя иметь **один** URL при любой подсети. Фиксированный **хвост `.100`** минимизирует правки: меняется только префикс (`10.74` → `10.121` → `10.219`).
---
## История рабочих подсетей
| Дата | Подсеть | URL телефона |
|------|---------|--------------|
| 2026-06-09 | `10.219.227.x` | `http://10.219.227.100:8080` (setmanual) |
| 2026-06-19 | `10.74.21.x` | `http://10.74.21.100:8080` |
| 2026-07-04 | `10.121.169.x` | `http://10.121.169.100:8080` — **проверено, синк OK** (setmanual) |
---
## Связанное
- [RUNBOOK.md](./RUNBOOK.md) — диагностика
- [HOTSPOT_NETWORK_EMERGENCY.md](../../HOTSPOT_NETWORK_EMERGENCY.md)