unblocker
Version:
Web proxy for evading internet censorship & general-purpose library for rewriting remote websites.
20 lines (14 loc) • 467 B
JavaScript
const URL = require('url');
module.exports = function({ blockedDomains, message }) {
function isRequestBlocked(data) {
const { hostname } = URL.parse(data.url);
return blockedDomains.some(blockedDomain => hostname === blockedDomain || hostname.endsWith(`.${blockedDomain}`));
}
function checkBlacklist(data) {
if (isRequestBlocked(data)) {
data.clientResponse.status(400).send(message)
}
}
return checkBlacklist;
};
;