Skip to content

Instantly share code, notes, and snippets.

#! /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
#! /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
@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):
@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 / 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 / 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 / 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
upstream django {
## uwsgi launcher example: uwsgi --socket mysite.sock --module mysite.wsgi --chmod-socket=666
server unix:///path/to/mysite.sock;
}
server {
listen 8080 default_server;
@gdugas
gdugas / trigger.py
Created April 23, 2015 15:22
Simple event dispatcher
class Event(object):
def __init__(self):
self.callables = {}
def on(self, func, uid=None):
if not callable(func):
raise TypeError("callable required")
if not uid:
uid = str(hash(func))
@gdugas
gdugas / django_http_view.py
Last active August 29, 2015 14:21
A django http view
from django.http import HttpResponseNotAllowed
HTTP_METHODS_11 = ['HEAD', 'GET', 'POST', 'PUT', 'DELETE', 'OPTIONS', 'TRACE']
class HttpView:
_http_methods = list(HTTP_METHODS_11)
def methods_available(self):
methods = getattr(self, '_http_methods_available', None)