Skip to content

Instantly share code, notes, and snippets.

@b225ccc-zz
b225ccc-zz / range.js
Last active August 29, 2015 14:19
LineRate: Range header attack mitigation
'use strict';
var vsm = require('lrs/virtualServerModule');
var parseRange = require('range-parser');
// Change config as needed.
var config = {
vs: 'vs_http', // name of virtual-server
max_range_value: 1e9, // 1 GB
max_ranges: 10
@b225ccc-zz
b225ccc-zz / affinity.js
Last active August 29, 2015 14:14
LineRate Node.js script: memcache and scripting session ID persistence
"use strict";
var vsm = require("lrs/virtualServerModule");
var cookie = require("cookie");
var async = require("async");
var memcache = require('memcache');
// Change config as needed.
var config = {
session_id_key: "connect.sid", // session-id key being used
@b225ccc-zz
b225ccc-zz / uri_trailing_slash.js
Created January 12, 2015 23:07
LineRate snipper: URI trailing slash
'use strict';
var vsm = require('lrs/virtualServerModule');
var trailing_slash_re = /\/$/;
vsm.on('exist', 'vs_http', function (vs) {
console.log("Script ' + __scriptname +
' installed on Virtual Server ' +
vs.id + '");
@b225ccc-zz
b225ccc-zz / lowercase_uri.js
Created January 12, 2015 23:06
LineRate snippet: Lowercase URI
'use strict';
var vsm = require('lrs/virtualServerModule');
vsm.on('exist', 'vs_http', function (vs) {
console.log("Script ' + __scriptname +
' installed on Virtual Server ' +
vs.id + '");
vs.on('request', function (servReq, servResp, cliReq) {
@b225ccc-zz
b225ccc-zz / pixel_ratio.js
Created October 28, 2014 16:24
LineRate Node.js script: Conditional high-res image serving with LineRate
'use strict';
var vsm = require('lrs/virtualServerModule');
var url = require('url');
var cookie = require('cookie');
// append this to image names for highres
var suffix = '@2x';
// image types to check for highres
@b225ccc-zz
b225ccc-zz / echo_server.js
Last active August 29, 2015 14:06
Node echo server
'use strict';
var http = require('http');
var port = process.argv[2] || 15000;
var ip = process.argv[3] || '127.0.0.1';
var counter = 0;
http.createServer(function (req, res) {
req.setEncoding('utf8');
@b225ccc-zz
b225ccc-zz / referer_blocking.js
Last active August 29, 2015 14:06
LineRate snippet: HTTP referer based blocking
'use strict';
var vsm = require('lrs/virtualServerModule');
var domain_whitelist = [
/^.*\.?example\.com$/,
/^.*\.?other-permitted-site\.com$/
];
vsm.on('exist', 'vs_http', function (vs) {