Skip to content

Instantly share code, notes, and snippets.

View mrjk's full-sized avatar

mrjk

  • Montréal
View GitHub Profile
@mrjk
mrjk / info-sec.sh
Created April 23, 2026 21:51
Script to display whois connected to what
#!/bin/bash
title ()
{
local msg="$@"
echo
echo "========================"
echo " $msg"
echo "========================"
}
@mrjk
mrjk / bash-lib.sh
Created April 23, 2026 21:47
Bash library helpers
title ()
{
local msg="$@"
echo
echo "========================"
echo " $msg"
echo "========================"
}
log ()
@mrjk
mrjk / report-disk-health.sh
Last active April 23, 2026 13:35
Report health status for all disks with SMART
#!/bin/bash
# This script reports the most common CPU flags to pay attention.
# Usage:
# curl https://gist.githubusercontent.com/mrjk/8a74b4597716bebea2a0b965c06b54ff/raw/26cd0e43d1694bf40cb5f2935ff88f36a0f77a81/report-disk-health.sh | bash
report_smart() {
command -v smartctl >/dev/null || {
@mrjk
mrjk / report-cpu-flags.sh
Last active April 23, 2026 13:33
Report all interestings flags for a given CPU
#!/bin/bash
# This script reports the most common CPU flags to pay attention.
# Usage:
# curl https://gist.githubusercontent.com/mrjk/28a1082d201c7c8c30b788a7b47e820d/raw/54c37076fd8e3f118867d1575efe074724eb1d5b/report-cpu-flags.sh | bash
declare -A flags=(
[vmx]="virt: Intel Virtualisation (VT-x)"
[svm]="virt: AMD Virtualisation (AMD-V)"
@mrjk
mrjk / id_gen.sh
Last active April 24, 2026 22:06
How to generate ssh_keys with comprehensive comments
#!/bin/bash
#_IDENT="USER_HOST"
_IDENT=$(id -un)@$(hostname -f)
_DATE=$(date +'%Y%m%d')
_OUT="$(id -un)/.ssh/"
_OUT="$(getent passwd "${USER}" | cut -d: -f6)/.ssh/"
_IDENT2=${_IDENT2//@/_}
# Common part
# ================
FROM debian:12 AS base
# Configuration
ENV ENTRYPOINT_INFINITE=false
ENV ENTRYPOINT_XTRACE=false
ENV ENTRYPOINT_ROOT=/docker-entrypoints
@mrjk
mrjk / listener.py
Created October 10, 2024 14:55
Stage listener for supervisord
#!/usr/bin/python
"""
Listener for supervisord
How it works?
It will wait all process_names (aka `program:NAME` sections) have reach the same state. Then
it run another command. Its main use case is to allow supervisord services dependencies.
Example configuration:
@mrjk
mrjk / direnvrc
Created August 19, 2024 06:19
Direnv with recurive parent loading support
# This snippet allow recurive loading of parent .envrc files
# To put in your: ~/.config/direnv/direnvrc
# Direnv Recursive mode
# =========================
# Disable existing source_up commands
source_up ()
{
@mrjk
mrjk / dotenv.sh
Created May 15, 2024 18:51
Simple shell script that generate env vars from files
#!/bin/bash
#
# Read one or more dotfiles, and load
#
# Author: mrjk
set -euo pipefail
_log ()
@mrjk
mrjk / docker-credential-helper
Last active April 26, 2024 16:18
Generic docker-credential-helper
#!/bin/bash
# TEMPLATE_VERSION=2024-04-25
set -eu
# App Global variable
# =================
APP_NAME="${0##*/}"
APP_AUTHOR="mrjk"