Skip to content

Instantly share code, notes, and snippets.

@gdugas
gdugas / install_modsec_clamscan.sh
Created May 12, 2014 10:19
modsecurity clamav + findbot scanner
# modsecurity scanner
echo "SecRule FILES_TMPNAMES "@inspectFile /opt/modsecurity_clamdscan.sh" phase:2,t:none,log,deny" >> /etc/modsecurity/modsecurity.conf
# clamav scan script
cat >> /opt/modsecurity_clamdscan.sh << EOF
#! /bin/bash
if [ ! $1 ]; then
echo "No file to scan"
exit 1
@gdugas
gdugas / findbot-file.patch
Created May 12, 2014 10:13
findbot.pl per file detection
82c82
<
---
>
94,105c94,95
< my (@list);
< if (!opendir(I, "$dir")) {
< return if $! =~ /no such file/i;
< print STDERR "$dir: Can't open: $!, skipping\n";
< return;
@gdugas
gdugas / progressbar.js
Created March 17, 2014 13:48
BackboneJs Progressbar
var ProgressItem = Backbone.Model.extend({
defaults: {
max: 100,
value: 0
},
getValueRatio: function () {
return this.get('value') * 100 / this.get('max');
}
@gdugas
gdugas / events.dart
Created November 20, 2013 13:16
Dart event mixin
abstract class Events {
Map _events;
on(String events, Function callback, [Map datas]) {
_events == null ? (_events = {}) : null;
var eventsList = _splitEvents(events);
for (int i = 0; i < eventsList.length; i++) {
String event = eventsList[i];
_events[event] == null ? (_events[event] = []): null;
@gdugas
gdugas / include_selected.py
Last active December 27, 2015 18:39
Django include tag: include_selected
from django import template
from django.template import Context, loader
from django.template.base import Node, token_kwargs, TemplateSyntaxError
from django.utils import six
from django.conf import settings
register = template.Library()
class IncludeSelectedNode(Node):
#! /bin/sh
vhosts=/var/www/vhosts
for d in `ls -1 $vhosts`; do
echo "<Directory $vhosts/$d/httpdocs/images>"
echo " AllowOverride None"
echo "</Directory>"
done
#! /bin/sh
domain=example.com
rt=/var/qmail/mailnames/$domain
postqueue -p | grep ^[A-Z0-9] | grep $domain | while read line; do
id=`echo $line | awk '{print $1}' | sed 's/\*//'`
user=`echo $line | awk '{print $7}' | awk -F '@' '{print $1}'`
if [ ! -d $rt/$user ]; then
@gdugas
gdugas / postfix_log_parser.py
Created September 6, 2013 15:04
Postfix log parser: parse postfix mail.log, store only send and reception results in 'messages' attributes.
class Parser(object):
PATTERN = r"^" \
+ r"(?P<month>\w{3})\s+" \
+ r'(?P<day>\d{1,2})\s+' \
+ r'(?P<time>\d{2}:\d{2}:\d{2})\s+' \
+ r'(?P<hostname>[^\s]+)\s+' \
+ r'(?P<exec>\w+/\w+)' \
+ r'\[(?P<port>\d+)\]:\s+' \
+ r'(?P<message_id>\w+):\s+' \
@gdugas
gdugas / xboxdrv.sh
Created September 4, 2013 16:59
linux xboxdrv service
#! /bin/sh -e
DAEMON="/usr/bin/xboxdrv"
DEAMON_OPT="--quiet --silent"
DAEMONUSER="root"
DEAMON_NAME="xboxdrv"
PATH="/sbin:/bin:/usr/sbin:/usr/bin"
test -x $DAEMON || exit 0
@gdugas
gdugas / tail.php
Created June 27, 2013 09:59
basic tail method
function tail($fh, $max_length=10) {
$tailed = array();
fseek($fh, -2, SEEK_END);
$stop = ftell($fh) + 2;
while (ftell($fh) >= 0 && count($tailed) < $max_length) {