Skip to content

Latest commit

 

History

History
65 lines (48 loc) · 1.68 KB

README.md

File metadata and controls

65 lines (48 loc) · 1.68 KB

SMSglue

For subscribers of VoIP.ms who use Acrobits Softphone or Groundwire, SMSglue will enable SMS text messaging.

Quick Start

$ npm install smsglue
$ node
> require('smsglue').listen(5000)

Then point your browser to localhost on port 5000.

Notes

For this to be useful, you'll want to create a reverse proxy with a proper domain and https encryption. It may also be a good idea to strip sensitive information from your access logs (see example below), as there will be access tokens and messages crossing the wire as GET requests.

nginx Example

http {
  ...

  log_format filter '$remote_addr - $remote_user [$time_local] "$req" $status $body_bytes_sent "$http_referer" "$http_user_agent"';

  server {
    listen 443 ssl;
    server_name smsglue.com;

    ssl on;
    ssl_certificate     fullchain.cer;
    ssl_certificate_key privatekey.key;

    location / {

      # Strip everything after hyphen "-" in log request
      set $req $request;
      if ($req ~ (.+)\-(.*)) { set $req $1; }
      access_log access.log filter;
      
      # Reverse Proxy
      proxy_pass http://127.0.0.1:5000;
      
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
      proxy_set_header Host $http_host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
    }
  }
}

Customization

It's possible to append custom HTML content to the end of the index.html page by setting an environment variable named BEFORE_CLOSING_BODY_TAG. For example, this can be used to include a footer and Google Analytics.