This is POC for Internet Relay Chat. This is the IRC that was meant to be built, but IPv4 destroyed the ability for everyone to be a peer online.
-
Everyone is a server, and everyone is a client.
-
Private messages send directly from person to person (client <-> server).
-
Channels are relays hosted by users - if you own the name 'joseon' then you own the channel namespace 'joseon' and 'joseon/'
-
Protocol is RFC1459
You must have an externally reachable IP and ports open (3600, 3601). Additionally, you must be able to bind 6667 on localhost. If you don't have one, you can get it at IPv6rs and easily use it. This is much easier than trying to configure your router/expose your home IP/etc.
For a decentralized internet, IPv6 is mandatory since there are not enough IPs for everyone on IPv4.
This is in POC, Pre-Alpha form. Use at your own discretion. It "works" but not for anything serious, yet.
-
Install nodeJS 20
-
Install npms
npm install express node-fetch body-parser ws
- Run setup.sh
./setup.sh
-
Follow the instructions to update your name on Bob, hsd, or Namebase I guess?
-
Make sure you have Bob running and copy your node API key to bob.key in the root folder of this program
-
Run
node index.js
- Connect to localhost 6667 with your IRC client.
- PRIVMSG
Messaging, directly, from person to person, is working. Messaging to channels with relay appears to work.
- JOIN
Join appears to work.
- PART
Part appears to work.
- NAMES
Names appears to work.
- QUIT
Quit works.
Copyright (c) 2024 Andrew Lee andrew@joseon.com
All Rights Reserved.
MIT Licensed.