Releases: machinal-agency/simwire
Release list
simwire 0.2.0
Added
- The session recovers on its own. Wi-Fi drops, phones sleep, laptops move
between networks; the SDK now retries with a growing delay and rediscovers the
phone each time, since one rejoining a network can come back on another
address. Newreconnectingandreconnectedevents, aconnectedflag, and
simulateDrop()on the mock so you can test your own handling.
Asend()issued while the session is down waits for it instead of failing. - Unpairing, from either side.
npx simwire unpairforgets the phone on
your machine; the app's Health screen revokes the token and stops the
gateway.
Install
Download simwire-0.2.0.apk below, or update over your existing install: the
pairing is kept.
npm install simwire@0.2.0Every permission the app asks for is explained on the
download page.
Verify what you downloaded
This app is installed outside the Play Store, so check that the file you got is
the file we built:
3e52d50f06f4099551a7da4f5c457492899287a01d56aec7aeb35a5fb5e295c7 simwire-0.2.0.apk
sha256sum -c simwire-0.2.0.apk.sha256 # Linux
shasum -a 256 simwire-0.2.0.apk # macOSThe APK is a signed release build; Android will refuse to install it over a
copy signed with a different key.
Still true
LAN only for now: to reach a phone from a remote server, put both on a Tailscale
network and pass connect({ host }). Delivery reports depend on the carrier.
Not for bulk messaging.
simwire 0.1.0
Turn your Android phone into a local SMS gateway for your code.
Install
Download simwire-0.1.0.apk below and open it on your phone. Android will ask
you to allow installs from this source; you can revoke that right after.
Then open the app, turn the three checks in Health green, and pair:
npm install simwire
npx simwire pairScan the QR from your terminal. Phone and computer must be on the same network.
Every permission the app asks for is explained on the
download page.
What works
- QR pairing over the LAN; the token never leaves your two devices
- Sending, with real carrier statuses: queued, sent, delivered
- Receiving, pushed straight to your machine — no public webhook, no tunnel
- A durable queue: a killed app resumes where it left off
- Dual-SIM routing, mDNS discovery, boot autostart
Known limits
- LAN only. To reach a phone from a remote server, put both on a Tailscale
network and passconnect({ host }). A native relay mode is planned. - The SDK does not reconnect automatically yet; call
connect()again on
disconnect. - Delivery reports depend on the carrier and may never arrive.
- Not for bulk messaging: carriers throttle and ban SIMs that spam.