https://github.com/daviddahl/wut
Libp2p / IPFS terminal-based chat
https://github.com/daviddahl/wut
chat decentralized distributed ipfs libp2p peer-to-peer privacy pubsub serverless social-proof tweetnacl-js
Last synced: 26 days ago
JSON representation
Libp2p / IPFS terminal-based chat
- Host: GitHub
- URL: https://github.com/daviddahl/wut
- Owner: daviddahl
- License: mit
- Created: 2020-05-20T16:12:45.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-06T07:33:07.000Z (over 2 years ago)
- Last Synced: 2024-04-14T06:00:47.615Z (about 1 year ago)
- Topics: chat, decentralized, distributed, ipfs, libp2p, peer-to-peer, privacy, pubsub, serverless, social-proof, tweetnacl-js
- Language: JavaScript
- Homepage:
- Size: 1.66 MB
- Stars: 13
- Watchers: 1
- Forks: 1
- Open Issues: 32
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ¿wut?
Serverless, IPFS, Tweetnacl-js-based chat application for terminal in an `ncurses` style

## Goals
### Things to do, ranked
* [ ] DM UI is broken and needs UX love
* [ ] Tab-completion of peer names, commands
* [ ] Tab / arrows to focus UI elements
* [ ] Social Proofs, see: https://github.com/IBM/ipfs-social-proof
* [ ] Tests
* [ ] DMs List UI
* [ ] Paste screenshots into chat
* [ ] Keys / keychain persistence
* [ ] Key stretching / BIP-39 password for keychain, configuration data.
* [ ] Keybase-style UI layout
* [ ] Encrypted file sharing via tweetnacl-js & IPFS file storage
* [ ] SES-based plugins, (See: Secure ECMAScript https://github.com/Agoric/SES-shim )
* [ ] Group encrypted chat
* [ ] Child_process for IPFS, workers for crypto? Discuss.
* [ ] Emojis
* [ ] Encrypted message persistence in IPFS via OrbitDB, js-threads?### Fixed
* [x] `Major issue`: Make pubsub work outside local networks: Works now via webrtc-star server as bootstrap node
* [x] Serverless 'lobby' chat multiple participants
* [x] Serverless E2E encrypted chat for 2 participants (at first)
* [x] As nerdy as possbile, hence the `ncurses` style## Install
Requirements: node 12, yarn
See signaling server and client configuration [README.md](signal-server/README.md) first:
```bash
npm install -g yarngit clone [email protected]:daviddahl/wut.git
cd wut
yarn install
node main.js
```
## Testing
`yarn test`