Skip to content

Instantly share code, notes, and snippets.

View simonLeary42's full-sized avatar

simonLeary42

  • UMass Amherst
  • 22:41 (UTC -05:00)
View GitHub Profile
def fmt_table(
table, between_column_padding_size=5, alternate_brightness=True, left_padding_size=0
):
output_lines = []
assert all(
len(row) <= len(table[0]) for row in table
), "no row can have more elements than the header row"
column_widths = [0] * len(table[0])
for row in table:
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 <[email protected]>
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