Skip to content

Instantly share code, notes, and snippets.

View simonLeary42's full-sized avatar

simonLeary42

  • UMass Amherst
  • 17:27 (UTC -04:00)
View GitHub Profile
import re
import sys
import json
from json import JSONDecodeError
from urllib import request
from urllib.error import HTTPError
from http.client import HTTPResponse
"""
helps locate release files from github
<table>
<tr>
<th>End Date:</th>
<td>
<a href="">
<span><i class="fas fa-redo-alt" aria-hidden="true"></i>
Expires in {{ allocation.expires_in }} day{{ allocation.expires_in|pluralize }} - Click to renew
</span>
</a>
</td>
import requests
import urllib.parse
import xml.etree.ElementTree as ET
from ansible.errors import AnsibleError
from ansible.utils.display import Display
from ansible.plugins.lookup import LookupBase
DOCUMENTATION = """
name: incommon_scopes
author: Simon Leary <simon.leary42@proton.me>
import logging
from typing import Any, List
from ldap3 import BASE, MODIFY_ADD, MODIFY_DELETE, MODIFY_REPLACE, Connection
from ldap3.core.exceptions import LDAPException
from ldap3.utils.log import ERROR, set_library_log_detail_level
"""
wrapper interface for ldap3
sacrifices performance for simlicity
- name: add gitlab to /root/.ssh/known_hosts
ansible.builtin.known_hosts:
name: "{{ (item | split())[0] }}"
key: "{{ item }}"
loop: "{{ lookup('pipe', 'ssh-keyscan gitlab.rc.umass.edu gitlab.unity.rc.umass.edu') | split('\n') | reject('match', '^#') }}"
#!/bin/bash
set -euo pipefail
trap 's=$?; echo "$0: Error on line "$LINENO": $BASH_COMMAND"; exit $s' ERR
# usage: backup.bash /path/to/backup/dir num_backups_to_keep
# backup dir must contain a file called 'index' which must contain just a number
# this index number is used to delete older backup files
# if this script fails, the index will be modified so that no backups will be deleted in the future
# to re-enable deletion of old backups, overwrite index back to a number
# recommended usage is with cron jobs of varying frequency
# this way it is easy to keep logs from recently, yesterday, last week, last month, ...

3 layers:

  • default
    • there are no include rules
    • exclude rules are in one of ignore.d.workstation, ignore.d.server, or ignore.d.paranoid
      • exclude rule directory is based on "report level" in logcheck.conf
    • subject line option in logcheck.conf is EVENTSUBJECT
  • security/violations
    • include rules are in violations.d
  • exclude rules are in violations.ignore.d
#!/bin/bash
set -euo pipefail
trap 'git checkout -q main' EXIT
trap 'git checkout -q main' INT
git checkout -q main
for commit in $(git rev-list HEAD); do
git checkout -q "$commit"
if grep -q init webroot/admin/pi-mgmt.php; then
echo "init found! $commit"
exit