Skip to content

Lightweight typescript micro app for basic nostr profile management

License

Notifications You must be signed in to change notification settings

plebnet-dev/nostr-profile-manager

 
 

Repository files navigation

Nostr Profile Manager

Lightweight typescript micro app for basic nostr profile management. Current USP is offline backup and restore.

Minimial javascript dependencies. no JS frameworks. no state management tools.

Live instances

Features

Supported profile events: kind 0, 10002 and 3.

Backup and Restore
  • backup your profile events to offline browser storage
  • review changes between backups
    • 0
    • 10002
    • 3
  • selectively restore previous versions
  • download profile backup history as JSON file
  • restore backups from JSON file
Refine
  • Metadata

    • basic editing
    • nip05 verifiation
    • profile and banner previews
    • preserve, edit and remove custom properties
  • Contacts

    • Add Contacts based on nip05, nip19 (npub, nprofile or naddr) or hex
    • keyword search profiles to find contacts
    • keyword search profiles to find contacts of contacts
    • Remove Contacts
    • Edit petname and relay
    • Suggestions Engine
      • Contacts recommendation based off social graph
      • Suggest updates to contact relay based on Contact's kind 10002 and 2 events
  • Relays

    • editable table of read / write relays kind 10002 event
    • auto suggestion of 10002 event based on contact's relays if no event present
    • evaluation of 10002 based on contact's
    • decentralisation score to encourage users not to use the same relay
  • manage event distribution to relays

    • Show which and how many relays return an each event (and including historic events)
    • Show warning if selected write relays don't
    • suggest republishing events (particularly 10002) to spread them to more relays if appropriate
  • look far and wide for events

    • cycle through all known relays to find current and previous versions of profile events to enable restoration. reccommended only when accessed through a VPN
Lightweight
  • connects to the minimum number of relays
    • connect relays specified in 10002 or 3 default relays
  • minimises the number of open websockets
  • use blastr relay to send profile events far and wide
  • efficent (TODO: currently the 'Contacts' functionality is very inefficent)

About

Lightweight typescript micro app for basic nostr profile management

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 95.6%
  • SCSS 2.3%
  • HTML 1.3%
  • Other 0.8%