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

3.3 KiB
Raw Permalink Blame History

Configuration Files

server.json.example

Назначение: Конфигурация ostp-server для Full Stack режима (когда oncp-master и ostp-server работают на одном хосте).

Использование:

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 режима (подключение к существующей мастер-ноде).

Использование:

# 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 мастер-ноды