Terminal-based chat app using go-ipfs pubsub. No rendezvous server needed

Yet another ipfs-chat application based on gossipsub. The usual Create nickname + Create/Join chatroom process.

This one uses TUI and is run from a single shell-script (Bash).

Peer discovery using DHT (internet), mDNS (LAN) and Pubsub (once connected).

Messages are authenticated (using IPNS + ED25519-PKI) and encrypted (AES128).

Also tries to reduce bandwidth, disk & CPU consumption.

Dependency: go-ipfs-cli v0.9.1-or-more; standard GNU/Linux tools; dialog; setsid

Stage: Alpha/MVP/Experimental - Things might break

Future: More security (argon2); Encrypted in-chat file-sharing; Private messaging

Please give it a try and provide feedback.

2 Likes

Private messaging has been implemented from v0.1.0 (alpha).

Added WAN-only and LAN-only modes for better efficiency.

v0.2.1 has been released.

Security update: Argon2 is being used for key-derivation now. This makes this release incompatible with earlier versions. So please update.

Feature update:

Secure file and directory sharing has been implemented. Support added for Windows paths too keeping in mind the WSL users.

Files can also be sent as private messages.

Max size of shared files can be configured (CLI option -D). Larger files not uploaded/downloaded.

As a basic protection against harmful files, MIME-type may be cross-checked with file extension (CLI option -e).

Added a basic File explorer.

1 Like

is there a go code version for the same chat feature?