Сравнение

nostrfy vs strfry

Оба — однобинарные релеи Nostr, хранящие события в LMDB и говорящие на одном протоколе. Но компромиссы у них разные: strfry — зрелый C++-релей с системой плагинов write-policy, а nostrfy — движок на Rust, который упаковывает нужные оператору функции — группы, медиа, REST, управление — в один бинарник и один файл конфигурации.

Кратко

nostrfystrfry
ЯзыкRustC++
ЛицензияMIT or Apache-2.0GPL-3.0
ХранилищеLMDB (внешняя база не нужна)LMDB (внешняя база не нужна)
КонфигурацияОдин nostrfy.toml, горячая перезагрузка (SIGHUP)strfry.conf, горячая перезагрузка
Рекламируемые NIP34 (реализовано 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-strfrystrfry 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 и безопасен при повторе.