by louismerlin on 8/9/23, 2:24 PM with 71 comments
by archmaster on 8/9/23, 4:33 PM
I actually got a chance to use it in a totally-offline setting a bit ago, which was fun! ... however, I then found a major bug that was causing tons of latency, and I fixed it but I haven't gotten around to building new artifacts yet, so you might want to build from scratch if you're planning on testing it out in a real setting for some reason. I also added fun username colors and message times. I promise I'll upload a new release soon!
If you're interested, I wrote an article about a year ago about how ArpChat works: https://kognise.dev/writing/arp
by hiAndrewQuinn on 8/9/23, 5:01 PM
For that of you who have no idea what the Address Resolution Protocol (ARP) is, to a first approximation it is the missing link between your MAC address (what Ethernet runs on) and your IP address (what Internet runs on). After your IP routing table, which you can see with `route`, decides what immediate next IP address to forward a packet to, then your ARP cache, which you can see with `arp`, will decide which MAC address that IP correspond to (usually your router's local IP address).
Knowing that ARP even exists is considered mild esoterica today, to say nothing of its IPv6 sibling the Network Discovery Protocol. But even though you don't use it much in modern cloud-based deployments, knowing it exists makes your bird's eye view of how the whole network stack works that much more holistic.
by gorkish on 8/9/23, 6:12 PM
Using ARP doesn't offer any particular advantage, and I would note since many modern switches do thinks like snooping arp packets, putting a high amount of bogus ARP traffic on the network could actually have some negative impact. It's still fun at any rate and reminds me of the type of crap that I used to make when I was learning. As alluded to before, I personally would have chosen to abuse ICMP for this purpose; maybe it's a future avenue for development. Kudos to the fun project!
by jedahan on 8/9/23, 5:42 PM
You see the samba share message in your file browser, click it and can edit the filenames to update a 3-line "bulletin board".
https://github.com/jedahan/samba-haiku/blob/master/index.js
Even this was a re-implementation that used WIFI ssids to make a captive portal haiku.
by jandrese on 8/9/23, 5:13 PM
It's possible this chat app could break through VLANs in certain circumstances.
by anotherevan on 8/10/23, 1:32 AM
It works pretty well, although sometimes you have to restart after your laptop wakes up before it sees others on the LAN. That and not being able to open a message window to someone direct from the tray icon are really my only grips. Can cut and paste pictures (of funny cats) and even send files and other capabilities I've never used. (This is not a paid advertisement, I've just started rambling.)
by hk1337 on 8/9/23, 3:54 PM
by jiveturkey on 8/10/23, 12:54 AM
> I also described ARP as a layer 3 protocol. There’s some contention on this — while I think this is the most accurate and easiest explanation, networking is more nuanced than the OSI model might convey. Some would describe ARP as a level 2 or even level 2.5 protocol. For our purposes, I believe calling it level 3 makes the most sense.
TCP/IP doesn't follow the OSI model, so the nuance of OSI isn't directly applicable. ARP is practically defined (ref Stevens) as being in layer 2.5 (of the TCP/IP model), so i believe calling it 2.5 would make the most sense.
and i mean, ARP frames aren't routable. so they clearly aren't L3.
by IgorPartola on 8/9/23, 8:54 PM
by prgt on 8/9/23, 11:40 PM
by conradfr on 8/10/23, 6:48 AM
That reminds me of a chat software that I did in Delphi 3 back in 1999/2000 (being not that much older than OP) for our LAN parties, that was basically broadcasting on 255.255.255.255 [0]
It was inspired by Kali (remember Kali? [1]) and IRC.
I think it worked until we moved from hubs to switches ;)
Keep on coding! :)
by vlan0 on 8/10/23, 12:51 AM
by teddyh on 8/9/23, 7:00 PM
by willsmith72 on 8/10/23, 2:49 AM
I've been to ski resorts where there's no phone reception, and I love it that way. No one's on their phones. But it's easy to lose someone for an entire day (or until your agreed meeting time).
Is it possible to use something like this to setup a wireless network which would facilitate chat without a connection to the outside world?
Ok now that I typed it it sounds crazy but I always thought this should be possible
by bgorman on 8/9/23, 10:34 PM
by iamthejuan on 8/10/23, 5:10 AM
by lyapunova on 8/9/23, 9:32 PM
by zackify on 8/10/23, 2:24 AM
by catboybotnet on 8/9/23, 5:32 PM
by lsofzz on 8/11/23, 12:41 PM
Modern network protocols have so much extra reserved bits that you can add pretty much anything want in it; keep going ;)
by cyberax on 8/9/23, 6:27 PM