Signal
PocketPaw connects to Signal via the signal-cli REST API. Signal is ideal for users who prioritize privacy and end-to-end encryption.
Prerequisites
You need a running signal-cli-rest-api instance. This provides the HTTP API that PocketPaw communicates with.
# Run signal-cli REST API via Dockerdocker run -d --name signal-api \ -p 8080:8080 \ -v ./signal-cli:/home/.local/share/signal-cli \ bbernhard/signal-cli-rest-apiRegister your phone number with signal-cli before using it with PocketPaw.
Setup
Start signal-cli REST API
Ensure signal-cli-rest-api is running and your number is registered.
Configure
export POCKETCLAW_SIGNAL_API_URL="http://localhost:8080"export POCKETCLAW_SIGNAL_PHONE_NUMBER="+1234567890"Start
pocketpaw --signalConfiguration
| Setting | Env Variable | Description |
|---|---|---|
| API URL | POCKETCLAW_SIGNAL_API_URL | signal-cli REST API URL |
| Phone number | POCKETCLAW_SIGNAL_PHONE_NUMBER | Your registered Signal number |
| Allowed numbers | POCKETCLAW_SIGNAL_ALLOWED_NUMBERS | Comma-separated allowed numbers |
How It Works
The Signal adapter uses HTTP polling:
- Every 2 seconds, it sends
GET /v1/receive/{number}to the signal-cli API - New messages are converted to
InboundMessageevents - Responses are sent via
POST /v2/sendto the signal-cli API
No Streaming
Signal doesn’t support message editing, so responses are accumulated and sent as a complete message.
Installation
Signal support uses httpx (a core dependency), so no extra installation is needed:
curl -fsSL https://pocketpaw.xyz/install.sh | shWas this page helpful?