今天咱们聊聊一个特别接地气、却又超级实用的技术——把一部闲置的安卓手机,变成一台免费的短信发送和接收“中转站”。你有没有过这样的烦恼?比如家里的智能门锁需要发验证码报警、电商小店要给老客户发促销通知、或者开发者测试App的短信登录功能,却被Twilio、阿里云短信服务那些按条收费的平台坑得心疼?一条短信几分钱,听起来便宜,可批量一发就是几百上千块。更别提注册账号、实名认证、审核流程那一堆麻烦事儿。
现在,有个开源项目直接解决了这个问题:android-sms-gateway(GitHub地址:https://github.com/capcom6/android-sms-gateway)。它能把任何一部安卓5.0以上的手机,瞬间变成支持REST API的短信网关。你不用买服务器,不用租SIM卡池,不用交月费,只需要一部旧手机、一张能上网的SIM卡,就能通过HTTP请求随意收发短信,还支持Webhook实时推送。听起来像科幻?其实这就是当下开源社区最朴实的黑科技——用大家手里的“废物”,干出专业级的事儿。

先从头说起:短信到底是什么?为什么还需要“网关”?
短信,全称Short Message Service(SMS),诞生于上世纪80年代末的GSM移动通信标准。1992年12月3日,英国沃达丰的工程师Neil Papworth给同事发了世界上第一条短信:“Merry Christmas”。当时谁也没想到,这短短160个字符(后来扩展到70个中文字符)的“鸡肋”功能,会在全球掀起一场通信革命。
为什么短信这么“老”却依然活得好好的?因为它有几个硬核优势:
• 不依赖互联网:哪怕手机没Wi-Fi、没4G/5G,只要有信号就能收到。 • 高可靠性:银行、政务、医疗系统都爱用它做二次验证。 • 全球覆盖:几乎所有运营商都支持,跨国也行。
但问题来了:个人或小团队想批量发送的时候,怎么办?手动一条条点,太累;用运营商的“企业短信”服务,又要备案、押金、审核。商业短信平台(如Twilio、MessageBird、国内的云片、融云)应运而生,它们本质上就是“短信网关”——把你的HTTP请求翻译成运营商的短信协议,再帮你发出去,顺便收手续费。
传统网关的痛点很明显:
• 成本高:国内一条短信0.05-0.1元,国际更贵;每月几万条就是几千块。 • 依赖第三方:平台宕机你就抓瞎;数据隐私还得交给别人。 • 灵活性差:想加Webhook推送、想多SIM卡切换、想发MMS彩信?很多平台不支持或要额外加钱。
这时候,开源社区站出来了。android-sms-gateway就是其中最亮眼的一个。它直接把“网关”搬到你手机里,让安卓手机自己当服务器,自己调用系统SmsManager API发短信,自己处理接收逻辑。等于把Twilio的云端服务,浓缩成一部掌上设备。
这个项目到底长什么样?核心功能一览
项目作者capcom6用Kotlin写了一个轻量级安卓App(APK直接下载安装),核心就两件事:本地HTTP服务器 + 云中转模式。
1. 本地服务器模式(最推荐个人使用)
手机连上Wi-Fi或热点,打开App,点“Local Server”开关。手机立刻变成一台小服务器,监听8080端口。你在局域网内(甚至公网端口映射后)用curl、Postman或者代码,就能POST请求发短信。
示例命令超级简单(复制粘贴就能用):curl -X POST -u sms:你的密码 \
-H "Content-Type: application/json" \
-d '{"textMessage": {"text": "测试短信,来自旧手机!"}, "phoneNumbers": ["+86138xxxxxxxx"]}' \
http://手机本地IP:8080/message手机屏幕上会实时显示用户名、密码、本地IP、公网IP,超级直观。
2. 云服务器模式(适合远程控制)
如果你不在同一网络,或者想在外地控制家里的手机,打开“Cloud Server”,App会连到官方免费中转服务器(api.sms-gate.app)。同样用HTTP API,但走加密通道。适合开发者把手机放家里当“短信服务器”。
亮点功能多到让人惊喜:
• 收发双向:不但能发,还能实时接收短信,触发Webhook(比如发到你的服务器、钉钉、微信机器人)。 • MMS彩信支持:能接收带图片、附件的彩信,还会通知你下载完成。 • 多SIM卡切换:双卡手机?轻松选卡1还是卡2发短信。 • 数据短信(Data SMS):发二进制Payload,适合IoT设备加密通信、智能硬件控制。 • 状态实时追踪:发出去的短信是“已发送”“已送达”“失败”都即时反馈。 • 端到端加密:消息和手机号在离开手机前就加密,防止中间人窃听。 • Webhook事件全覆盖:sms:received、sms:delivered、sms:failed、mms:downloaded……十几种事件,随便订阅。 • 支持Android 15:作者专门适配了最新系统权限变化。
而且完全免费!Apache-2.0开源协议,你想改代码就改,想自建云服务器也行。
动手实战:从零安装到第一次发短信,只需10分钟
别被“开源”吓到,这个项目上手难度比安装微信还低。准备工作:
• 一部安卓5.0+手机(旧小米、华为、OPPO都行,最好常插电不关机)。 • 一张能正常收发短信的SIM卡(最好有流量)。 • 电脑或另一台设备用来测试。
步骤1:下载安装
去GitHub Releases页面下最新APK(建议选“secure”安全版)。手机设置里打开“未知来源安装”,点APK安装。安装完授予权限:SEND_SMS(必须)、READ_PHONE_STATE(选卡用)、RECEIVE_SMS(Webhook用)等。权限申请界面会弹窗解释,很人性化。
步骤2:启动本地服务器
打开App,首页就是“HOME”标签。点“Local server”旁边的开关,状态从“Offline”变“Online”。屏幕立刻显示:
• Local address: 10.0.2.16:8080(示例) • Public address: (如果有公网IP) • Username: sms • Password: 一串随机字符(每次重启会变,建议记下来)
步骤3:测试发短信
在电脑命令行敲上面那条curl命令,把“+86138xxxxxxxx”换成你自己的手机号。手机震动一下,短信就发出去了!对方收到“测试短信,来自旧手机!”——成功!
步骤4:进阶Webhook
想让手机收到短信后自动通知你?在App里注册Webhook:
curl -X POST -u sms:密码 \
-d '{"id": "myhook1", "url": "https://你的服务器/webhook", "event": "sms:received"}' \
http://手机IP:8080/webhooks以后有人发短信到你的手机号码,Webhook就会把完整内容(发件人、时间、正文)推给你。完美实现“短信机器人”。
云模式也差不多,只不过地址换成https://api.sms-gate.app/3rdparty/v1/message,适合在外地控制。
真实应用场景:从智能家居到小生意,处处都能用
我见过好几个开发者把这部“短信网关手机”玩出花儿来:
1. 智能家居报警神器
门磁传感器检测到入侵,用Node-RED或Home Assistant调用API发短信给主人手机:“警报!客厅门被打开了!”不用云平台,零费用,还支持多SIM备用。2. 电商/微商验证码通知
小店卖货需要短信验证下单?把旧手机当后端,客户下单后自动发“您的验证码是123456”。每月省下几百块平台费。3. IoT设备远程控制
用数据短信给户外传感器发指令(比如“开启浇水”),信号覆盖远,穿墙能力强,比LoRa还便宜。4. 开发者测试利器
写登录注册模块?本地手机直接模拟短信接收,再也不用等Twilio沙盒了。5. 应急备份
主号码欠费了?把备用手机开网关,瞬间接管所有验证短信。
真实案例里,有人用它避开了Twilio注册麻烦(回复里不少人说“No more twilio registrations”)。还有人吐槽巴西运营商有80条限制造成不兼容,但国内运营商一般一天几百条没问题(别批量营销就行)。
技术原理浅析:安卓手机如何“变身服务器”?
别以为这只是个简单App,背后技术含量不低。
安卓系统底层提供了SmsManager类(在TelephonyManager里),开发者可以调用sendTextMessage()发短信。但普通App不能直接暴露HTTP接口——这项目巧妙地用Kotlin + Jetty或类似轻量服务器,在手机上跑了一个8080端口的Web服务。
收到POST请求后:
1. 解析JSON(text + 手机号列表) 2. 调用系统API发短信(自动处理长短信分片) 3. 监听BroadcastReceiver抓取发送状态和接收事件 4. 通过Webhook把JSON推出去
加密部分更厉害:内容在离开手机前用AES加密,只有目标端解密。支持多设备负载均衡——你放三部手机连同一个云账号,短信会自动分发,相当于小型短信池。
权限管理是重点:项目严格要求用户手动授权,避免滥用。Android 6.0+的运行时权限机制在这里发挥了作用。
安全、隐私与法律注意事项:别踩坑
任何短信工具都有两面性,这个也不例外。
安全优势:
• 本地模式全在你家Wi-Fi里,数据不出门。 • 加密传输,基本认证(username/password)。 • 开源代码可审计,不像某些闭源App偷偷发垃圾。
潜在风险:
• 手机要24小时开机,电量、散热要注意(建议插充电器+散热垫)。 • 运营商反垃圾机制:一天发太多会被限速或封卡(一般个人用没事儿,营销别超500条/天)。 • 暴露公网IP时记得加防火墙或用Nginx反代。 • 别把密码泄露!项目提醒:insecure版只用于测试,生产环境必须secure版。
法律提醒(特别重要):
在中国,《个人信息保护法》和《反电信网络诈骗法》管得严。未经同意批量发营销短信属于违法,运营商会直接封号。建议只用于个人通知、验证、报警等合法场景。国外也一样,GDPR、CAN-SPAM都有规定。记住:技术无罪,用法有责。
回复里有人担心“scammers会用它发骗短信”,确实可能,但任何工具都有被滥用风险。项目本身不鼓励违法,使用者自律最重要。
和商业平台对比:省钱省心,但各有千秋
总结:如果你每月短信量在几百到几千条以内,这项目完胜;超过万条,还是商业平台更稳。
未来展望:手机网关 + 开源,会走向哪里?
随着5G、IoT普及,短信不会消失,反而会和万物互联结合。想象一下:
• 每部手机都成小型Mesh节点(回复里有人提到Wi-Fi 802.11ah硬件梦想)。 • 开源社区继续迭代:支持eSIM、AI自动回复、跨平台(iOS难但Android生态强)。 • 教育场景:学校用它发家长通知,零成本。 • 应急通信:地震、台风时,手机网关成救命通道。
作者还在更新(支持Android 15、优化MMS),社区贡献者越来越多。开源的魅力就在这里——一个人写,全球人用,一起完善。
结语:旧手机也有春天
一部被你丢在抽屉里的旧安卓手机,其实藏着无限可能。android-sms-gateway用最简单的思路,解决了很多人头疼的短信难题:免费、开源、可控、好用。无论你是程序员想省测试成本,还是普通用户想建个智能通知系统,都值得试试。
动手吧!下载APK,插上SIM卡,十分钟后你就会感叹:“原来短信网关这么简单!”当然,用的时候记得遵守法律、保护隐私。技术是为生活服务的,别让它反过来添麻烦。
如果你已经试过这个项目,欢迎在评论区分享你的玩法——是用来监控服务器报警,还是给家人发每日天气?开源世界就是这样,大家互相启发,一起把黑科技变成日常工具。
本文链接:https://kinber.cn/post/6357.html 转载需授权!
推荐本站淘宝优惠价购买喜欢的宝贝:

支付宝微信扫一扫,打赏作者吧~
