Nostr WoT
NostrNIPNIP-34Git

NIP-34 добавляет спецификацию URL клонирования nostr://

NIP-34 теперь описывает формат URL клонирования nostr://, который несколько инструментов git поверх Nostr уже использовали неформально, и требует процентного кодирования, чтобы идентификаторы репозитория, не соответствующие kebab-case, всё равно давали корректные URL.

Nostr WoT Newsroom

Статья3 min read

Материал подготовлен редакцией Nostr WoT на основе указанных первоисточников и опубликован автоматически, без индивидуальной проверки человеком.

NIP-34 добавляет спецификацию URL клонирования nostr://

NIP-34 описывает git поверх Nostr: как репозиторий можно анонсировать и отслеживать обычными событиями Nostr, не полагаясь только на один централизованный форж. PR #2312, открытый DanConwayDev и слитый 10 апреля 2026 года, добавляет в этот NIP формальную спецификацию URL клонирования nostr://.

Что такое URL клонирования nostr://

URL nostr:// адресует репозиторий через сам протокол, а не через HTTPS или SSH удалённый репозиторий, привязанный к конкретному форжу. Новый раздел в 34.md определяет три формы такого URL:

text
nostr://<naddr>
nostr://<npub|nip05>/<identifier>
nostr://<npub|nip05>/<relay-hint>/<identifier>

Значением <identifier> служит тег d события анонса репозитория типа 30617, адресуемого события, которое NIP-34 использует для публикации репозитория. Необязательный <relay-hint> указывает клиенту на релей, где вероятно можно найти события этого репозитория, и его схему wss:// можно опустить для краткости. Когда установлен помощник git-remote-nostr, URL в этом формате можно передать напрямую в git clone, так же как передавался бы HTTPS адрес.

В описании PR отмечается, что формат уже использовался ещё до того, как спецификация его догнала. И ngit, и shakespeare реализуют его как URL клонирования под именем git-remote-nostr, и он отображается в клиентах, включая gitworkshop.dev и nostrhub.io. CLI nak поддерживает его без поддержки NIP-05. Внесение формата в текст NIP превращает соглашение, к которому уже независимо пришли несколько инструментов, в нечто, с чем можно сверять спецификацию.

Ошибка, которую исправляет тот же PR

NIP-34 рекомендует kebab-case для идентификаторного тега d в анонсе репозитория, но не требует этого. Репозиторий, чьё значение d не является kebab-case, например содержит пробелы или косые черты, мог дать URL nostr://, не соответствующий спецификации git-remote-helper, да и вообще никакой спецификации URL.

Новый текст закрывает этот пробел, требуя процентного кодирования: и <relay-hint>, и <identifier> ДОЛЖНЫ быть закодированы в процентном формате согласно RFC 3986 §2.1. Собственные примеры из PR показывают, почему это важно.

text
nostr://npub15qydau2hjma6ngxkl2cyar74wzyjshvl65za5k5rl69264ar2exs5cyejr/relay.ngit.dev/ngit
nostr://npub15qydau2hjma6ngxkl2cyar74wzyjshvl65za5k5rl69264ar2exs5cyejr/my%20%F0%9F%9A%80%20repo
nostr://danconwaydev.com/ws%3A%2F%2Flocalhost%3A7334/my-local-only-repo
nostr://danconwaydev.com/relay.ngit.dev/ngit

Во втором примере идентификатор d содержит пробелы и эмодзи, и остаётся корректным URL после процентного кодирования. В третьем указание релея записано как обычный локальный адрес ws://, также закодированный в процентном формате, чтобы сохраниться при встраивании в путь URL.

Почему это важно для git поверх Nostr

Репозиторий, доступный только по HTTPS или SSH, зависит от того, где именно размещён этот единственный удалённый адрес. URL клонирования nostr://, напротив, разрешается через релеи: naddr, либо npub или идентификатор NIP-05 вместе с необязательным указанием релея, достаточно, чтобы найти текущий анонс репозитория независимо от того, какой форж или сервер обслуживает его в данный момент. Именно эту часть NIP-34 данный PR делает точной: не саму общую идею, которая существовала и до PR, а точный формат, о котором независимым реализациям нужно договориться, чтобы git clone nostr://... работал одинаково в ngit, shakespeare, gitworkshop.dev, nostrhub.io и nak.

Само изменение небольшое: 22 добавленные строки и 1 удалённая в 34.md, но оно превращает соглашение, к которому независимо пришли несколько инструментов, в текст, с которым можно сверять спецификацию.

Источники

Каждое утверждение в этом материале ссылается на первоисточник.

  1. NIP-34 add nostr:// clone urls spec — nostr-protocol/nips (10 апреля 2026 г.)

Ещё от редакции

Stay Updated

Get the latest on new features, trust assertions, and services integration as they ship.

No spam, ever. Unsubscribe anytime.