Skip to content

Instantly share code, notes, and snippets.

View slhck's full-sized avatar

Werner Robitza slhck

View GitHub Profile
@slhck
slhck / Dockerfile
Created February 15, 2023 19:44
Dockerfile for Google Lighthouse
# syntax=docker/dockerfile:1
FROM debian:bullseye
ENV DEBIAN_FRONTEND noninteractive
# ==============================================================================
# Main dependencies
RUN apt-get update -qq \
&& apt-get install -y \
@slhck
slhck / cleanup.py
Last active January 9, 2023 19:28
Docker Registry Cleanup
#!/usr/bin/env python3
#
# Cleanup Docker tags from GitLab registry
#
# Requirements:
#
# - skopeo
# - Python 3.9 or higher
# - Pip packages: `pip3 install loguru joblib packaging`
#
@slhck
slhck / Dockerfile-ffmpeg-xvfb
Created November 30, 2022 14:42
Test screen recording with ffmpeg
FROM alpine:latest
# install ffmpeg and xvfb, as well as mpv
RUN apk add --no-cache ffmpeg xvfb mpv bash \
&& rm -rf /var/cache/apk/*
ENTRYPOINT ["/bin/bash"]
@slhck
slhck / color_snippets.sh
Created November 10, 2022 19:22
Color snippets for Bash scripts
# ==============================================================================
# Color snippets
# Bashly, https://github.com/DannyBen/bashly
# Licensed under the MIT License (MIT)
#
# Copyright (c) Danny Ben Shitrit
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
@slhck
slhck / decode_nested_json.py
Created October 7, 2022 12:25
Decode a nested JSON file containing escaped JSON values
#!/usr/bin/env python3
#
# Decode a nested JSON object containing escaped JSON strings as values
# Pass the JSON file as a command line argument, or use "-" to read from stdin.
import json
def decode_json_object(json_object):
"""Decode a JSON object containing escaped JSON strings as values"""
INFO global: Vagrant version: 2.3.0
INFO global: Ruby version: 2.7.6
INFO global: RubyGems version: 3.1.6
INFO global: VAGRANT_VMWARE_FUSION_APP="/Applications/VMware Fusion Tech Preview.app"
INFO global: VAGRANT_LOG="debug"
INFO global: VAGRANT_INSTALLER_ENV="1"
INFO global: VAGRANT_INSTALLER_EMBEDDED_DIR="/opt/vagrant/embedded"
INFO global: VAGRANT_INSTALLER_VERSION="2"
INFO global: VAGRANT_EXECUTABLE="/opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/bin/vagrant"
WARN global: resolv replacement has not been enabled!
GEM
remote: https://rubygems.org/
specs:
aasm (5.3.0)
concurrent-ruby (~> 1.0)
actioncable (6.1.6.1)
actionpack (= 6.1.6.1)
activesupport (= 6.1.6.1)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
@slhck
slhck / capture_x11_ffmpeg.sh
Last active August 3, 2022 14:02
capture_x11_ffmpeg.sh
#!/usr/bin/env bash
#
# Record the screen via x11grab and embed a timecode.
#
# Author: Werner Robitza
#
# License: MIT
#
# Version: 1.2.0
#
@slhck
slhck / black_split.sh
Last active August 1, 2022 18:29 — forked from davidwebca/gist:e26186b8f4c6795b19c043fffb6f9861
Detect black scenes and split with ffmpeg remux
#!/usr/bin/env bash
# Splits video to separate scenes files when full black frames are found in the video
#
# Author: Werner Robitza
#
# Forked from: https://gist.github.com/davidwebca/e26186b8f4c6795b19c043fffb6f9861
# Inspired by https://gist.github.com/achesco/4dc2ebf13378a0a61fc26c7fe01f539e
# Who got inspired by https://stackoverflow.com/a/38205105
@slhck
slhck / crx_download.sh
Created July 21, 2022 09:33
Download CRX file from Chrome Web Store
#!/usr/bin/env bash
#
# Download a Chrome extension from the webstore.
# Extract it to a specified path.
#
# Author: Werner Robitza
set -e
CHROME_VERSION="101.0.4951.57"