Skip to content

Instantly share code, notes, and snippets.

View themactep's full-sized avatar

Paul Philippov themactep

View GitHub Profile
#!/bin/sh
# Compression test
# Paul Philippov <paul@themactep.com>
payload=""
name="payload"
in="${name}.txt"
[ -d ./test_data/ ] && rm -r ./test_data/
[ ! -d ./test_data/ ] && mkdir ./test_data/
@themactep
themactep / test-video-delay.sh
Last active May 27, 2024 17:47
IP camera video stream delay test
#!/bin/bash
#
# GStreamer based script for glass-to-glass latency testing.
# Use it together with https://thingino.com/timer
#
# 2023, Paul Philippov <paul@themactep.com>
#
if ! command -v gst-launch-1.0 >/dev/null; then
echo "This script requires GStreamer."
@themactep
themactep / scad2png.sh
Created May 9, 2023 03:06
thumbnailer for .scad files
#!/bin/bash
# .SCAD files thumbnailer
# 2022, Paul Philippov, paul@themactep.com
OS=$(command -v openscad || command -v openscad-nightly)
$OS -o "$2.png" -D "\$fn=128" --autocenter --viewall \
--colorscheme="Tomorrow Night" -q "$1"
[ ! -f "$2.png" ] && echo "Cannot find image!" && exit 1
@themactep
themactep / stl2png.sh
Created May 9, 2023 03:06
thumbnailer for .stl files
#!/bin/bash
# .STL files thumbnailer
# 2022, Paul Philippov, paul@themactep.com
set -euo pipefail
OS=$(command -v openscad || command -v openscad-nightly)
IFS=$'\n\t'
@themactep
themactep / showgpio.sh
Last active October 14, 2023 12:43
Display GPIO pins configuration.
#!/bin/sh
mount -t debugfs none /sys/kernel/debug
cat /sys/kernel/debug/gpio
@themactep
themactep / ircut.sh
Last active October 16, 2023 00:53
Manua IR filter control for OpenIPC camera
#!/bin/sh
pin1=$(cli -g .nightMode.irCutPin1)
pin2=$(cli -g .nightMode.irCutPin2)
if [ -z "$pin1" ]; then
echo "IRCUT pin 1 is not set!"
echo "Please set it by running cli -s .nightMode.irCutPin1 XX, where XX is a GPIO pin number."
exit 1
fi
#!/bin/sh
BR_OUTPUT_DIR=/path/to/openipc/output
CROSS_PATH=${BR_OUTPUT_DIR}/host/bin
CROSS_COMPILE=$(readlink -f $CROSS_PATH)/mipsel-openipc-linux-musl-
CC=${CROSS_COMPILE}gcc
make ARCH=mips CC="${CC}" \
CROSS_COMPILE="${CROSS_COMPILE}" \
@themactep
themactep / ipc-linux-hijacker.sh
Last active May 26, 2024 17:24
Repack firmware with a blank root password.
#!/bin/bash
#
# Embedded Linux root hijacker
#
# This script repacks firmware replacing existing root password with a blank password.
# Tested on HiSilicon and Ingenic firmware dumps from NOR SPI flash chips.
# Use at your own risk.
#
# Paul Philppov <paul@themactep.com>
# 2023-11-21: Initial release
@themactep
themactep / dusk2dawn.sh
Last active June 13, 2024 08:59
Generate cron job lines from sunrise and sunset time provided by api.sunrise-sunset.org
#!/bin/sh
# Set cron jobs by actual sunset and sunrise time
# 2023 Paul Philippov <paul@themactep.com>
# 2023-12-23 - initial script
# 2023-04-28 - use daynight script to switch day mode
# 2024-06-12 - add timezone support
# Please tip the API provider: https://www.buymeacoffee.com/sunrisesunsetapi
# Geographic coordinates of your place
lat="42.17509000"
@themactep
themactep / openipc-toolchains-updater.sh
Created December 26, 2023 05:45
Script to retrieve the latest toolchains for building OpenIPC firmware.
#!/bin/bash
#
# OpenIPC Toolchains Updater
#
# This script retrieves the latest toolchains for building OpenIPC firmware.
# Execute the script in the directory where you want to store the toolchains
# locally, for example, /opt/toolchains/openipc/. You can re-run the script
# to update the toolchains.
#
# 2021, Paul Philippov <paul@themactep.com>