|
231 | 231 | color: #c62828; |
232 | 232 | } |
233 | 233 |
|
| 234 | + .badge-bunker { |
| 235 | + background: #e0f2f1; |
| 236 | + color: #00695c; |
| 237 | + } |
| 238 | + |
234 | 239 | .badge-unknown { |
235 | 240 | background: #f5f5f0; |
236 | 241 | color: #75715e; |
|
391 | 396 | <div class="qr-canvas-wrap" id="qr-relay"></div> |
392 | 397 | <div class="qr-details"> |
393 | 398 | <p>Scans as a relay address. The app will offer to add it to your relay list.</p> |
394 | | - <div class="qr-value"><span class="prefix">wss://</span><span class="host">relay.damus.io</span></div> |
| 399 | + <div class="qr-value"><span class="prefix">wss://</span><span class="host">relay.nostrkeep.com</span></div> |
395 | 400 | </div> |
396 | 401 | </div> |
397 | 402 | </div> |
|
406 | 411 | <div class="qr-canvas-wrap" id="qr-deeplink"></div> |
407 | 412 | <div class="qr-details"> |
408 | 413 | <p>NostrKey deep link that triggers the add-relay flow directly.</p> |
409 | | - <div class="qr-value"><span class="prefix">nostrkey://</span><span class="host">add-relay</span>?<span class="param">url</span>=wss://nos.lol</div> |
| 414 | + <div class="qr-value"><span class="prefix">nostrkey://</span><span class="host">add-relay</span>?<span class="param">url</span>=wss://relay.nostrkeep.com</div> |
410 | 415 | </div> |
411 | 416 | </div> |
412 | 417 | </div> |
|
421 | 426 | <div class="qr-canvas-wrap" id="qr-npub"></div> |
422 | 427 | <div class="qr-details"> |
423 | 428 | <p>A Nostr public key in bech32 format. The app will show the profile view.</p> |
424 | | - <div class="qr-value"><span class="prefix">npub1</span>sg6plzptd64u62a878hep2kev3zw7gnway8eumg68nn7sflg6nyscmh755</div> |
| 429 | + <div class="qr-value"><span class="prefix">npub1</span>2xyl6w6aacmqa3gmmzwrr9m3u0ldx3dwqhczuascswvew9am9q4sfg99cx</div> |
425 | 430 | </div> |
426 | 431 | </div> |
427 | 432 | </div> |
|
436 | 441 | <div class="qr-canvas-wrap" id="qr-nip46"></div> |
437 | 442 | <div class="qr-details"> |
438 | 443 | <p>Remote signing request. The app will initiate a NIP-46 session with the requesting app.</p> |
439 | | - <div class="qr-value"><span class="prefix">nostrconnect://</span><span class="host">ab12cd34...</span>?<span class="param">relay</span>=wss://relay.damus.io&<span class="param">metadata</span>={"name":"TestApp"}</div> |
| 444 | + <div class="qr-value"><span class="prefix">nostrconnect://</span><span class="host">ab12cd34...</span>?<span class="param">relay</span>=wss://relay.nostrkeep.com&<span class="param">metadata</span>={"name":"NostrKeep"}</div> |
| 445 | + </div> |
| 446 | + </div> |
| 447 | + </div> |
| 448 | + |
| 449 | + <!-- Bunker URI --> |
| 450 | + <div class="qr-card"> |
| 451 | + <div class="qr-card-header"> |
| 452 | + <span class="qr-card-title">NIP-46 Bunker</span> |
| 453 | + <span class="qr-card-badge badge-bunker">bunker://</span> |
| 454 | + </div> |
| 455 | + <div class="qr-card-body"> |
| 456 | + <div class="qr-canvas-wrap" id="qr-bunker"></div> |
| 457 | + <div class="qr-details"> |
| 458 | + <p>Bunker connection URI. The app will connect to the specified relay for NIP-46 remote signing.</p> |
| 459 | + <div class="qr-value"><span class="prefix">bunker://</span><span class="host">5189fd3b...17bb282b</span>?<span class="param">relay</span>=wss://relay.nostrkeep.com</div> |
440 | 460 | </div> |
441 | 461 | </div> |
442 | 462 | </div> |
@@ -497,6 +517,7 @@ <h3>Scan Types</h3> |
497 | 517 | <li><span class="dot dot-blue"></span> <code>nostrkey://</code> Deep Link</li> |
498 | 518 | <li><span class="dot dot-orange"></span> <code>npub1</code> Public Key</li> |
499 | 519 | <li><span class="dot dot-pink"></span> <code>nostrconnect://</code> NIP-46</li> |
| 520 | + <li><span class="dot dot-green" style="background:#2dd4bf"></span> <code>bunker://</code> NIP-46 Bunker</li> |
500 | 521 | <li><span class="dot dot-gray"></span> Plain text (fallback)</li> |
501 | 522 | </ul> |
502 | 523 | </div> |
@@ -530,10 +551,11 @@ <h3>Deep Link Schemes</h3> |
530 | 551 |
|
531 | 552 | // Pre-built test codes |
532 | 553 | const codes = [ |
533 | | - { id: 'qr-relay', text: 'wss://relay.damus.io' }, |
534 | | - { id: 'qr-deeplink', text: 'nostrkey://add-relay?url=wss://nos.lol' }, |
535 | | - { id: 'qr-npub', text: 'npub1sg6plzptd64u62a878hep2kev3zw7gnway8eumg68nn7sflg6nyscmh755' }, |
536 | | - { id: 'qr-nip46', text: 'nostrconnect://ab12cd34ef5678901234567890abcdef12345678901234567890abcdef123456?relay=wss://relay.damus.io&metadata={"name":"TestApp"}' }, |
| 554 | + { id: 'qr-relay', text: 'wss://relay.nostrkeep.com' }, |
| 555 | + { id: 'qr-deeplink', text: 'nostrkey://add-relay?url=wss://relay.nostrkeep.com' }, |
| 556 | + { id: 'qr-npub', text: 'npub12xyl6w6aacmqa3gmmzwrr9m3u0ldx3dwqhczuascswvew9am9q4sfg99cx' }, |
| 557 | + { id: 'qr-nip46', text: 'nostrconnect://ab12cd34ef5678901234567890abcdef12345678901234567890abcdef123456?relay=wss://relay.nostrkeep.com&metadata={"name":"NostrKeep"}' }, |
| 558 | + { id: 'qr-bunker', text: 'bunker://5189fd3b5dee360ec51bd89c319771e3fed345ae05f02e761883999717bb282b?relay=wss://relay.nostrkeep.com' }, |
537 | 559 | { id: 'qr-unknown', text: 'Hello from NostrKey test!' } |
538 | 560 | ]; |
539 | 561 |
|
@@ -561,6 +583,7 @@ <h3>Deep Link Schemes</h3> |
561 | 583 | else if (text.startsWith('nostrkey://')) { badge = 'nostrkey://'; badgeClass = 'badge-deeplink'; } |
562 | 584 | else if (text.startsWith('npub1')) { badge = 'npub1'; badgeClass = 'badge-npub'; } |
563 | 585 | else if (text.startsWith('nsec1')) { badge = 'nsec1'; badgeClass = 'badge-nip46'; } |
| 586 | + else if (text.startsWith('bunker://')) { badge = 'bunker://'; badgeClass = 'badge-bunker'; } |
564 | 587 | else if (text.startsWith('nostrconnect://')) { badge = 'nostrconnect://'; badgeClass = 'badge-nip46'; } |
565 | 588 |
|
566 | 589 | card.innerHTML = ` |
|
0 commit comments