Gammu SMSD

栏目: 服务器 · 发布时间: 6年前

内容简介:查看usb 网卡modem

安装gammu配置网卡

apt-get install gammu

查看usb 网卡modem

ls /dev/ttyUSB*

大部分网卡使用的是最后一个,如 ls /dev/ttyUSB*,看刀最大数值为2,则使用ttyUSB2

# ls /dev/ttyUSB*
/dev/ttyUSB0  /dev/ttyUSB1  /dev/ttyUSB2

安装完成运行gammu-config配置,配置文件会保存在~/.gammurc

gammu-config

port设置为/dev/ttyUSB2,connection为at19200,随后保存。

使用gammu identify 确认port设置是否正确

gammu identify
###如有一下信息,则说明配置正确
Device               : /dev/ttyUSB3
Manufacturer         : ZTE
Model                : unknown (MF110)
Firmware             : BD_UCP671A2V1.0.1B01
IMEI                 : 564226008907948
SIM IMSI             : 160215867486905

使用gammu-smsd接收短信

# apt-get install  gammu-smsd -y
​

编辑/etc/gammu-smsdrc

# Configuration file for Gammu SMS Daemon
​
# Gammu library configuration, see gammurc(5)
[gammu]
# Please configure this!
port = /dev/ttyUSB2
connection = at19200
# Debugging
#logformat = textall
​
# SMSD configuration, see gammu-smsdrc(5)
[smsd]
service = file
logfile = syslog
#RunOnReceive = /root/smsRecv
# Increase for debugging information
debuglevel = 0
​
# Paths where messages are stored
inboxpath = /var/spool/gammu/inbox/
outboxpath = /var/spool/gammu/outbox/
sentsmspath = /var/spool/gammu/sent/
errorsmspath = /var/spool/gammu/error/
​

在其他手机上发短信或收验证码,测试配置是否可用,如果没问题的话,在/var/spool/gammu/inbox可以看刀短信已经收到。

短信转发到telegram bot

自定义脚本,/root/smsRecv

#!/bin/sh
TOKEN="14f83897:AAFUtqrFRdjk2jdl24nfafHjsQNPu85"
CHAT_ID=9929456
URL="https://api.telegram.org/bot$TOKEN/sendMessage"
for i in `seq $SMS_MESSAGES` ; do
      eval " curl -s -X POST $URL -d chat_id=$CHAT_ID -d text=\"\${SMS_${i}_TEXT}\"" 
done
​

在telegram种找刀@BotFather,创建一个新bot,创建完成后发一条消息给bot,然后打开 https://api.telegram.org/bot {TOKEN}/getUpdates (将“{TOKEN}”替换为刚创建完的bot的api token),获取CHAT_ID,随后修改/etc/gammu-smsdrc,将service修改为null,添加RunOnReceive=/root/smsRecv。

重启smsd服务

systemctl restart gammu-smsd

Link: http://wenbinwu.com/%E7%82%B9%E7%82%B9%E6%BB%B4%E6%BB%B4/2018/04/25/raspberry-pi-sms.html

nodejs 转发telegram

安装nodejs和yarn:

nodejs

curl -sL https://deb.nodesource.com/setup_11.x | bash -
apt-get install -y nodejs

yarn

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

新建目录gammu-telegram,新建package.json、index.js:

# cat package.json 
{
  "name": "gammu-telegram",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "dependencies": {
    "axios": "^0.18.0",
    "socks-proxy-agent": "^4.0.1"
  }
}
# cat index.js 
#!/usr/bin/node
const fs = require('fs')
const path = require('path')
const axios = require('axios')
const SocksProxyAgent = require('socks-proxy-agent')
​
const botToken = "14f83897:AAFUtqrFRdjk2jdl24nfafHjsQNPu85"
const chatId = 9929456
​
//代理设置
​
//const proxyOptions = 'socks5://127.0.0.1:1080' 
//const httpsAgent = new SocksProxyAgent(proxyOptions)
​
//无代理
const client = axios.create({ baseURL: `https://api.telegram.org/bot${botToken}`})
//使用代理
//const client = axios.create({ baseURL: `https://api.telegram.org/bot${botToken}`, httpsAgent})
​
// fs.writeFileSync(path.resolve(__dirname + '/env'), JSON.stringify(process.env))
const { SMS_1_NUMBER, SMS_1_TEXT, DECODED_0_TEXT } = process.env
​
let smsData
​
if (DECODED_0_TEXT) {
  smsData = DECODED_0_TEXT
} else {
  smsData = SMS_1_TEXT
}
​
async function main() {
  await client.post('/sendMessage', {
    chat_id: chatId,
    text: "Phone Number: `" + SMS_1_NUMBER + "`\n" + "Tag: #sms\nData: `" + smsData + "`",
    parse_mode: 'Markdown'
  })
}
​
main()
  .catch(err => console.log(err))
​

然后执行

yarn install 
chmox +x index.js

之后将/etc/gammu-smsdrc 中RunOnReceive修改为/root/gammu-telegram/index.js, 重启smsd。

# cat /etc/gammu-smsdrc 
# Configuration file for Gammu SMS Daemon
​
# Gammu library configuration, see gammurc(5)
[gammu]
# Please configure this!
port = /dev/ttyUSB2
connection = at19200
# Debugging
logformat = textall
​
# SMSD configuration, see gammu-smsdrc(5)
[smsd]
service = null
logfile = syslog
#RunOnReceive = /root/smsRecv
RunOnReceive = /root/gammu-telegram/index.js
# Increase for debugging information
debuglevel = 0
​
# Paths where messages are stored
inboxpath = /var/spool/gammu/inbox/
outboxpath = /var/spool/gammu/outbox/
sentsmspath = /var/spool/gammu/sent/
errorsmspath = /var/spool/gammu/error/
​
systemctl restart gammu-smsd

开机启动smsd

systemctl enable gammu-smsd

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Python编程

Python编程

[美]埃里克·马瑟斯 / 袁国忠 / 人民邮电出版社 / 2016-7-1 / CNY 89.00

本书是一本针对所有层次的Python 读者而作的Python 入门书。全书分两部分:第一部分介绍用Python 编程所必须了解的基本概念,包括matplotlib、NumPy 和Pygal 等强大的Python 库和工具介绍,以及列表、字典、if 语句、类、文件与异常、代码测试等内容;第二部分将理论付诸实践,讲解如何开发三个项目,包括简单的Python 2D 游戏开发如何利用数据生成交互式的信息图......一起来看看 《Python编程》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具