a decentralized communication network
 
 
Go to file
jerl b4dcb61301 call 2024-09-07 20:55:03 -05:00
client call 2024-09-07 20:55:03 -05:00
db view users 2024-06-14 22:24:32 -07:00
src call 2024-09-07 20:55:03 -05:00
.gitignore initial version 2023-05-05 22:33:05 -04:00
DOCS.md stream volume and listener count 2024-06-23 21:55:28 -07:00
README.md call 2024-09-07 20:55:03 -05:00
package-lock.json initial load messages 2023-05-29 18:28:04 -07:00
package.json call 2024-09-07 20:55:03 -05:00
server.js call 2024-09-07 20:55:03 -05:00

README.md

vybe

vybe is a work-in-progress decentralized communication network.

a vybe instance (server) features user accounts and threads.

user accounts are owned by PGP keys stored in users' clients.

each thread features a chatroom, a call, a space, and audio streams.

a space is like a text blackboard, basically. you can write text and move it around and resize it with your mouse.

once you have an account on any instance, you can connect to and interact with any other instance, right from within your home instance UI.

to run your own instance, make sure you have nodejs installed, clone this repo, and run:

npm install

then

node .

it will run on port 1312 by default; on first run, you can change this by setting PORT:

PORT=1234 node .

after first run, the port is configured in instance.json.

currently, you'll need to proxy it through a webserver like nginx or Caddy, which needs to have https enabled for things to work correctly. if you want the easy option, i recommend Caddy. example Caddy config:

vybe.example.domain {
	reverse_proxy localhost:1312
	header Access-Control-Allow-Origin "*"
}

(the allow-origin header isn't required normally unless websockets don't work for whatever reason)

then go to https://vybe.example.domain to start using vybe!

todo

  • encrypt private threads (users already use pgp)
  • voice/video calls
  • instance administration and moderation

let me know if you have any questions or issues. i can be reached via my website jerl.zone. if you want to contribute, contact me :)