Android SMS Gateway

Polar Sponsor
爱发电 赞助
.NET 9.0

自托管短信服务,使用 Android 手机作为网关提供 HTTP API,支持发送/接收短信,兼容主流短信网关。

Android SMS Gateway. 自发托管的短信网关使用带有HTTP API集成的Android手机.Fulcontrol,没有第三方依赖性.

功能概述

Android SMS Gateway. 自发托管的短信网关使用带有HTTP API集成的Android手机.Fulcontrol,没有第三方依赖性.是一项面向实际任务的技能,主要用于Overview. 这种技能可以发送和接收短信 mes.。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

核心要点

  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

Android 短信网关

基于 Android 手机自托管的短信网关,支持通过 HTTP API 集成。完全自主可控,无任何第三方依赖。

概述

本技能通过运行短信网关应用(SMS Gateway app)的 Android 手机实现短信的发送与接收。该手机暴露一个本地 HTTP API,本技能通过该 API 发送短信并轮询已接收的短信。

支持的应用

主推方案(原始脚本)

  • SMS Gateway API(⭐ 推荐)— https://github.com/itsmeichigo/SMSGateway
  • SMSGate — https://github.com/iamsmgate/smsgate
  • SMS Forwarder — https://github.com/pppscn/SmsForwarder

capcom6/android-sms-gateway(新脚本)

  • SMS Gateway for Android — https://github.com/capcom6/android-sms-gateway
    • ✅ 端到端加密(E2E Encryption)
    • ✅ 支持本地模式 + 云服务模式 + 私有服务器模式
    • ✅ 多设备支持
    • ✅ 支持入站短信 Webhook 回调
    • ✅ 支持多收件人批量发送

快速上手

前置条件

  1. 具备短信功能的 Android 手机
  2. 在手机上安装短信网关应用
  3. 手机与 OpenClaw 主机处于同一局域网(或已配置端口转发)
  4. 在应用中启用 API 访问权限

初始化配置(仅需一次)

# 1. 在 Android 设备上安装 SMS Gateway API 应用
# 下载地址:https://github.com/itsmeichigo/SMSGateway/releases

# 2. 配置应用:
# - 启用 HTTP API 服务
# - 设置 API Token / 密码
# - 记录手机的 IP 地址和端口号(默认:8080)

# 3. 测试连通性
curl http://PHONE_IP:8080/api/v1/status -H "Authorization: Bearer YOUR_TOKEN"

# 4. 将配置保存至 TOOLS.md(参见「配置」章节)

命令

发送短信

# 基础发送
./scripts/send_sms.sh --to "+1234567890" --message "Hello from OpenClaw"

# 指定配置文件
./scripts/send_sms.sh --config ~/.openclaw/sms-gateway.json 
  --to "+1234567890" 
  --message "Alert: Security scan complete"

# 通过环境变量
export SMS_GATEWAY_URL="http://192.168.1.100:8080"
export SMS_GATEWAY_TOKEN="your-api-token"
./scripts/send_sms.sh --to "+1234567890" --message "Test message"

检查已接收短信

# 列出最近 10 条已接收短信
./scripts/receive_sms.sh --limit 10

# 查询指定时间戳之后的新消息
./scripts/receive_sms.sh --since "2026-02-22T00:00:00Z"

检查网关状态

# 验证网关是否在线
./scripts/check_status.sh

批量发送短信

# 向多个收件人发送
./scripts/bulk_sms.sh --recipients "+1234567890,+0987654321" --message "Broadcast message"

# 从文件读取号码列表(每行一个号码)
./scripts/bulk_sms.sh --recipients-file ./contacts.txt --message "Alert"

配置

方式一:环境变量

export SMS_GATEWAY_URL="http://192.168.1.100:8080"
export SMS_GATEWAY_TOKEN="your-api-token"
export SMS_GATEWAY_TIMEOUT="30"

方式二:配置文件

创建 ~/.openclaw/sms-gateway.json:

{
  "gateway_url": "http://192.168.1.100:8080",
  "api_token": "your-api-token",
  "timeout_seconds": 30,
  "default_sender": "+1234567890",
  "retry_count": 3
}

方式三:命令行参数

所有脚本均支持 --url 和 --token 参数:

./scripts/send_sms.sh --url "http://192.168.1.100:8080" --token "token" --to "+1234567890" --message "Hi"

capcom6/android-sms-gateway 配置

环境变量

export SMS_GATEWAY_URL="http://192.168.1.100:8080"  # 本地服务
# export SMS_GATEWAY_URL="https://api.sms-gate.app/3rdparty/v1"  # 云服务
export SMS_GATEWAY_USER="your-username"
export SMS_GATEWAY_PASS="your-password"
export SMS_GATEWAY_TIMEOUT="30"

配置文件

创建 ~/.openclaw/sms-gateway-capcom6.json:

{
  "gateway_url": "http://192.168.1.100:8080",
  "gateway_user": "your-username",
  "gateway_pass": "your-password",
  "server_mode": "local",
  "timeout_seconds": 30
}

使用示例

# 发送短信
./scripts/send_sms_capcom6.sh --to "+1234567890" --message "Hello"

# 使用云服务模式
./scripts/send_sms_capcom6.sh --mode cloud --to "+1234567890" --message "Hello"

# 注册入站短信 Webhook
./scripts/register_webhook_capcom6.sh --url "https://your-server.com/webhook"

# 批量发送(单次 API 调用支持多收件人)
./scripts/bulk_sms_capcom6.sh --multi --recipients "+1234567890,+0987654321" --message "Alert"

# 检查状态
./scripts/check_status_capcom6.sh

保存至 TOOLS.md

将配置信息添加至 TOOLS.md 以供后续参考:

### Android SMS Gateway

- **App:** SMS Gateway API (itsmeichigo/SMSGateway)
- **Phone:** Samsung Galaxy, IP: 192.168.1.100
- **Port:** 8080
- **Token:** Stored in ~/.openclaw/sms-gateway.json (chmod 600)

API 参考文档

详见 references/api_reference.md,其中包含各支持应用的完整 API 接口说明。

安全注意事项

网络层安全

  • 仅限局域网:尽可能将网关部署于本地网络内
  • 防火墙限制:严格限制对网关端口的访问权限
  • HTTPS:如需对外暴露服务,请启用 HTTPS(需应用支持)
  • VPN:远程访问时优先使用 VPN,避免直接端口转发

capcom6 特有安全特性

特性 优势
E2E Encryption 消息内容在 API 传输前即完成端到端加密
Private Server 可自行部署后端服务,彻底摆脱云依赖
Basic Auth 采用标准 HTTP Basic Authentication 协议
Webhooks 入站短信由设备主动推送,无需轮询

建议:为获得最高安全性,请使用 capcom6 的私有服务器(Private Server)模式: https://docs.sms-gate.app/getting-started/private-server/

认证机制

  • 强 Token:使用随机生成的 API Token(建议 ≥32 字符)
  • Token 轮换:定期更新 Token
  • 文件权限:chmod 600 ~/.openclaw/sms-gateway.json

速率限制

  • 防垃圾发送:在业务流程中主动实施发送频率限制
  • 运营商限制:遵守短信运营商速率限制(通常约 1 条/秒)
  • 队列系统:批量发送场景应使用队列机制

故障排查

网关无响应

# 检查手机网络连通性
ping PHONE_IP

# 检查 API 接口可达性
curl -v http://PHONE_IP:8080/api/v1/status

# 检查应用运行状态(在手机上操作):
# - 打开 SMS Gateway 应用
# - 确认服务已启动
# - 查看应用内日志

认证失败

# 验证 Token 是否有效
curl -v http://PHONE_IP:8080/api/v1/status -H "Authorization: Bearer YOUR_TOKEN"

# 检查 Token 格式(部分应用使用不同认证头字段)
# 具体认证方式请查阅 references/api_reference.md

短信未成功发送

# 检查手机信号强度
# 检查短信余额或套餐状态
# 查看应用内日志
# 确认收件人号码格式(必须含国家代码)

使用示例

安全告警系统

# 扫描发现异常时自动发送告警
./scripts/send_sms.sh --to "+1234567890" 
  --message "🛡️ ALERT: Vulnerability found on 192.168.1.50"

双因素认证(2FA)验证码

# 发送 2FA 验证码(可集成至自有认证系统)
CODE=$(openssl rand -base64 6 | tr -d '/+=' | head -c 6)
./scripts/send_sms.sh --to "$USER_PHONE" 
  --message "Your verification code: $CODE"

定时提醒

# 每日安全检查提醒(Cron 任务)
# crontab -e
0 9 * * * /path/to/send_sms.sh --to "+1234567890" --message "Daily security check: Review logs"

监控系统集成

# Nagios / Zabbix 告警脚本示例
#!/bin/bash
STATUS=$1
if [ "$STATUS" != "OK" ]; then
  ./scripts/send_sms.sh --to "+1234567890" --message "MONITOR ALERT: $STATUS"
fi

脚本列表

原始方案(itsmeichigo/SMSGateway)

  • scripts/send_sms.sh — 发送单条短信
  • scripts/receive_sms.sh — 获取已接收短信
  • scripts/check_status.sh — 检查网关健康状态
  • scripts/bulk_sms.sh — 批量发送短信(多收件人)

capcom6/android-sms-gateway

  • scripts/send_sms_capcom6.sh — 发送单条短信
  • scripts/register_webhook_capcom6.sh — 注册入站短信 Webhook
  • scripts/check_status_capcom6.sh — 检查网关健康状态
  • scripts/bulk_sms_capcom6.sh — 批量发送短信(支持多收件人单次 API 调用)

参考资料

  • API 参考文档 — 各支持应用的详细 API 文档
  • SMS Gateway API — 主推支持应用
  • SMSGate — 替代方案
  • SMS Forwarder — 支持短信转发的替代方案

备注

  • 字符编码:脚本原生支持 UTF-8,兼容国际化字符
  • 长短信处理:自动拆分超长消息(GSM 编码 >160 字符,Unicode 编码 >70 字符)
  • 送达回执:部分应用支持投递状态回调(详见 api_reference.md)
  • 双卡支持:若手机为双 SIM 卡,部分应用支持指定 SIM 卡槽(取决于具体应用实现)

相关专题

更多
Android语音播放功能实现方法
Android语音播放功能实现方法

实现方法有使用MediaPlayer实现、使用SoundPool实现两种。可以根据具体的需求选择适合的方法进行实现。想了解更多语音播放的相关内容,可以阅读本专题下面的文章。

2024.03.01

824

5

android重启应用的方法有哪些
android重启应用的方法有哪些

android重启应用有通过Intent、PendingIntent、系统服务、Runtime等方法。本专题为大家提供Android相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

465

5

android权限限制怎么解开
android权限限制怎么解开

android权限限制可以使用Root权限、第三方权限管理应用程序、ADB命令和Xposed框架解开。详细介绍:1、Root权限,通过获取Root权限,用户可以解锁所有权限,并对系统进行自定义和修改;2、第三方权限管理应用程序,用户可以轻松地控制和管理应用程序的权限;3、ADB命令,用户可以在设备上执行各种操作,包括解锁权限;4、Xposed框架,用户可以在不修改系统文件的情况下修改应用程序的行为和权限。

2023.09.19

3917

7

android是什么系统
android是什么系统

Android是一种功能强大、灵活可定制、应用丰富、多任务处理能力强、兼容性好、网络连接能力强的操作系统。本专题为大家提供android相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.22

2247

5

android开发三大框架
android开发三大框架

android开发三大框架是XUtil框架、volley框架、ImageLoader框架。本专题为大家提供android开发三大框架相关的各种文章、以及下载和课程。

2023.08.14

842

4

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

0

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

0

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

0

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

0

10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Excel 教程
Excel 教程

共162课时 | 44.7万人学习

Java 教程
Java 教程

共578课时 | 193.6万人学习

Uniapp从零开始实现新闻资讯应用
Uniapp从零开始实现新闻资讯应用

共64课时 | 9.6万人学习