url-sentry
v1.1.0
Published
A middleware for monitoring restricted websites
Downloads
2
Readme
URL-Sentry
URL-Sentry is a website/url monitoring tool built primarily with NodeJS, SendGrid API and Nodemailer. It is designed to:
- Monitor restricted websites using an express server.
- Send email notifications to a user when such a website is being accessed on the user’s local machine.
Getting Started
- Node.js must be pre-installed.
Module/Project Setup
In your express application install the following dependencies:
- nodemailer (version 6.4.8)
- nodemailer-sendgrid-transport (version 0.2.0)
Usage
- Install the middleware i.e "npm install url-sentry"
- Require the middleware in your entry point e.g server.js.
const url_sentry_middleware = require("url-sentry");
- Create a 'sentryOptions' object containing your API Key from sendgrid , email address ,nodemailer and nodemailer-sendgrid-transport.
const sentryOptions = {
userApiKey : "SG.xxxxxxxxxxxxxxxxxxxxxxxxxx...",
userEmail: "youremailaddress.com",
nodemailer,
nodemailer-sendgrid-transport
}
- Mount the middleware and pass in sentryOptions as argument.
app.use(url_sentry_middleware(sentryOptions);
- Add the code below to listen for '/' endpoint and display message for blocked website.
app.get("/", (req, res) => {
res.send("<h3>SORRY RESTRICTED URL</h3>");
});
const PORT = 80;
app.listen(PORT, () => {
console.log(`server is running at ${PORT}`);
});
Website Restriction
- Navigate to your 'hosts' file on your local machine through C:\Windows\System32\drivers\etc.
- Make sure you have the appropriate permissions to edit the file by checking its properties.
- Below the host file, map the website you want to restrict e.g test.com to the IP address for localhost (127.0.0.1).
Testing
- Enter the URL of the restricited website on your browser.
- Email notification starts to roll in.
Note
For security reasons your 'hosts' file should be read only by default.