Skip to content

Instantly share code, notes, and snippets.

@dorneanu
dorneanu / plugin_architecture.md
Last active July 21, 2024 19:04
Python: Implement basic plugin architecture with Python and importlib

Implementing a basic plugin architecture shouldn't be a complicated task. The solution described here is working but you still have to import every plugin (inheriting from the base class).

This is my solution:

Basic project structure

$ tree
@prziborowski
prziborowski / gist:ba3ebf610dd6cca3f4e7be5e2874499f
Last active July 16, 2023 00:42
Use property collector to retrieve names quickly
#!/usr/bin/env python
"""
Written by Nathan Prziborowski
Github: https://github.com/prziborowski
This code is released under the terms of the Apache 2
http://www.apache.org/licenses/LICENSE-2.0.html
The property collector can be used to fetch a subset of properties
for a large amount of objects with fewer round trips that iterating.
This sample shows how to use the TraversalSpec to get properties
of another object without multiple calls.
@dgeo
dgeo / surveille-spam.pl
Last active December 12, 2022 09:49
parse postfix maillog to detect hacked accounts
#!/usr/bin/env perl
#
# surveilleur de logins sasl: compte les IP's de provenance d'un meme login
#
# needs geoip2 perl module and GeoLite2-Country.mmdb (use geoipupdate)
#
# run by cron on a daily-rotated maillog:
# 2 */1 * * * root /usr/local/admin/ssi/surveille-spam.pl /data/logs/serveurs/maillog
# 1 0 * * * root /usr/local/admin/ssi/surveille-spam.pl /data/logs/serveurs/maillog.0
use strict;
@JimWestergren
JimWestergren / checkPawnedPasswords.php
Last active December 22, 2023 23:06
Simple method to check the Pwned Passwords API using PHP
<?php
/**
* Simple method to use the API from https://www.troyhunt.com/ive-just-launched-pwned-passwords-version-2/
* Written by Jim Westergren and released to public domain
* @return int count
*/
function checkPawnedPasswords(string $password) : int
{
$sha1 = strtoupper(sha1($password));
$data = file_get_contents('https://api.pwnedpasswords.com/range/'.substr($sha1, 0, 5));
@mino98
mino98 / checkpass.sh
Last active March 14, 2018 23:07
Check password against pwnedpasswords repo.
#!/bin/bash
# Original:
# https://blog.cloudflare.com/validating-leaked-passwords-with-k-anonymity
echo -n Password:
read -s password
echo
hash="$(echo -n $password | openssl dgst -sha1 -binary | xxd -p)"
upperCase="$(echo $hash | tr '[a-z]' '[A-Z]')"
@posener
posener / go-shebang-story.md
Last active July 13, 2024 16:35
Story: Writing Scripts with Go

Story: Writing Scripts with Go

This is a story about how I tried to use Go for scripting. In this story, I’ll discuss the need for a Go script, how we would expect it to behave and the possible implementations; During the discussion I’ll deep dive to scripts, shells, and shebangs. Finally, we’ll discuss solutions that will make Go scripts work.

Why Go is good for scripting?

While python and bash are popular scripting languages, C, C++ and Java are not used for scripts at all, and some languages are somewhere in between.

@malobre
malobre / ts3-afk-bot.sh
Created September 17, 2016 22:38
Teamspeak 3 AFK bot, move clients to the specified channel when they are muted for more than the specified period of time and move them back when they unmute themself.
#!/bin/bash
#
# ts3server-bot.sh
#
# Teamspeak 3 AFK bot, move clients to the specified channel when they are muted
# for more than the specified period of time and move them back when they unmute
# themself.
#
# Copyright 2016, Malobre.
#
@markllama
markllama / schema2ldif.sh
Last active April 12, 2023 14:47
Convert LDAP Schema to LDIF
#!/bin/bash
#
# Stolen from https://stuckinadoloop.wordpress.com/2011/04/14/script-to-convert-openldap-schema-files-to-ldif-format/
SCHEMAD=/etc/openldap/schema
SCHEMAS='dhcp.schema'
tmpd=`mktemp -d`
pushd ${tmpd} >>/dev/null
import signal
class InterruptableRegion(object):
def __init__(self, sig=signal.SIGINT):
self.sig = sig
self.interrupted = False
self.released = False
self.original_handler = None
def __enter__(self):
@borgand
borgand / auth_test.sh
Created September 26, 2013 13:54
Round-trip check for Shibboleth and SimpleSAMLphp SSO setup. Uses sed to carve out tokens, so you must adapt to your HTML layout.
#!/bin/bash
# This script is used make a full roundtrip test to SimpleSAMLphp based SSO
# Exit statuses indicate problem and are suitable for usage in Nagios.
BASENAME=$(basename $0)
if [[ $1 == '-h' || $1 == '--help' ]]; then
cat <<EOF
USAGE: $BASENAME [URL] [test-string] [username] [password]