剪藏#AI开源提效指南#剪藏

HTTPSMS:用 Android 手机做 SMS 网关,通过 HTTP API 让你的手机收发短信!

2026 年 4 月 28 日1 分钟
分享Twitter / XTelegram微博
HTTPSMS:用 Android 手机做 SMS 网关,通过 HTTP API 让你的手机收发短信! 封面

大家好!这里是AI开源提效指南

httpsms 是一个开源的短信网关服务。它的核心逻辑非常巧妙:通过在安卓手机上安装 App 作为底层发送/接收终端,配合云端 API 服务,实现“软件定义短信”。

对于开发者来说,你不需要再去对接复杂的第三方短信平台,只需调用 httpsms 提供的简洁 API,即可通过你的手机号直接发送短信,甚至通过 Webhook 将收到的短信推送到你的服务器。

核心理念:你的 Android 手机就是短信网关,通过 HTTP API 控制,完全自托管,数据完全掌控。

而且支持:PHP、Javascript、Python、curl、Go、c-sharp、Java 等主流语言直接调用!

Notion image

🏗️ 架构设计

HTTPSMS 由三个部分组成:

JAVASCRIPT
┌─────────────────────────────────────────────────────┐
│                    你的应用/脚本                      │
│              调用 HTTP API: /v1/messages/send        │
└──────────────────────┬──────────────────────────────┘
                       │ HTTP 202 Accepted
                       ▼
┌─────────────────────────────────────────────────────┐
│              httpSMS API (Go + Fiber)               │
│  - 接收消息请求 → 推送到 Push Queue                    │
│  - 异步处理 → 通过 FCM 通知 Android App                │
│  - 接收发送结果 → 返回状态                             │
└──────────────────────┬──────────────────────────────┘
                       │ Firebase Cloud Messaging
                       ▼
┌─────────────────────────────────────────────────────┐
│           Android App (Kotlin + Material Design)    │
│  - 接收 FCM 推送通知                                  │
│  - 调用 Android SMS API 发送短信                      │
│  - 返回发送结果给 API                                 │
│  - 收到的短信可转发到 Webhook                          │
└─────────────────────────────────────────────────────┘

消息发送流程

  1. 用户 → 调用 /v1/messages/send API

  2. API → 推送通知到队列

  3. API → 立即返回 202 Accepted

  4. 队列 → 异步发送 FCM 推送给 Android 手机

  5. Android App → 收到推送 → 调用 Android SMS API 发送

  6. Android App → 返回发送结果

  7. Android App → 发送送达报告

关键设计:API 立即返回 202,实际发送异步完成,不会阻塞你的请求。

🚀 快速开始

支持 Docker 自托管部署

具体的使用步骤,大家去看官方文档即可!描述的很详细!

文档链接见文章底部!

💻 API 使用示例

支持:PHP、Javascript、Python、curl、Go、c-sharp、Java 等主流语言!我这里给几个示例,大家可以看下调用很简单!

Go SDK

JAVASCRIPT
import "github.com/NdoleStudio/httpsms-go"

client := htpsms.New(...)

client.Messages.Send(context.Background(), &httpsms.MessageSendParams{
    Content: "这是一条测试短信",
    From:    "+18005550199",
    To:      "+18005550100",
})

JavaScript/TypeScript SDK

JAVASCRIPT
fetch('https://your-server/v1/messages/send', {
    method: 'POST',
    headers: {
        'x-api-key'"xxx",
        'Accept''application/json',
        'Content-Type''application/json'
    },
    body: JSON.stringify({
        "content""这是一条测试短信",
        "from""+18005550199",
        "to""+18005550100"
    })
})
.then(res => res.json())
.then((data) =>console.log(data));

Python 直接调用

JAVASCRIPT
import requests
import json

headers = {
    'x-api-key'"xxx",
    'Accept''application/json',
    'Content-Type''application/json'
}

payload = {
    "content""这是一条测试短信",
    "from""+18005550199",
    "to""+18005550100"
}

response = requests.post('https://your-server/v1/messages/send', headers=headers, data=json.dumps(payload))

print(response.json())

🔐 安全特性

端到端加密(E2EE)

HTTPSMS 支持 AES-256 军事级加密:

  • 🔑 加密密钥只存储在你的 Android 手机上

  • 🛡️ 即使服务器被攻破,也无法读取你的短信内容

  • 🔒 发送和接收的短信都是加密传输

速率控制(Back Pressure)

JAVASCRIPT
# 设置每分钟最多发送 3 条短信
# 即使你一次性调用 100 次,实际也只会按 3/分钟的速度发送

可以自定义自己的发送频率!

消息过期

JAVASCRIPT
# 设置消息有效期为 5 分钟
# 如果 5 分钟内手机没有收到推送,消息自动过期并通知你

解决 Android 推送延迟导致短信发送失败的问题。

💡 典型使用场景

  • 2FA 验证码:为你的个人应用或内部系统搭建低成本的身份验证系统。

  • 运维告警:当服务器宕机或 CPU 飙升时,第一时间通过手机发送告警短信,不依赖邮件或推送,到达率更高。

  • 自动化测试:在开发过程中自动接收并验证短信验证码。

  • 物联网设备通知:让没有直接连接网络的设备也能通过手机通信回传状态。

🆚 与其他方案对比

成本 免费(自托管)/低费用 按条收费 按条收费 硬件成本
端到端加密 ✅ AES-256 ❌ ❌ ✅ 本地
自托管 ✅ 完全支持 ❌ ❌ ✅
Webhook ✅ ✅ ✅ ❌
速率控制 ✅ ✅ ✅ ❌
消息过期 ✅ ⚠️ ❌ ❌
开源 ✅ AGPL-3.0 ❌ ❌ ❌

📚 参考资源

JAVASCRIPT
完整文档: https://docs.httpsms.com
GitHub: https://github.com/NdoleStudio/httpsms

免责声明

本文内容仅供学习交流,所述工具/方法请遵守相关平台服务条款及法律法规。如涉及第三方服务,请以官方最新政策为准。

🎯 觉得这份工具干货有用?希望收到您的支持:

  • ⭐ 星标 / 置顶公众号,第一时间解锁最新工具分享!

  • 点赞推荐」,让更多技术伙伴发现优质干货!

  • 🔗 转发给团队小伙伴,一起高效提效!

  • 💬 底部留言区,告诉我您想找的工具/项目方向!

📬 长期追踪优质开源工具

  • 关注「AI 开源提效指南」|日更开源神器,玩转技术提效!

  • 回复 【容器加速器】,即刻开启你的高效探索之旅~

原文地址: https://mp.weixin.qq.com/s?__biz=MzY5NzIxODM2MQ==&mid=2247484655&idx=1&sn=700d93b6a1234c7e47122685ac90aee9&chksm=f51f8aa05040c97c4267e91da9c324a462640db1ba3be01389a2072f694a2f605a89f4267700&mpshare=1&scene=1&srcid=04280nraGBGY2LcWvs1ZzHGM&sharer_shareinfo=d72768827fc0c89c1984179640585468&sharer_shareinfo_first=d72768827fc0c89c1984179640585468#rd

相关文章