Сравнение
nostrfy vs strfry
Оба — однобинарные релеи Nostr, хранящие события в LMDB и говорящие на одном протоколе. Но компромиссы у них разные: strfry — зрелый C++-релей с системой плагинов write-policy, а nostrfy — движок на Rust, который упаковывает нужные оператору функции — группы, медиа, REST, управление — в один бинарник и один файл конфигурации.
Кратко
| nostrfy | strfry | |
|---|---|---|
| Язык | Rust | C++ |
| Лицензия | MIT or Apache-2.0 | GPL-3.0 |
| Хранилище | LMDB (внешняя база не нужна) | LMDB (внешняя база не нужна) |
| Конфигурация | Один nostrfy.toml, горячая перезагрузка (SIGHUP) | strfry.conf, горячая перезагрузка |
| Рекламируемые NIP | 34 (реализовано 36, включая опциональные) | 11 основных NIP |
| Группы NIP-29 + LiveKit | Встроено | — |
| Медиасервер Blossom | Встроено (локальный диск или S3/R2) | — |
| REST API | Встроенный /api/v1 | — |
| API управления | NIP-86 JSON-RPC с делегированием администраторов | — |
| Negentropy (NIP-77) | Да | Да — strfry её создал |
| Политики записи / плагины | Встроенные списки разрешений/запретов + NIP-86 | Интерфейс плагинов write-policy |
| Инструмент миграции | nostrfy migrate-strfry | strfry import / export / sync |
Лицензия
strfry распространяется под лицензией GPL-3.0, требующей, чтобы производные работы выходили на тех же условиях. nostrfy — лицензия MIT или Apache-2.0, поэтому его можно встраивать в закрытые продукты и свободно перелицензировать. Если ваш релей — часть коммерческого или иного лицензированного стека, это часто становится решающим доводом.
Конфигурация и эксплуатация
- nostrfy настраивается одним полностью документированным
nostrfy.toml: идентичность, лимиты, хранилище, контроль доступа, Blossom и RPC в одном месте. Большинство настроек перезагружается на SIGHUP. - Каждая опция проверяется командой
nostrfy checkперед запуском релея — неверные типы, невозможные лимиты и комбинации с блокировкой сообщаются с рекомендациями. - В демоне есть ротация журналов, живая статистика, проверка работоспособности и метрики Prometheus; CLI управляет списками доступа, обновлениями и миграциями.
Встроенные функции
Вместо внешних сервисов nostrfy включает то, что обычно нужно публичному релею:
Группы NIP-29 + LiveKit
группы, принудительно управляемые релеем, события модерации и подписанные релеем метаданные групп, плюс аудио/видеокомнаты через LiveKit.
Медиасервер Blossom
контентно-адресуемые загрузки работают на отдельном домене и поддерживают локальный диск или S3-совместимый бакет (AWS S3, Cloudflare R2).
REST API
REST API /api/v1 только для чтения работает в отдельном потоке: запросы событий по npub, nevent или naddr, счётчики, статистика и поиск.
Управление NIP-86
API управления JSON-RPC с аутентификацией Bearer или NIP-98, делегированием методов и кодами приглашений.
Преимущества strfry
strfry по-прежнему отличный выбор: он создал протокол negentropy, поддерживает перезапуск без простоя и опциональное сжатие WebSocket, а интерфейс плагинов write-policy позволяет выполнять произвольную логику при каждой публикации. Если вам нужна песочница плагинов и больше ничего из этого списка, strfry подойдёт идеально. Если же вы хотите группы, медиа, REST и управление из коробки — или нужна разрешительная лицензия — nostrfy — более короткий путь.
Миграция со strfry
Вам не нужно начинать с нуля.nostrfy migrate-strfry читает собственный формат экспорта strfry, проверяет каждое событие и импортирует всю базу — включая удаления NIP-09, побочные эффекты модерации NIP-29 и метки первого появления. Работает офлайн, поддерживает dry-run и безопасен при повторе.