All Projects → schollz → snaptext

schollz / snaptext

Licence: MIT license
A simple webapp to send and receive self-destructing messages in real-time. ✉️ ⚡

Programming Languages

go
31211 projects - #10 most used programming language
HTML
75241 projects
Makefile
30231 projects

Projects that are alternatives of or similar to snaptext

Wire Ios
📱 Wire for iOS (iPhone and iPad)
Stars: ✭ 3,079 (+5821.15%)
Mutual labels:  instant-messaging, messenger-platform
Facebook-instan-games-SDK
Learn how to integrate games built with JavaScript and HTML5 with Facebook instant games SDK
Stars: ✭ 59 (+13.46%)
Mutual labels:  messenger-platform
Gateway
🚀构建分布式即时聊天、消息推送系统。 Building distributed instant messaging, push notification systems.
Stars: ✭ 188 (+261.54%)
Mutual labels:  instant-messaging
iGap-iOS
iGap Client for iOS Source Code
Stars: ✭ 18 (-65.38%)
Mutual labels:  instant-messaging
Fan Push
a simple and small push system for Android and server based on Netty.
Stars: ✭ 238 (+357.69%)
Mutual labels:  instant-messaging
messenger-bot-nlp
A Facebook Messenger bot sample integrated with built-in NLP from wit.ai
Stars: ✭ 13 (-75%)
Mutual labels:  messenger-platform
Im server yichat
Stars: ✭ 169 (+225%)
Mutual labels:  instant-messaging
yalcs
💬 Yet Another Live Chat for Slack — Message your website's visitors through Slack for support or sales.
Stars: ✭ 37 (-28.85%)
Mutual labels:  instant-messaging
server
即时通讯(IM)系统
Stars: ✭ 6,896 (+13161.54%)
Mutual labels:  instant-messaging
withme3.0
Using Netty as the server and WebSocket as the communication protocol, the instant messaging system developed by microservice architecture is adopted.
Stars: ✭ 66 (+26.92%)
Mutual labels:  instant-messaging
cryptalk
HTML5/Node.js based, client side (E2EE) encrypted instant chat
Stars: ✭ 73 (+40.38%)
Mutual labels:  instant-messaging
haskell-ricochet
(WIP/Experimental) Ricochet implementation as Haskell Library.
Stars: ✭ 22 (-57.69%)
Mutual labels:  instant-messaging
redparty
Host Youtube watch party with friends. Sync videos and chat in real-time
Stars: ✭ 70 (+34.62%)
Mutual labels:  instant-messaging
Tindroid
Tinode chat client application for Android
Stars: ✭ 194 (+273.08%)
Mutual labels:  instant-messaging
i2pchat
🌀 i2pchat's old repo. This repo is deprecated in favor of https://github.com/i2pchat/i2pchat which is now the main repo.
Stars: ✭ 23 (-55.77%)
Mutual labels:  instant-messaging
Starrtc Server
免费IM系统,IM即时通信消息系统(含一对一文字聊天,群聊,聊天室),免费一对一voip实时通话,录屏,webrtc服务端,免费直播连麦,互动直播,视频直播,RTSP拉流,RTMP推流,语音对讲,免费在线会议,视频会议等服务端程序,支持物联网平台,✨万水千山总是情,来个star行不行✨
Stars: ✭ 2,295 (+4313.46%)
Mutual labels:  instant-messaging
botnaut
Chatbot Framework for Facebook Messenger platform
Stars: ✭ 13 (-75%)
Mutual labels:  messenger-platform
stork
(M) Android XMPP Client
Stars: ✭ 51 (-1.92%)
Mutual labels:  instant-messaging
xyTalk-pc
企业IM即时通讯定制平台,百万级高并发、高性能、可扩展、安全、高交互体验的企业通信和协作im平台。包含通讯服务、客户端(PC、Android、iOS)、Web门户(用于集成企业应用)、WebAPI。
Stars: ✭ 48 (-7.69%)
Mutual labels:  instant-messaging
isotoxin
Isotoxin source
Stars: ✭ 69 (+32.69%)
Mutual labels:  instant-messaging

snaptext
Build
Status Version Go
Report Card Donate

Like snapchat, but for text.

snaptext is a web app (and API) that lets you easily send and receive self-destructing messages in real-time. For example, you can go to snaptext.schollz.com/?to=schollz and write me a message. The message will be stored in a queue for me (schollz) and it will be destroyed when a browser is opened at snaptext.schollz.com/schollz which pops the first message.

Messaging occurs in real-time using websockets, so to guarantee that you receive the message its best to have the browser open or use a obfuscated ID. Messages are queued for each ID, so you can send multiple messages and they will be read in order (FIFO).

Why?

I recently made a "turnkey" solution for the Raspberry Pi to easily assign the Pi WiFi credentials without using SSH or writing to the boot (useful for shipping to customers). The turnkey image Pi starts up a temporary WiFI access point and the user enters their home WiFi credentials. The Pi then restarts and connects to the new WiFi. At this point, it needs a way to communicate to the user that it is connected and provide its LAN IP. Email is not an option here because I cannot ship a Pi using my own SMTP credentials. Thus, I made snaptext so that the Pi sends the user the message through the temporary webpage, like snaptext.schollz.com/abc234basd3b, which tells the user that it is online and gives its IP address.

There may be other uses for snaptext - it is basically a simple, transient way of sending short messages once a URL is shared between the parties.

Usage

snaptext only supports doing two things: writing or reading messages.

Writing messages

You can write messages online. Goto snaptext.schollz.com to write messages. The message can be text or HTML, though a limited number of HTML tags are allowed (to prevent XSS attacks).

You can also write messages from other programs. The API is incredibly simple. There is only one endpoint, to post a message: POST /. Use the following payload to set the recipient (to), the sender name (from), and the message (message).

{
    "to":"snaptext",
    "from":"schollz",
    "message":"Just a test"
}

The recipient controls where the message can be seen (this particular message will be seen at snaptext.schollz.com/snapchat). The from just tells who is sending the message. An example CURL:

curl  -d '{"to":"snaptext","from":"schollz","message":"Just a test"}' -X POST https://snaptext.schollz.com

Reading messages

Goto snaptext.schollz.com/snapchat to read messages that have been written to snapchat. Once a message is read, it is destroyed. There is no check on who reads a message - it is first come first serve. However, anyone with a browser currently connected can read an incoming message.

Run your own server

The easiest way is using Go (requires Go 1.9+):

$ go install -v github.com/schollz/snaptext
$ snaptext

License

MIT

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].