Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
@rexfng/send
Advanced tools
wrapper of sendgrid and various messaging methods to send email, text messages, and make phone calls
const Send = require('@rexfng/send')
const email = Send.helpers.email
//returns helpers which can be used for sending emails. Method returns a promise.
const Send = require('@rexfng/send')
const email = Send.helpers.email
email({
from: "John<john@example.com>", // sender address
to: "Paul<paul@example.com>", // list of receivers
subject: "Welcome Message", // Subject line
text: "Welcome to our service.", // plain text body
html: "<h1>Welcome to our service.</h1>" // html body
})
//returns routes which can be used with express ex.
const express = require('express')
app = express();
app.listen(3000);
const Send = require('@rexfng/send')
app.use('/email', Send.routes.email) //POST
app.use('/sms/send', Send.routes.sms.send) //POST
app.use('/sms/webhook', Send.routes.sms.webhook)
app.use('/twixml', Send.routes.twixml)
app.use('/voice', Send.routes.voice)
The endpoint takes in JSON Body in the following format http://localhost:3000/sms/send POST
{
body: 'This is the ship that made the Kessel Run in fourteen parsecs?',
from: '+16468635472',
to: ['+16047123445', '+16041234456']
}
Response Code
CODE | MESSAGE | Details |
---|---|---|
200 | SUCCESS | OK |
500 | INTERNAL_ERROR | Server side error |
Response LINK
{
"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"api_version": "2010-04-01",
"body": "This is the ship that made the Kessel Run in fourteen parsecs?",
"date_created": "Thu, 30 Jul 2015 20:12:31 +0000",
"date_sent": "Thu, 30 Jul 2015 20:12:33 +0000",
"date_updated": "Thu, 30 Jul 2015 20:12:33 +0000",
"direction": "outbound-api",
"error_code": null,
"error_message": null,
"from": "+15017122661",
"messaging_service_sid": null,
"num_media": "0",
"num_segments": "1",
"price": null,
"price_unit": null,
"sid": "MMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"status": "sent",
"subresource_uris": {
"media": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages/SMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Media.json"
},
"to": "+15558675310",
"uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages/SMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.json"
}
Provide Twilio this endpoint as a webhook and have responses logged in DB {"type": "twilio-webhook"}
http://localhost:3000/sms/webhook POST
Provide Twilio this endpoint as a webhook and have responses logged in DB http://localhost:3000/voice POST
{
url: 'http://demo.twilio.com/docs/voice.xml',
to: '+123456789',
from: '+987654321'
}
Response TWIML
{
"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"annotation": null,
"answered_by": null,
"api_version": "2010-04-01",
"caller_name": null,
"date_created": "Tue, 31 Aug 2010 20:36:28 +0000",
"date_updated": "Tue, 31 Aug 2010 20:36:44 +0000",
"direction": "inbound",
"duration": "15",
"end_time": "Tue, 31 Aug 2010 20:36:44 +0000",
"forwarded_from": "+141586753093",
"from": "+987654321",
"from_formatted": "+987654321",
"group_sid": null,
"parent_call_sid": null,
"phone_number_sid": "PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"price": "-0.03000",
"price_unit": "USD",
"sid": "CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"start_time": "Tue, 31 Aug 2010 20:36:29 +0000",
"status": "completed",
"subresource_uris": {
"notifications": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Calls/CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Notifications.json",
"recordings": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Calls/CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Recordings.json",
"feedback": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Calls/CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Feedback.json",
"feedback_summaries": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Calls/FeedbackSummary.json",
"payments": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Calls/CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Payments.json"
},
"to": "+123456789",
"to_formatted": "+123456789",
"uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Calls/CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.json"
}
Generate Twixml Endpoint with Mustache engine. If template is empty, it renders no content.
GET Query
?template={template_id}&key1=value1&key2=value2
FAQs
send email with restful api
The npm package @rexfng/send receives a total of 1 weekly downloads. As such, @rexfng/send popularity was classified as not popular.
We found that @rexfng/send demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.