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

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

查看所有标签

猜你喜欢:

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

移动的帝国

移动的帝国

曾航、刘羽、陶旭骏 / 浙江大学出版社 / 2014-1-1 / 48.00

日本是全世界移动互联网最发达的国家之一,堪称移动的帝国。在手机游戏、手机支付、移动医疗、移动电子商务、手机电视等方面,日本都充当了全球移动互联网的试验田。 曾经傲视全球的日本运营商将怎样面对转型的挑战?iPhone来势汹汹,如何打破封闭的日本移动互联网体系?日本在智能手机时代的手机游戏、O2O、移动医疗、移动广告等方面,涌现出了哪些值得借鉴的商业模式? 本书作者团队先后数次前往日本调研......一起来看看 《移动的帝国》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

SHA 加密
SHA 加密

SHA 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具