All checks were successful
BuildImage / build-image (push) Successful in 43s
SMS接收服务器
一个为 SmsForwarder 提供 webhook 通道支持的服务端平台,具备实时接收短信、自动提取验证码、历史记录查询等功能。
核心功能
- 📥 短信接收:支持来自 SmsForwarder 的 webhook 消息接入
- 🔎 验证码自动提取:自动识别短信中的验证码
- 🗂 历史记录查询:支持按手机号和时间段查询
- 🔄 实时更新:前端自动刷新获取新消息
- 🌐 多平台兼容:支持 Web 界面和 API 调用
项目结构概览
sms_server
├── backend # 后端服务
│ ├── main.py # FastAPI 应用入口
│ ├── routes # API 路由
│ ├── services # 核心业务逻辑
│ ├── models # 数据库与 Pydantic 模型
│ ├── middlewares # 日志等中间件
│ ├── utils # 工具模块
│ └── config # 配置模块
├── frontend # 前端模板和静态资源
├── data # 数据文件夹 (SQLite)
├── Dockerfile # Docker 支持
├── sms_service.sh # systemd 服务安装脚本
├── requirements.txt # Python 依赖
└── README.md # 项目说明
快速安装
方式1:本地安装运行
git clone <仓库地址>
cd sms_server
pip install -r requirements.txt
cp .env.example .env # 并根据需要修改配置
uvicorn backend.main:app --host 0.0.0.0 --port 8322 --reload
方式2:Docker 一键部署
docker build -t sms-server .
docker run -d --name sms-server -p 8322:8322 -v $(pwd)/data:/app/data sms-server
方式3:注册为 systemd 服务
sudo bash sms_service.sh
sudo systemctl status sms-webhook.service
配置教程(带图示)
图片示例:
https://sms.nextmind.space/v1/sms/receive
以及
{
"from": "{{FROM}}",
"contact_name": "{{CONTACT_NAME}}",
"phone_area": "{{PHONE_AREA}}",
"sms": "{{SMS}}",
"sim_slot": "{{CARD_SLOT}}",
"sim_sub_id": "{{CARD_SUBID}}",
"device_name": "{{DEVICE_NAME}}",
"receive_time": "{{RECEIVE_TIME}}"
}
常用 API 示例
📩 接收短信
POST /v1/sms/receive
{
"from": "+1234567890",
"contact_name": "验证码服务",
"sms": "您的验证码是: 123456,请在5分钟内使用。",
"sim_slot": "13800138000",
"receive_time": "2023-04-01T12:00:00Z"
}
🔎 查询验证码
GET /v1/sms/code?phone_number=13800138000
🗂 获取历史记录
GET /v1/sms/history?limit=10&offset=0
前端界面
- 首页:
http://<你的IP>:8322/
- 在线文档:
http://<你的IP>:8322/docs
前端支持功能:
- 查看最近短信
- 按手机号快速查询验证码
- 详细查看短信内容
开发与贡献
欢迎提 issue 或 pull request,让这个项目变得更好!
许可证
MIT License,详情请见 LICENSE 文件。
Description
Languages
JavaScript
46%
Python
26.5%
HTML
17.3%
CSS
8.1%
Shell
1.6%
Other
0.5%