{"id":13494289,"url":"https://github.com/knownsec/gsm","last_synced_at":"2025-06-19T00:08:41.177Z","repository":{"id":71272463,"uuid":"176081145","full_name":"knownsec/gsm","owner":"knownsec","description":"使用树莓派配合硬件来进行短信转发","archived":false,"fork":false,"pushed_at":"2019-05-08T04:01:32.000Z","size":31420,"stargazers_count":342,"open_issues_count":3,"forks_count":83,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-03-28T13:39:38.190Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/knownsec.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-03-17T09:35:33.000Z","updated_at":"2025-01-11T01:40:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"402b354f-ca22-4009-bf2b-df236ea3d459","html_url":"https://github.com/knownsec/gsm","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/knownsec/gsm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knownsec%2Fgsm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knownsec%2Fgsm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knownsec%2Fgsm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knownsec%2Fgsm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/knownsec","download_url":"https://codeload.github.com/knownsec/gsm/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knownsec%2Fgsm/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260654686,"owners_count":23042679,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T19:01:23.516Z","updated_at":"2025-06-19T00:08:36.156Z","avatar_url":"https://github.com/knownsec.png","language":"Go","funding_links":[],"categories":["Go","Go (531)"],"sub_categories":[],"readme":"\n## **硬件短信转发小工具**\n\n这是利用树莓派结合硬件模块，用来规避骚扰电话和信息泄漏的一个小工具.\n\n需要的硬件如下：\n\n* 树莓派    淘宝价格：220 RMB\n\n---\n\n* 乌金甲外壳 铝合金外壳带双风扇  淘宝价格：60 RMB（不是必须）\n* 直插三极管NPN SS8050  0.05 RMB （不是必须）\n\n---\n* GSM900A  淘宝价格：40-50 RMB\n* CH340    淘宝价格：5-10  RMB\n\n**上面两件可以替换为**\n\n* 移远EC20 淘宝价格：150-200 RMB\n* 4G模块Mini-PCIE转USB转接板 淘宝价格：20RMB\n* 4G天线           淘宝价格：5RMB\n\n**IoT开发模块**\n\n* ESP8266(IoT)      淘宝价格: 20RMB\n* 温湿度传感器DHT11   淘宝价格: 5-10RMB\n\n---\n\n### **如何安装**\n\n```\n$ sudo apt -y install golang minicom\n$ mkdir gopath\n$ export GOPATH=./gopath\n$ git clone https://github.com/rungobier/gsm.git\n$ cd gsm\n$ ./install init  #编译环境环境初始化\n$ ./install arm  gsm  #编译出树莓派控制中心版本\n$ ./install linux  wxs  #编译出微信外网服务器64位版本\n$ scp ./bin/wxs-lin64 \u003c公网VPS实际路径下\u003e\n$ scp ./wxs-config.json \u003c公网VPS实际路径下\u003e\n$ scp ./bin/gsm-arm \u003c树莓派实际路径下\u003e\n$ scp ./src/gsm-config.json \u003c树莓派实际路径下\u003e\n## 配置好文件后可以继续后续操作\n【树莓派系统下操作】\n$ ./gsm-arm gsm-config.json\n【公网VPS系统下操作】\n$ ./wxs-lin64 wxs-config.json\n```\n其中，项目中需要一些相应的库，但是因为众所周知的原因，在国内很难把它们下载回来，所以我把它们打包成了项目里面的vendor.tar.gz ，在执行初始化的时候展开。\n\n如果需要判定是否是硬件模块的原因，可以使用 `minicom -D /dev/ttyUSB3 -b 115200`，在其中的界面当中执行 AT指令进行指令测试判定。\n\n\n\n\n\n### **如何配置**\n针对*-config.json的配置文件信息说明如下:\n\n```\n{\n  \"device\": \"/dev/ttyUSB3\",  //短信接收硬件所对应的设备号 SIM900A加CH340默认为 /dev/ttyUSB0\n  \"baudrate\": 115200,    //短信接收硬件设备通讯频率    SIM900A 应该为9600\n  \"sleep\": 5,            //出现错误时的休眠时间\n  \"sendmail\": false,     //是否以发送邮件方式推送收到的短消息\n  \"mailfrom\": \"12345678@qq.com\",  //发送邮箱账号\n  \"mailto\": \"12345678@qq.com\",    //接收邮箱账号\n  \"mailpass\": \"alksdjfiqwuyrasjdf\",  //邮箱授权码\n  \"mailserver\": \"smtp.qq.com\",     //发送邮件服务器\n  \"mailserverport\": 587,           //发送邮件服务器端口\n  \"sendwx\": true,                  //是否以微信小程序方式推送短消息\n  \"wxcorpid\": \"wwc99f328ac88hasjdhf1c\", //企业微信ID\n  \"wxcorpsecret\": \"alksdjfklajsdflkajsdlfkjalskdfjl\", //企业微信自建应用密钥\n  \"wxagentid\": 1000011,  //企业微信自建应用编号\n  \"wxuser\": \"HAHAHAHHAHA\",  //能够接收消息的账号ID\n  \"checkcputemp\": true,  //是否检测CPU温度\n  \"tempinterval\": 10,   //温度检测间隔时间\n  \"cpufanstart\":  55,   //启动风扇温度值\n  \"cpufanconpin\": 21,   //控制风扇开关的GPIO pin脚编号\n  \"cputempfile\": \"/sys/class/thermal/thermal_zone0/temp\" //保存CPU温度的文件完整路径\n  \n  \"aeskey\": \"akjsdflkjasdlkfjal;skdjflkasdjflkajsdf\",  //对应微信接收消息的EncodingAESKey加密密钥\n  \"token\": \"aklsdjflkajsdflk;jasdlkfjlaksdjf\", //对应微信接收消息的token\n  \"secretword\": \"aslkdfjlaksdjflkajsdf;cf1e\",  //中转服务器的验证口令\n  \"headerserver\": \"nginx\",                    //中转服务器伪装为何种服务器信息\n  \"fakebody\": \"\u003chtml\u003e\u003cbody\u003e\u003ch1\u003eIt works!\u003c/h1\u003e\u003c/body\u003e\u003c/html\u003e\",  //中转服务器伪装页面\n  \"targeturl\": \"https://88.88.88.88/\",  //对应微信接收消息的中转服务器URL\n  \"bdyykey\": \"asdkfjlkjLKJDLKSDJF\",     //百度AI语音识别 key\n  \"bdyysecret\": \"SKLDJFKLSJDFSlkajsdfkljalsdjf\",  //百度AI语音识别 secret\n  \"cuid\": \"f123sadfj23234\",    //百度AI语音识别ID\n  \"port\": 443,                 //中转服务器开放端口\n  \"ssl\": true,                 //中转服务器是否是https\n  \"checkurl\": \"/check\",        //中转服务器校验URL\n  \"certfile\": \"./server.pem\",  //证书文件\n  \"keyfile\": \"./server.key\",   //证书文件\n  \"cmdfile\": \"/tmp/test.txt\"  //扩展指令文件路径\n}\n```\n\n---\n\n针对config.json中的cmdfile的配置文件信息说明如下：\u0010\u0010\n\n\n\t开灯::http://192.168.1.14/led/on\n\t关灯::http://192.168.1.14/led/off\n\t温度::http://192.168.1.14/temp\n\t湿度::http://192.168.1.14/humi\n\n以::为分隔符,其中的IP地址为ESP8266连接WIFI获得的IP地址,可以自行扩展指令\n\n---\n\nQQ邮箱建立授权码的方法如下：\n\n[QQ邮箱帮助](https://service.mail.qq.com/cgi-bin/help?subtype=1\u0026id=28\u0026no=1001256)\n\n微信开通QQ邮箱提醒方法链接如下：\n\n[百度经验](https://jingyan.baidu.com/article/597a064374d11d312a52434c.html)\n\n个人开通企业微信的方法如下，只是个人使用不需要进行企业认证：\n\n[企微学院](http://wbg.do1.com.cn/xueyuan/1681.html)\n\n在建立好的企业微信当中可以建立一个自建应用\n\n[企业自建应用](https://open.work.weixin.qq.com/wwopen/helpguide/detail?t=selfBuildApp)\n\n企业应用开启接收消息\n\n[企业应用接收消息](https://work.weixin.qq.com/api/doc#90000/90135/90237)\n\n百度AI开放平台\n\n[百度AI开放平台](https://ai.baidu.com/)\n\n百度语音识别\n\n[百度语音识别](https://ai.baidu.com/docs#/ASR-API/top)\n\n三极管控制风扇参考\n\n[杨仕航的博客](http://yshblog.com/blog/55)\n\nSIM900 AT指令手册\n\n[AT指令手册](https://www.espruino.com/datasheets/SIM900_AT.pdf)\n\nEC20 AT指令手册\n\n[AT指令手册](https://docs-asia.electrocomponents.com/webdocs/147d/0900766b8147dbbc.pdf)\n\nESP8266烧录\n\n[烧录过程](https://www.wandianshenme.com/play/esptooolpy-flash-espeasy-firmware/)\n\nESP8266固件\n\n[固件申领](https://nodemcu-build.com/)\n\nESP8266 httpserver\n\n[ESP8266 httpserver](https://github.com/wangzexi/NodeMCU-HTTP-Server.git)\n\n\n### **问题**\n\n* 在使用SIM900A 作为短信接收设备时，不建议使用联通卡，除非你确信附近的联通基站还在开通2G\n* 从个人的使用效果来看，极力推荐使用4G模块，因为不论是从性能上，还是稳定性以及安全角度来看，4G模块都是首选选择，其次建议购买天线。\n* SIM900A的AT指令与EC20的指令有些细节点上不一样，需要修改一下代码，我将会在代码当中注释出来\n* 编译好的二进制程序持续运行加入进rc.local文件，如果使用了4G模块，建议sleep 10秒以上，不然有极大概率会启动失败，怀疑是硬件本身没有初始化好设备文件导致的。\n* 腾讯的语音识别在企业版免费应用上未开通,只能使用百度的,总体感觉百度的语音识别相对腾讯要稍差一些.\n* ESP8266 是一个很不错的IoT开发模块,推荐大家购买\n\n### **可扩展功能**\n* 目前硬盘或主机的开关机，文件的下载, IoT的控制以及发送短信,拨打电话都已经实现。\n* 目前测试通过的是QQ邮箱，其他邮箱应该是同理的，需要做测试。\n* 经过验证,目前已经可以跑在jetson nano上了,不过需要定制内核并重新编译\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknownsec%2Fgsm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fknownsec%2Fgsm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknownsec%2Fgsm/lists"}