gosms

:mailbox_closed: Your own local SMS gateway in Go

  • 所有者: haxpax/gosms
  • 平台:
  • 许可证: GNU General Public License v2.0
  • 分类:
  • 主题:
  • 喜欢:
    0
      比较:

Github星跟踪图

gosms

Your own local SMS gateway

What's the use ?

Can be used to send SMS,
where you don't have access to internet or cannot use Web SMS gateways
or want to save some money per SMS,
or have minimal requirements for personal / internal use and such

  • deploy in less than 1 minute
  • supports Windows, GNU\Linux, Mac OS
  • works with GSM modems
  • provides API over HTTP to push messages to gateway, just like the internet based gateways do
  • takes care of queuing, throttling and retrying
  • supports multiple devices at once

gosms dashboard

deployment

  • Update conf.ini [DEVICES] section with your modem's COM port.
    for ex. COM10 or /dev/USBtty2
  • Run

API specification

  • /api/sms/ [POST]
    • param mobile
      • mobile number to send message to
      • number should have contry code prefix
      • for ex. +919890098900
    • param message
      • message text
      • max length is limited to 160 characters
    • response
{
  "status": 200,
  "message": "ok"
}
  • /api/logs/ [GET]
    • response
{
  "status": 200,
  "message": "ok",
  "summary": [ 10, 50, 2 ],
  "daycount": { "2015-01-22": 10, "2015-01-23": 25 },
  "messages": [
    {
      "uuid": "d04f17c4-a32c-11e4-827f-00ffcf62442b",
      "mobile": "+1858111222",
      "body": "Hey! Just playing around with gosms.",
      "status": 1
    },
  ]
}
- message status codes
  - 0 : Pending
  - 1 : Processed
  - 2 : Error

planned features

  • Allowing multiple mobile numbers with a single message in /api/sms/
  • CRUD support for messages, possibly support cancellation of message
  • Authentication support for API
  • Adding authentication for Dashboard
  • Send an email to admin on high failure rate

building from source

On Ubuntu

  • go get github.com/haxpax/gosms
  • cd $GOPATH/src/github.com/haxpax/gosms/dashboard
  • go get
  • go build

On Windows

  • Setup GCC for go-sqlite3 package

    • For 32 bit
    • For 64 bit
    • Install
    • Add its bin dir to path, typically C:\Program Files\mingw-w64\x86_64-4.9.2-posix-seh-rt_v3-rev1\mingw64\bin
  • go get github.com/haxpax/gosms

  • cd $GOPATH/src/github.com/haxpax/gosms/dashboard

  • go get

  • go build

run dashboard executable. Copy assets, templates, conf.ini, dashboard[.exe] if you want to move to another directory db.sqlite is created at first run if not present, copy that too if its there

主要指标

概览
名称与所有者haxpax/gosms
主编程语言Go
编程语言Go (语言数: 5)
平台
许可证GNU General Public License v2.0
所有者活动
创建于2015-01-23 19:25:55
推送于2021-02-05 19:15:02
最后一次提交2020-07-07 13:49:50
发布数0
用户参与
星数1.5k
关注者数56
派生数155
提交数80
已启用问题?
问题数20
打开的问题数5
拉请求数3
打开的拉请求数0
关闭的拉请求数1
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?