Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zaach/ipdm
decentralized direct messaging (WIP)
https://github.com/zaach/ipdm
ipfs libp2p p2p
Last synced: about 9 hours ago
JSON representation
decentralized direct messaging (WIP)
- Host: GitHub
- URL: https://github.com/zaach/ipdm
- Owner: zaach
- Created: 2023-05-18T18:24:14.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-07-17T04:45:46.000Z (over 1 year ago)
- Last Synced: 2024-11-13T15:55:23.088Z (2 months ago)
- Topics: ipfs, libp2p, p2p
- Language: TypeScript
- Homepage:
- Size: 2.3 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# IPDM
The goal is to create a decentralized whatsapp.
Distinguished properties we'd want to support:
- Private: authenticated and end-to-end encrypted
- Asynchronous: conversations can be created and progress without both parties being online
- Deniable: a leaked transcript doesn't provide proof of who authored the messages
- Forward and future secure: leaked credentials can't reveal an entire conversation
- --All of the above for group chats-- (stretch goal)The initial version is a port of an [existing chat application](https://github.com/zaach/5edm) that is synchronous, end-to-end encrypted, and ephemeral (no static keys). This initial experience, while admittedly limitted, offers a working end-to-end prototype with interfaces and affordances that can be iterated upon.
## Roadmap
- [Finish port of 5EDM](https://github.com/zaach/ipdm/milestone/5)
- [Attachments](https://github.com/zaach/ipdm/milestone/1)
- [Asynchronicity](https://github.com/zaach/ipdm/milestone/2)
- [Authentication](https://github.com/zaach/ipdm/milestone/3)
- [Production Deploy](https://github.com/zaach/ipdm/milestone/6)
- [Full p2p](https://github.com/zaach/ipdm/milestone/4)
- Groups?## Monorepo
The monorepo is using [Turborepo](https://turborepo.org/) and [pnpm workspaces](https://pnpm.io/workspaces) to link packages together.
Packages:
- [./apps/ipdm](./apps/ipdm): UI, app frontend built with Vite, Preact, Tailwind CSS
- [./packages/client](./packages/client): Chat client package
- [./packages/relay](./packages/relay): Libp2p dev relay server## Setup
```bash
pnpm install
pnpm build
```## Dev
Next, run `app` in development mode:
```bash
pnpm dev
```The app should be up and running at http://localhost:5173.