4 ms·
Hey, I made this! I also made this other thing on HN today (https://news.ycombinator.com/item?id=37062422 https://news.ycombinator.com/item?id=37062422), really
by archmaster 3y ago
Hey, I made this! I also made this other thing on HN today (https://news.ycombinator.com/item?id=37062422 https://news.ycombinator.com/item?id=37062422), really cool to see ArpChat as well (guess someone went through my profile). It was a super fun project and I learned a lot about networking.
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 https://kognise.dev/writing/arp
- junon 3y agoThe readme banner at the bottom is absolutely hilarious and beautiful. This is neat, great job!
- Brian_K_White 3y agoThe banner is win :)
- fullstop 3y agoDo you expect this to work on Linux? # sudo getcap ./arpchat ./arpchat cap_net_raw=ep I receive "error getting channel, might be missing permissions" edit: the received error is from arpchat, not any of the setcap setup.
- archmaster 3y agonot sure if your formatting is messed up, but these commands should work: $ sudo setcap CAP_NET_RAW+ep ./arpchat $ ./arpchat perhaps try sudo on the arpchat binary if not
- fullstop 3y agoThat was me showing you that setcap had, in fact, been called. That's why it's the output of getcap. I tried it with sudo and it also failed with the same message. I've tried it on an arch-based laptop and a debian-based laptop with the same results.
- archmaster 3y agoi see. hmmmmm ... that's not supposed to happen, and it works fine on both nixos and ubuntu for me. may be something funky going on, i'll see if i can take a look sometime soon.
- fullstop 3y agoUsing the prebuilt binary works. Building from source does not.
- anfractuosity 3y agoBy modifying Cargo.toml slightly, I no longer got the same error, which seems to somehow relate to pnet library. pnet = "0.34.0" Interestingly with Arch it worked fine for me before, but with my Pi, I got the permission error, but changing the pnet ver seemed to fix anyway.
- fullstop 3y agoThis fixed it for me. Regarding Arch, I updated everything earlier today but I am running the LTS kernel.
- adsche 3y agoIf you use SELinux, you might want to check /var/log/audit/audit.log
- pmarreck 3y agoI am just grinning like hell going through all this. Even though ArpChat would probably give network admins a heart attack, your mind is most certainly fucking rad, ma'am. =) I too am the kind of person that read books on OSI layers for funsies, lol. Keep playing with code! Reminds me a bit of justine tunney's work with things like https://justine.lol/ape.html https://justine.lol/ape.html where someone just goes way deep on a thing that few people seem to fully understand (in her case it would be "compiler binary format minutiae" among other things) and then asks a crazy question like "what if it were possible to mesh all the binary formats together into a meta-format that actually runs on all of them?" and then conjures up this crazy thing that actually works.
- archmaster 3y agojustine tunney is an amazing inspiration! glad you enjoyed :)