Skip to content

Instantly share code, notes, and snippets.

View cosimo's full-sized avatar
🇳🇴

Cosimo Streppone cosimo

🇳🇴
View GitHub Profile
@cosimo
cosimo / disable_cb_access_scanner.sh
Created June 24, 2021 13:24
Disable the Couchbase Bucket Access Scanner to avoid micro outages
#!/bin/bash
#
# Disables the Couchbase access scanner on a list of buckets
# Access scanner can cause short outages when buckets are very large.
#
set -e -x
USER='Administrator'
@cosimo
cosimo / inv.py
Last active October 1, 2021 10:19
Display ansible inventories with Python and the rich console library
"""
Display Ansible inventories as a tree of environments, groups and hosts as leaves.
A nice diversion/excuse to dive into the rich console library.
It will expand simple host ranges, allowing grep commands to find
group names for given hosts.
Usage:
./inv.py
./inv.py | grep -B10 some-hostname
@cosimo
cosimo / cloudpassage_zone_update.py
Last active February 25, 2021 08:33
Automatic update of a Cloudpassage FirewallZone (python script)
#!/usr/bin/env python
# encoding: utf-8
"""
Update an existing Cloudpassage FirewallZone from an external list of IPs
Wanted to use this to block abusive IPs, then I made this work and
realized it only accepts max 6000 characters, which in practice translates
to ~400 IP addresses, so it's probably not worth using in any case.
Usage:
#!/usr/bin/env perl
use v5.014;
use warnings;
# Perl WebSocket test client
# Greg Kennedy 2019
# IO::Socket::SSL lets us open encrypted (wss) connections
use IO::Socket::SSL;
# IO::Select to "peek" IO::Sockets for activity
@cosimo
cosimo / debian-safe-upgrade.sh
Created April 30, 2020 09:46
Safe upgrade of a debian system
#!/bin/sh
OLDDIST=lenny
NEWDIST=squeeze
BACKUP_DIR="/var/tmp/backup.$OLDDIST"
echo "+ Create backup directory"
mkdir -p "$BACKUP_DIR"
@cosimo
cosimo / test-certificate-expiry.sh
Created October 16, 2019 09:14
Bash script to test for about-to-expire certificates
#!/bin/bash
#
# Test certificate file expire date
#
# Usage:
# test-certificate-expiry my.crt
#
#
# Emit an error/critical if the certificate expire date
@cosimo
cosimo / quick-stats.pl
Created July 26, 2019 08:01
Calculate the basic statistical attributes of a numeric population
#!/usr/bin/env perl
=head1 NAME
quick-stats.pl - Calculate the basic statistical attributes of a list of numbers
=head1 SYNOPSIS
echo <list of numbers> | ./quick-stats.pl
@cosimo
cosimo / proc-map-size.pl
Last active June 18, 2019 11:27
Shows process memory segment sizes
#!/usr/bin/env perl
=head1 NAME
map-size.pl - Shows process memory segment sizes
=head1 SYNOPSIS
cat /proc/[pid]/maps | ./map-size.pl
@cosimo
cosimo / convert-to-alexa-mp3.sh
Created March 22, 2019 16:48
Convert any MP3 to the format required by Amazon for Alexa audio tags
#!/bin/bash
INFILE="$1"
OUTFILE="$2"
which ffmpeg > /dev/null || {
echo "You need ffmpeg to convert audio files to Alexa MP3 format"
exit 1
}

Traffic between websocket client and cometd server

IN      1552060842.6432996      [{"id":1,"channel":"/meta/handshake","supportedConnectionTypes":["websocket"],"version":"1.0","ext":{"ack":true,"timesync":{"tc":1552060842643}}}]
OUT     1552060842.6573672      [{"minimumVersion":"1.0","clientId":"21goxg4y4lnjv5pd5ws3lvpj2o","supportedConnectionTypes":["websocket","long-polling","callback-polling"],"advice":{"interval":0,"timeout":30000,"reconnect":"retry"},"channel":"/meta/handshake","id":"1","version":"1.0","successful":true}]

IN      1552060843.1454756      [{"id":2,"channel":"/meta/connect","connectionType":"websocket","ext":{"ack":1,"timesync":{"tc":1552060843145}},"clientId":"21goxg4y4lnjv5pd5ws3lvpj2o"}]
OUT     1552060843.1552584      [{"channel":"/meta/connect","id":"2","successful":true}]