{"id":15460506,"url":"https://github.com/schollz/snaptext","last_synced_at":"2025-07-11T02:37:21.080Z","repository":{"id":85313618,"uuid":"121981135","full_name":"schollz/snaptext","owner":"schollz","description":"A simple webapp to send and receive self-destructing messages in real-time. :envelope: :zap:","archived":false,"fork":false,"pushed_at":"2020-06-15T12:56:25.000Z","size":5558,"stargazers_count":52,"open_issues_count":0,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-22T10:34:52.074Z","etag":null,"topics":["api","instant-messaging","messenger-platform","website"],"latest_commit_sha":null,"homepage":"https://snaptext.schollz.com/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/schollz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-02-18T19:03:34.000Z","updated_at":"2025-02-11T15:50:12.000Z","dependencies_parsed_at":"2023-07-04T08:20:23.711Z","dependency_job_id":null,"html_url":"https://github.com/schollz/snaptext","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schollz%2Fsnaptext","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schollz%2Fsnaptext/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schollz%2Fsnaptext/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schollz%2Fsnaptext/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/schollz","download_url":"https://codeload.github.com/schollz/snaptext/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250221482,"owners_count":21394709,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","instant-messaging","messenger-platform","website"],"created_at":"2024-10-01T23:22:13.073Z","updated_at":"2025-04-22T10:34:54.788Z","avatar_url":"https://github.com/schollz.png","language":"Go","funding_links":["https://www.paypal.me/ZackScholl/5.00"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\u003cimg\n    src=\"https://raw.githubusercontent.com/schollz/snaptext/master/static/favicon/logo.png?token=AGPyE4FL_L452-C_VhQ1bi8WiJhpB6ALks5alK3HwA%3D%3D\"\n    width=\"260px\" border=\"0\" alt=\"snaptext\"\u003e\n\u003cbr\u003e\n\u003ca href=\"https://travis-ci.org/schollz/snaptext\"\u003e\u003cimg\nsrc=\"https://travis-ci.org/schollz/snaptext.svg?branch=master\" alt=\"Build\nStatus\"\u003e\u003c/a\u003e \u003ca\nhref=\"https://github.com/schollz/snaptext/releases/latest\"\u003e\u003cimg\nsrc=\"https://img.shields.io/badge/version-2.0.0-brightgreen.svg?style=flat-square\"\nalt=\"Version\"\u003e\u003c/a\u003e \u003ca\nhref=\"https://goreportcard.com/report/github.com/schollz/snaptext\"\u003e\u003cimg\nsrc=\"https://goreportcard.com/badge/github.com/schollz/snaptext\" alt=\"Go\nReport Card\"\u003e\u003c/a\u003e \u003ca href=\"https://www.paypal.me/ZackScholl/5.00\"\u003e\u003cimg\nsrc=\"https://img.shields.io/badge/donate-$5-brown.svg\" alt=\"Donate\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003eLike snapchat, but for text.\u003c/p\u003e\n\n*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`](https://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`](https://snaptext.schollz.com/schollz) which pops the first message. \n\nMessaging 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).\n\n# Why?\n\nI recently made [a \"turnkey\" solution for the Raspberry Pi](https://github.com/schollz/raspberry-pi-turnkey) 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.\n\nThere 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.\n\n# Usage\n\n*snaptext* only supports doing two things: writing or reading messages.\n\n## Writing messages\n\nYou can write messages online. Goto [`snaptext.schollz.com`](https://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). \n\nYou 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`).\n\n```json\n{\n    \"to\":\"snaptext\",\n    \"from\":\"schollz\",\n    \"message\":\"Just a test\"\n}\n```\n\nThe 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:\n\n```bash\ncurl  -d '{\"to\":\"snaptext\",\"from\":\"schollz\",\"message\":\"Just a test\"}' -X POST https://snaptext.schollz.com\n```\n\n## Reading messages\n\nGoto [`snaptext.schollz.com/snapchat`](https://snaptext.schollz.com/ID) 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.\n\n# Run your own server\n\nThe easiest way is using Go (requires Go 1.9+):\n\n```\n$ go install -v github.com/schollz/snaptext\n$ snaptext\n```\n\n# License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fschollz%2Fsnaptext","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fschollz%2Fsnaptext","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fschollz%2Fsnaptext/lists"}