Getting started.
Two ways to use Ping. Both clients are fully interoperable, users on either can communicate with each other seamlessly, backed by the same zero-knowledge encryption stack.
1. Telegram Mini App
The primary Ping client. Runs directly inside Telegram with zero install. You get full encryption, rooms, DMs, and built-in tools out of the box.
Setup
- Open @pingmsgbot on Telegram
- Tap Start to launch the bot
- Paste your invite code when prompted
- Set a 4-digit PIN
- Join the waitlist if you don't have an invite
Rooms
Rooms are the core unit in Ping. Each room has its own message stream, peer list, and sender key state. Create or join a room. Share the room invite code with your peers, they'll need it to join, either for 1:1 chats or group chats, same experience.
Direct Messages
DMs use pairwise X25519 envelopes within rooms. Tap any username in a room's peer list to open a DM. Messages are encrypted specifically for that recipient, invisible to other room members.
Disappearing Messages
Set per-conversation timers from 30 seconds to 24 hours. Tap the clock icon in any conversation to configure. Messages auto-delete from local display after the timer expires.
2. CLI Terminal
Full Ping protocol access from your terminal. Scriptable, headless, pipe-friendly.
Built for operators who want programmatic control.
Install
curl -O https://raw.githubusercontent.com/attacless/ping/main/ping.py && pip install cryptography websockets certifi && python ping.py
Requirements
- Python 3.8+
- cryptography, X25519, ChaCha20-Poly1305, HKDF, PBKDF2
- websockets, Nostr relay transport
- certifi, TLS certificate bundle
Usage
# Join a room
python ping.py --room <room-code>
# Send a message
python ping.py --room <room-code> --send "hello"
# Export identity for device migration
python ping.py --export
# Import identity on a new device
python ping.py --import <backup.json>
For a deeper look at the encryption architecture, see the Overview. For the philosophy behind Ping's entropy model, read the Entropy Thesis.