Skip to content

Instantly share code, notes, and snippets.

View schlomo's full-sized avatar

Schlomo Schapiro schlomo

View GitHub Profile
@schlomo
schlomo / DEB Repo Management
Last active March 12, 2018 17:19
Create and maintain a DEB repo with reprepro Support GPG signing and waiting for DropBox sync. Autoconfiguration from conf/distributions
Some scripts to help with DEB Repo Management.
See http://blog.schlomo.schapiro.org/2013/04/how-to-create-debianubuntu-repository.html for how to use this.
@schlomo
schlomo / ... SSH PKI Test Suite & Demo
Last active December 18, 2015 09:09
SSH PKI demo
Moved to https://github.com/schlomo/openssh-config-test
@schlomo
schlomo / video_converter
Last active April 13, 2018 10:46
Convert videos to MP4 with HandBrake (http://handbrake.fr)
#!/bin/bash
#
# search for .m2ts, .mov, .mp4 files and convert them to .m4v files with HandBrake
# search in current dir or in files/folders given as args
if [[ "$*" == *--help* ]] ; then
cat <<EOF
Usage: $0 [path or file] ...
Convert all .m2ts, .mov, .mp4 videos in given paths or files
@schlomo
schlomo / rsh_with_remote_exit_code.sh
Last active February 20, 2018 11:13
rsh wrapper that correctly returns the exit code of the remote command, just like ssh does. This wrapper installs itself as rsh and calls the real rsh. Written for Bash.
# This rsh wrapper supports reporting the exit code of the remote program.
# Assumes that remote shell is Bash or compatible and that you don't call
# exit directly (that would yield a return 127 regardless of the remote
# exit code!)
#
# Written by Schlomo Schapiro @ ImmobilienScout24
# Licensed under the GNU General Public License, see http://www.gnu.org/licenses/gpl.html for full text
#
function rsh {
local res=$(
@schlomo
schlomo / udp_stream_recorder.conf
Last active January 2, 2016 15:38
Simple Upstart Service to record incoming UDP streams into time-stamped files.
# Service definition for Upstart, put into /etc/init
description "Record TS stream from VGADVIRecorder"
start on started autofs
stop on stopping autofs
respawn
# who else will have access
umask 0000
@schlomo
schlomo / avconcat.sh
Created January 15, 2014 20:32
Simple Video Tricks: Concatenate
#!/bin/bash
#
# concatenate several SOURCE_CONCAT_FILE_NAMES files into a mp4
# FIRST_NAME and second argument are file names or parts of a filename. All files inbetween will be concatenated.
START="$1" ; shift
END="$1" ; shift
COMMON_PREFIX=""
# find all input files
@schlomo
schlomo / sshrc
Last active August 29, 2015 13:56
SSH RC script that helps me with reconnected screen sessions and deploys my personal environment
#!/bin/bash
# xauth handling, code adapted from sshd(8)
if type -p xauth >/dev/null && read proto cookie && [[ "$DISPLAY" ]]; then
if [[ "${DISPLAY:0:10}" = 'localhost:' ]] ; then
# X11UseLocalhost=yes
#echo add unix:"${DISPLAY:11}" $proto $cookie #### egrehm changed to :10 because seems to be broken on rhel6 and clones
echo add unix:"${DISPLAY:10}" $proto $cookie
else
# X11UseLocalhost=no
echo add "$DISPLAY" $proto $cookie
@schlomo
schlomo / ssh_config_patch.sh
Created May 2, 2014 12:24
Simple sed patcher
sed -i -f - /etc/ssh/sshd_config <<EOF
1{
i # this content comes from the %{name}-%{version}-%{release} package
i AddressFamily inet
i Protocol 2
i LogLevel VERBOSE
i HostbasedAuthentication yes
i IgnoreUserKnownHosts yes
i IgnoreRhosts yes
i Banner /etc/ssh/banner.txt
@schlomo
schlomo / httpd_replace_config.sh
Created May 2, 2014 12:26
Replace httpd.conf with list of includes
if ! echo '# HTTPD conf framework. Will be overwritten to this content on each install of the rpm package!!!
# This file is managed by %{name}-%{version}-%{release}
ServerRoot "/etc/httpd"
Include conf/basic/*.conf
Include conf/main/*.conf
Include conf/other/*.conf
' >/etc/httpd/conf/httpd.conf ; then
logger -p user.err -s -t %name -- "ERROR: Could not replace content of '/etc/httpd/conf/httpd.conf'"
fi
@schlomo
schlomo / autoexec.py
Created May 15, 2014 06:23
XBMC automatically play all videos in a permanent loop. Ideal for video presentations, digital signage or party mode.
# See also http://wiki.xbmc.org/index.php?title=Autoexec.py
# Put this into the userdata folder, see http://wiki.xbmc.org/index.php?title=Userdata for details where this is for each platform
import xbmc
xbmc.executebuiltin('xbmc.PlayMedia("/storage/videos/","isdir")')
xbmc.executebuiltin('xbmc.PlayerControl(repeatall)')
xbmc.executebuiltin("Action(Fullscreen)")