Add temp-SMS tool (SMSPool-backed temp-number marketplace) to Pleiades

- sms.py: NumberProvider abstraction + SMSPoolProvider + routes (/sms, rent, poll, release) + admin (/admin/sms)
- Reuses existing sats wallet + BTCPay deposit flow; charges per-rental against balance_sats
- Code detection, lazy expiry/release, per-user session limit, per-IP rate limit
- Verified end-to-end: rented Discord US +1 534 251 1825, wallet 5000->3500 sats, release refunded SMSPool to $7.45
This commit is contained in:
drjones
2026-09-20 19:34:25 -07:00
parent 74268306d0
commit 48305b4ad1
6 changed files with 789 additions and 0 deletions

View File

@@ -18,6 +18,12 @@
<div class="card stat"><span class="lbl">Dedicated IPs</span><span class="val">{{ dedicated|length }}</span></div>
</div>
<div class="card" style="margin-top:18px">
<h3>Temporary SMS</h3>
<p class="muted">Manage the temp-number marketplace: pricing, sessions, provider balance.</p>
<a href="/admin/sms" style="display:inline-block;background:linear-gradient(135deg,#0ff,#0af);color:#00141a;padding:10px 18px;border-radius:10px;font-weight:700;text-decoration:none">Open SMS admin →</a>
</div>
<div class="card" style="margin-top:18px">
<h3>Credit a user</h3>
<form method="post" action="/admin/credit" style="display:flex;gap:10px;align-items:flex-end">