
Безопасная, децентрализованная P2P эфимерная сеть на C++. Включает собственную DHT, шифрованный транспорт и автономный обход NAT с помощью высокопроизводительных асинхронных ретрансляторов (epoll/kqueue).
Безопасная P2P-сеть с кастомным Relay для враждебных NAT, написанная на C++20.
Программируемое забывание для высоконадёжного P2P-хранилища.
Shardian разрабатывает инфраструктуру для команд, которые относятся к гарантиям удаления так же серьёзно, как и к конфиденциальности. EphemeralNet — это наш исследовательский демон на C++20 для данных, которые должны исчезнуть: P2P-протокол, использующий принудительную семантику времени жизни (TTL) как ограничение первого класса. Вместо того чтобы превращать BitTorrent-подобные рои в ad-hoc политики хранения, EphemeralNet рассматривает каждый манифест, чанк и маршрутную подсказку как расходный материал, время жизни которого согласовывается на границе сети и криптографически обеспечивается.
Каждый узел запускает eph — компактный демон, предоставляющий управляющий сокет в стиле gRPC и удалённый CLI-интерфейс. Ядро объединяет Kademlia DHT с учётом TTL, сессии ChaCha20/HMAC, схему Шамира для распыления ключей и детерминированные хуки очистки, чтобы истёкшее состояние испарялось одновременно на всех уровнях хранения, маршрутизации и манифестов. Результат — сетка, способная обмениваться, хранить и извлекать данные как современный CDN-оверлей, при этом гарантируя, что данные исчезнут по расписанию.
В отличие от архивных систем, EphemeralNet оптимизирован для временной корректности: он проверяет, что чанк не может пережить свой срок, даже если пиры уходят в офлайн. Это делает его идеальным для комнат разбора инцидентов, временных совместных правок и любых задач, требующих принципа Zero Trust в отношении удаления.
flowchart LR
subgraph "Operator Workstation"
CLI["eph CLI<br/>(remote shell)"]
end
subgraph "Local Host"
Demon["eph daemon<br/>(control+data kernel)"]
end
subgraph Mesh
DHT["Kademlia DHT<br/>(TTL-indexed)"]
Relays["STUN/TURN + Relay"]
Peers["Peer Swarm"]
end
CLI -->|gRPC-style control| Demon
Demon -->|announce/store/fetch| DHT
Demon -->|NAT traversal| Relays
Demon <-->|ChaCha20 sessions| Peers
eph предоставляет как фоновый сервис, так и удалённый интерфейс управления для автоматизации.| Платформа | Команда |
|---|---|
| Linux и macOS | curl -sSf https://eph.shardian.com/install.sh | sh |
| Windows (PowerShell) | iwr https://eph.shardian.com/install.ps1 -useb | iex |
Скрипты установки загружают последний выпущенный артефакт с GitHub, помещают
ephв PATH и выводят дальнейшие инструкции.
# Запуск демона с управляющей плоскостью через loopback, TCP-транспорт на порту 45000
PS> eph start --storage-dir C:\temp\ephemeral --control-host 127.0.0.1
# Сохранение файла с TTL 15 минут; PoW согласовывается автоматически
PS> eph store secrets.bin --ttl 900
# Извлечение по манифесту; direct-only оставляет трафик только на явно объявленных пирах
PS> eph fetch eph://6c5f... --direct-only --out C:\downloads
# Проверка состояния узла, насыщения DHT и статуса relay
PS> eph status --verbose
# Проверка, доступна ли новая версия CLI
PS> eph update-check
# Конфигурация (создаёт build/ и файлы toolchain)
cmake -S . -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo
# Компиляция всех целей (демон, CLI, relay, тесты)
cmake --build build --parallel
# Опционально: запуск полного набора тестов
ctest --test-dir build --output-on-failure
Используйте -DEPHEMERALNET_BUILD_TESTS=OFF, чтобы пропустить сборку тестовых бинарников, или -GNinja, если предпочитаете сборку через Ninja.
Полное руководство по эксплуатации, протокольная документация и руководства по наблюдению находятся на eph.shardian.com. Офлайн-копии дублируются в папке docs/ для работы в изолированной среде.
Pull request'ы приветствуются — начните с предложения в docs/todo.md или откройте обсуждение на GitHub, чтобы согласовать объём работ. Новые модули должны включать проектные заметки, хуки телеметрии и детерминированные тесты в tests/.
EphemeralNet выпущен под лицензией MIT. Соглашаясь на вклад, вы подтверждаете, что ваша работа будет лицензирована под MIT и что вы имеете на это право.