smsglue
                                
                                 smsglue copied to clipboard
                                
                                    smsglue copied to clipboard
                            
                            
                            
                        VoIP.ms SMS to Acrobits Softphone/Groundwire
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.