Режимы запуска `serve.py`

Кратко о режимах `--host-mode`:

- `local` — привязывает сервер к `localhost`. Доступ только с той же машины.
- `lan` — слушает на всех интерфейсах (`0.0.0.0`), виден другим устройствам в локальной сети.
- `any` — то же, что `lan`, плюс предупреждение: сервер может быть доступен из интернета при наличии порт‑форвардинга/открытого фаервола.

Примеры запуска (в папке `A:\WorkProj\OverPunk\WikiServ`):

- Локально (по умолчанию):
```powershell
python .\serve.py --port 8000 --host-mode local
```

- В локальной сети (LAN):
```powershell
python .\serve.py --port 8000 --host-mode lan
```

- Потенциально доступно извне (после настройки порт‑форвардинга):
```powershell
python .\serve.py --port 8000 --host-mode any
```

Пересборка индекса (если изменяли `index_manual.json`):
```powershell
python .\index_links.py --root "A:\WorkProj\OverPunk\WikiServ\Картотека"
```

Windows Firewall — краткая подсказка

Если после запуска в режиме `lan` сервер недоступен с других устройств, откройте порт в Windows Firewall (администратор PowerShell):
```powershell
New-NetFirewallRule -DisplayName "WikiServ HTTP" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 8000
```

Или команда через netsh:
```powershell
netsh advfirewall firewall add rule name="WikiServ HTTP" dir=in action=allow protocol=TCP localport=8000
```

Предупреждение о безопасности

- Режим `any` не делает дополнительных аутентификации/шифрования — при реальном открытии в интернет используйте VPN/SSH/прокси/NGINX с HTTPS или ограничивайте доступ по IP.

Где находится сервер

- При `local` URL: `http://localhost:8000/`
- При `lan`/`any` кроме `0.0.0.0` приведётся локальный IP, например `http://192.168.1.42:8000/` (скрипт печатает LAN IP при старте).

Скачивание билда

- Положите один архив билда в `./releases` рядом с `serve.py`.
- На странице в верхних кнопках появится `Скачать билд`.

Рекомендуемый менеджер процесса

- Для Linux: `systemd` (рекомендовано).
- Базовый запуск как сервис: создайте unit `wikiserv.service`, затем выполните:

```bash
sudo systemctl daemon-reload
sudo systemctl enable --now wikiserv
sudo systemctl status wikiserv
```

Применить и запустить:
Посмотреть логи, если не стартует:

journalctl -u wikiserv -n 100 --no-pager

Создай файл сервиса (на Linux-сервере):
sudo nano /etc/systemd/system/wikiserv.service

[Unit]
Description=OverPunk Wiki Server
After=network.target

[Service]
Type=simple
WorkingDirectory=/var/www/html/OverPunkWiki
ExecStart=/usr/bin/python3 /var/www/html/OverPunkWiki/serve.py --root /var/www/html/OverPunkWiki/Картотека --host-mode lan --port 8000
Restart=on-failure
RestartSec=3
User=willflower

[Install]
WantedBy=multi-user.target