https://github.com/kognise/arpchat Skip to content Toggle navigation Sign up * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions For + Enterprise + Teams + Startups + Education By Solution + CI/CD & Automation + DevOps + DevSecOps Resources + Customer Stories + White papers, Ebooks, Webinars + Partners * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. {{ message }} kognise / arpchat Public * Notifications * Fork 33 * Star 1.6k Answering the question nobody asked: what if you wanted to text your friends using only ARP? License View license 1.6k stars 33 forks Activity Star Notifications * Code * Issues 4 * Pull requests 1 * Actions * Security * Insights More * Code * Issues * Pull requests * Actions * Security * Insights kognise/arpchat This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. main Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags Name already in use A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch? Cancel Create 1 branch 4 tags Code * Local * Codespaces * Clone HTTPS GitHub CLI [https://github.com/k] Use Git or checkout with SVN using the web URL. [gh repo clone kognis] Work fast with our official CLI. Learn more about the CLI. * Open with GitHub Desktop * Download ZIP Sign In Required Please sign in to use Codespaces. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching Xcode If nothing happens, download Xcode and try again. Launching Visual Studio Code Your codespace will open once ready. There was a problem preparing your codespace, please try again. Latest commit Git stats * 61 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time .github/workflows assets src .gitignore Cargo.lock Cargo.toml LICENSE README.md rust-toolchain.toml View code arpchat motivation limitations things i made arpchat do running building README.md arpchat so... you know arp? the protocol your computer uses to find the mac addresses of other computers on your network? yeah. that. i thought it would be a great idea to hijack it to make a chat app :) built in two days because i was sick and had nothing better to do. screenshot of the tool in action motivation 1. once a year, i'm on a client isolated network that i want to chat with friends over 2. i'm completely insane 3. i'm a programmer (i swear, i might actually briefly have a use for this! it might not be entirely useless! ... and other lies i tell myself) limitations yes things i made arpchat do you can send messages tens of thousands of characters long because i implemented a (naive) generalizable transport protocol on top of arp. there's also a bit of compression. if you wanted, you could probably split off the networking part of this and use it instead of udp. please don't do this. not only are join and leave notifications a thing, i built an entire presence discovery and heartbeat system to see an updated list of other online users. ironically, part of this serves a similar purpose to arp itself. for more information on how this all works technically, check out the little article i wrote. running if you actually want to install this for some reason, you can get it from the releases page. on windows, you probably need npcap. make sure you check "Install Npcap in WinPcap API-compatible Mode" in the installer! on linux, you might have to give arpchat network privileges: sudo setcap CAP_NET_RAW+ep /path/to/arpchat interface selector then just run the binary in a terminal. you know it's working properly if you can see your own messages when you send them. if you can't see your messages, try selecting a different interface or protocol! have any issues? that really sucks. you can make an issue if it pleases you. building you don't really want to build this. anyway, it's tested on the latest unstable rust. on windows, download the WinPcap Developer's Pack and set the LIB environment variable to the WpdPack/Lib/x64/ folder. cargo build banner About Answering the question nobody asked: what if you wanted to text your friends using only ARP? Topics chat arp Resources Readme License View license Activity Stars 1.6k stars Watchers 14 watching Forks 33 forks Report repository Releases 4 v1.0.0 - "wheeee" edition Latest Mar 23, 2022 + 3 releases Contributors 3 * * * Languages * Rust 100.0% Footer (c) 2023 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time.