mirror of
https://github.com/aljazceru/nostr-profile-manager.git
synced 2025-12-17 05:34:20 +01:00
0a7b90b5f2da327e0a2aca1bd0512c396608bebb
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
0100023
- 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
10002and2events
-
Relays
- editable table of read / write relays kind
10002event - auto suggestion of
10002event based on contact's relays if no event present - evaluation of
10002based on contact's - decentralisation score to encourage users not to use the same relay
- editable table of read / write relays kind
-
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
10002or 3 default relays
- connect relays specified in
- 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)
Languages
TypeScript
95.7%
SCSS
2%
HTML
1.5%
Just
0.6%
JavaScript
0.2%