chendo / Airchat
AirChat lets you chat to nearby users by abusing the AirDrop interface on OS X.
Stars: ✭ 156
Labels
Projects that are alternatives of or similar to Airchat
Lookerbot
Lookerbot lets you access all your Looker data from Slack! Super fun!
Stars: ✭ 138 (-11.54%)
Mutual labels: chat
Nettychat
基于Netty+TCP+Protobuf实现的Android IM库,包含Protobuf序列化、TCP拆包与粘包、长连接握手认证、心跳机制、断线重连机制、消息重发机制、读写超时机制、离线消息、线程池等功能。
Stars: ✭ 1,979 (+1168.59%)
Mutual labels: chat
Mojo Webqq
【重要通知:WebQQ将在2019年1月1日停止服务,此项目目前已停止维护,感谢大家四年来的一路陪伴】使用Perl语言(不会没关系)编写的smartqq/webqq客户端框架(非GUI),可通过插件提供基于HTTP协议的api接口供其他语言或系统调用
Stars: ✭ 1,755 (+1025%)
Mutual labels: chat
Quick Chat
Real time chat app written in Swift 5 using Firebase
Stars: ✭ 1,773 (+1036.54%)
Mutual labels: chat
Mmtexturechat
AsyncDisplayKit(Texture) Smooth Scroll Chat Simulation for Whatsapp and iMessage
Stars: ✭ 149 (-4.49%)
Mutual labels: chat
Smartim4eclipse
Eclipse上的SmartIM插件,防Boss利器,让你可以在eclipse中使用QQ/微信进行聊天
Stars: ✭ 139 (-10.9%)
Mutual labels: chat
Hangups
the first third-party instant messaging client for Google Hangouts
Stars: ✭ 1,739 (+1014.74%)
Mutual labels: chat
Slack Clone React Native
Build a slack clone using react-native, Stream and react-navigation
Stars: ✭ 147 (-5.77%)
Mutual labels: chat
Hiya Hiya Hiya
Whatsapp Clone base on Firebase Cloud Messaging
Stars: ✭ 139 (-10.9%)
Mutual labels: chat
Gappein Chat Sdk
A plug and play modular toolkit for integrating the Chat feature on top of Firebase!
Stars: ✭ 154 (-1.28%)
Mutual labels: chat
Whatsapp Clone Android
Tutorial which teaches you how to build a whatsapp chat clone on android using Kotlin, viewmodels, navigation component and Stream
Stars: ✭ 137 (-12.18%)
Mutual labels: chat
AirChat
AirChat is a zero-dependency* P2P CLI chat tool that (ab)uses the AirDrop interface to allow chatting across WiFi networks (or no WiFi network).
A RailsCamp AU 20 project.
Features
- Chat to other AirChat users in proximity without being on the same network
- Self-contained - no gems, nothing else to download/install
- Automatically keeps AirDrop active
- Commands:
/nick
,/who
,/me
,/quit
- User colours tied to their IPv6 address
Requirements
- OS X with system Ruby 2+ with working AirDrop
- Ruby 2.0 or higher (comes with OS X)
- tcpdump (comes with OS X)
Usage
# Get it
curl -L https://github.com/chendo/airchat/raw/master/airchat.rb > airchat.rb && chmod +x airchat.rb
# or get someone to AirDrop it to you, etc.
# AirChat requires raw access to the /dev/bpf* interface.
# Run using sudo
sudo ./airchat.rb
# OR
# Give permission to /dev/bpf*
sudo chgrp staff /dev/bpf* && sudo chmod g+rw /dev/bpf* # These permissions will reset on reboot
./airchat.rb
How does it work?
AirChat uses the awdl0
interface to talk to other machines with AirDrop active.
However, OS X restricts binding to this interface, and non-AirDrop network traffic is rejected
with ICMP Port Unreachable
. AirChat gets around this by using tcpdump
to receive UDP data,
as OS X doesn't stop you from sending packets through that interface.
AirChat broadcasts JSON-encoded messages in UDP to ff02::fb
on port 1337
.
Caveats/TODO
- Messages are transmitted in plain text.
- No direct messaging
- One channel only (you can specify a different port by modifying the source)
- Message delivery is not guaranteed
- No message repeater functionality
License
MIT.
ANSI RGB magic sauce from the paint gem.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].