Files
ospab.network/dist/linux-x64/CONFIG_FILES.md
ospab 50c8adfdfa fix(client): replace todo!() with stubs to prevent crashes
Problem:
Client terminal was closing immediately on connect command because
todo!() macros in TUN interface and relay functions were causing panics.

Changes:
1.  Replaced create_tun_interface() todo with stub returning dummy interface
2.  Replaced configure_routing() todo with stub (no-op)
3.  Replaced cleanup_routing() todo with stub (no-op)
4.  Replaced relay_traffic() todo with infinite sleep (keeps connection alive)
5.  Added warning messages with yellow ⚠ indicator for stub functions
6.  Updated SHA256SUMS for both packages
7.  Recreated distribution archives
8.  Added CONFIG_FILES.md explaining server-enrollment.json.example usage

Client Behavior Now:
- Connection establishes successfully
- Shows [STUB] warnings for TUN/routing/relay
- Stays connected (Ctrl+C to exit)
- No actual traffic forwarding yet (TODO for next iteration)

server-enrollment.json.example Usage:
- For Standalone mode (connecting to existing Master Node)
- Requires enrollment_token from admin
- psk: 'AUTO' until approved
- See CONFIG_FILES.md for detailed workflow

Next Steps:
- Implement real TUN interface using osn crate
- Implement route configuration via ip command
- Implement packet relay loop (TUN ↔ OSTP client)
- Add daemon mode (fork + detach)

Distribution:
- ostp-server-linux-x64.tar.gz: 6.85 MB
- ostp-client-linux-x64.tar.gz: 0.92 MB (updated client)
2026-01-02 03:40:04 +03:00

79 lines
3.3 KiB
Markdown
Raw 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.
# Configuration Files
## server.json.example
**Назначение:** Конфигурация ostp-server для **Full Stack режима** (когда oncp-master и ostp-server работают на одном хосте).
**Использование:**
```bash
cp server.json.example /etc/ostp/server.json
# Отредактировать PSK и параметры
sudo ostp-server -c /etc/ostp/server.json
```
**Когда использовать:**
- Развертывание первой/главной ноды с Master Node
- Локальная master_node_url (http://127.0.0.1:8080)
- PSK генерируется локально
---
## server-enrollment.json.example
**Назначение:** Конфигурация ostp-server для **Standalone режима** (подключение к существующей мастер-ноде).
**Использование:**
```bash
# 1. Получить токен от админа мастер-ноды
# oncp-master node token --expiry 60
# 2. Создать конфиг с токеном
cp server-enrollment.json.example /etc/ostp/server.json
nano /etc/ostp/server.json
# Заполнить:
# - master_node_url: URL существующей мастер-ноды
# - enrollment_token: токен от админа
# - node_name: уникальное имя сервера
# - psk: "AUTO" (будет получен после approval)
# 3. Отправить запрос на регистрацию
sudo ostp-server -c /etc/ostp/server.json
# Сервер отправит запрос и завершится
# 4. Попросить админа одобрить ноду:
# oncp-master node approve <node-id>
# 5. После одобрения админ предоставит PSK и IP
# Обновить config: заменить "AUTO" на реальный PSK
# 6. Перезапустить сервер
sudo systemctl start ostp-server
```
**Когда использовать:**
- Добавление нового сервера в существующую сеть
- Географическое расширение (новые точки присутствия)
- Подключение к удаленной мастер-ноде
- Требуется enrollment token для безопасности
---
## Различия
| Параметр | server.json | server-enrollment.json |
|----------|-------------|------------------------|
| **psk** | Реальный 64-hex ключ | `"AUTO"` (до approval) |
| **master_node_url** | `http://127.0.0.1:8080` | `http://master.example.com:8080` |
| **enrollment_token** | Отсутствует | Обязателен |
| **node_name** | Опционален | Рекомендуется |
| **Режим** | Full Stack | Standalone |
---
## Безопасность Enrollment
- **Токен одноразовый:** Используется только один раз, удаляется после использования
- **Временное ограничение:** Токен истекает через заданное время (обычно 60 минут)
- **Silent Drop:** Невалидный токен не возвращает ошибку (защита от enumeration атак)
- **IPAM:** IP автоматически назначается из пула 10.X.0.0/16 мастер-ноды