voistr's avatar
voistr
npub1lcfn...n6vm
nostr p2p softphone
voistr's avatar
voistr 2 months ago
[0.1.9] - 2025-09-28 ### Added - UI to change the display language (english or french, spanish will be supported soon) - UI to change the theme. Supported theme engines: catppuccin and material m3 (material m3 is the default now) - UI slider to change the UI scale (pixels per point) - Support for password-protected nostr keys (new nostr keys mgr) - Imported keys are password-protected by default - Peers page: show disconnected peers in a collapsing list
voistr's avatar
voistr 2 months ago
Screenshot of the preferences panel, with the new material m3 theme color picker. image
voistr's avatar
voistr 2 months ago
[0.1.9] - 2025-09-28 ### Added - UI to change the display language (english or french, spanish will be supported soon) - UI to change the theme. Supported theme engines: catppuccin and material m3 (material m3 is the default now) - UI slider to change the UI scale (pixels per point) - Support for password-protected nostr keys (new nostr keys mgr) - Imported keys are password-protected by default - Peers page: show disconnected peers in a collapsing list
voistr's avatar
voistr 3 months ago
[0.1.8] - 2025-09-26 ### Fixed - Finally fix this annoying issue with handshakes after webrtc disconnections! Peers will now show up in the peers list no matter what. - Old signal events will automatically be deleted from nostr relays ### Changed - NIP44 encryption at the (webrtc) data channel level - Use nip44 {encrypt,decrypt}_to_bytes() to have an encryption layer over the webrtc data channel, to enforce encryption for all voistr protocol messages (instead of using seals)
voistr's avatar
voistr 3 months ago
[0.1.7] - 2025-09-22 ### Added - New dependencies: binrw, mmap2 - New voistr message types: direct message, file send request && response - Basic UI to send DMs to a contact - NIP44-encrypted file transfer support over webrtc data channels. - UI to list file transfers with progress bar
voistr's avatar
voistr 3 months ago
[0.1.7] - 2025-09-22 ### Added - New dependencies: binrw, mmap2 - New voistr message types: direct message, file send request && response - Basic UI to send DMs to a contact - NIP44-encrypted file transfer support over webrtc data channels. - UI to list file transfers with progress bar
voistr's avatar
voistr 3 months ago
[0.1.6] - 2025-09-20 ### Added - NIP-96 uploads support - UI to display and change the picture in the profile page - When clicking on a peer, it shows a page with the events history for that peer (call invites, responses, hangups, ...) - promising_nostrdb module ### Changed - Use trait enums for the pages system
voistr's avatar
voistr 3 months ago
[0.1.5] - 2025-09-17 ### Added - Button to restore default webrtc settings in the preferences UI ### Changed - Use the lazy_async_promise crate to make queries on the nostr database from egui - Cache db query results with mini_mako ### Fixed - IdentityState::new() => create the config directory early
voistr's avatar
voistr 3 months ago
[0.1.4] - 2025-09-15 ### Added - UI to modify the ICE servers configuration ### Changed - Update matchbox_socket_nostr - Use CPAL + ringbuf for the opus decoder - Use stereo 48khz by default, with FEC (forward error correction)
voistr's avatar
voistr 3 months ago
## [0.1.3] - 2025-09-14 ### Added - Ringtone library - Ringtone preferences - Add a "play_ringtone" function in the audio module to play a ringtone repeatedly with a custom volume - Refuse call button
voistr's avatar
voistr 3 months ago
voistr (pronounced like: VOYST-er) is an experimental nostr p2p softphone and real-time communication agent. It uses nostr relays to exchange encrypted WebRTC signaling messages. How it works: - Peers connect to some nostr relays which accept encrypted NIP-44 events, and send an event to join a room. - Peers send NIP-44 encrypted events containing the WebRTC offers and ICE candidates. This is the handshake, made possible by the nostr relays which act as WebRTC signaling servers. - Once the offer is accepted, the WebRTC connection is established. A data channel is opened, as well as media tracks to exchange encoded (OPUS) audio data. The data channel is used for the voistr protocol, which uses NIP-44 seal events with JSON payloads. Right now there is no relays configuration and to make testing easier, voistr uses a predetermined list of relays that work well with encrypted events. If you want to try it out and help with the testing, reply here, that'd be much appreciated. #voistr #nostr #softphone #nosphone #webrtc #opus
voistr's avatar
voistr 3 months ago
### Added - Phone, preferences and contacts pages - UI to change the audio device preferences
voistr's avatar
voistr 3 months ago
voistr is a softphone for nostr. It uses nostr relays to exchange encrypted WebRTC signaling messages. # voistr #softphone #nostr