Skip to content

Instantly share code, notes, and snippets.

View jsarenik's full-sized avatar

Ján Sáreník jsarenik

View GitHub Profile
@jsarenik
jsarenik / init
Last active March 9, 2017 09:07
init.sh
#!/bin/sh
. /etc/tinitrc
HOSTNAME=$(cat /etc/hostname)
DOMAIN=$(cat /etc/dnsdomainname)
FQDN=$HOSTNAME.$DOMAIN
NETCONF=/etc/network/interfaces
IPV4=$(cat $NETCONF | sed -n 's/.*address //p')
IPV6=$(grep "up ifconfig venet0 add" $NETCONF | sed 's/^.*add //')
@jsarenik
jsarenik / myip-linux.sh
Created August 24, 2016 16:24
Script to find one configured IP address used for communication via default route on Linux using ip command
#!/bin/sh
DEV=$(ip route list | sed -n '/^default/s/.*dev \(\S\+\).*/\1/p')
IP=$(ip route list | sed -n '/^default/s/.*src \(\S\+\).*/\1/p')
ip address list dev $DEV | grep -m1 -o "$IP/[0-9]\+"
@jsarenik
jsarenik / caesar.sh
Last active August 11, 2016 12:18
Caesar cipher in POSIX shell using cut and tr
#!/bin/sh
#
# https://en.wikipedia.org/wiki/Caesar_cipher
KEY=${1:-3}
A=abcdefghijklmnopqrstuvwxyz
B=$(echo $A | cut -b${KEY}- | tr -d '\n'; echo $A | cut -b-$[KEY-1])
AU=$(echo $A | tr '[a-z]' '[A-Z]')
BU=$(echo $B | tr '[a-z]' '[A-Z]')
@jsarenik
jsarenik / swap.c
Created July 14, 2016 12:40
Change endianess (e.g. 01101 to 10110 bit-wise)
#include <stdio.h>
unsigned int reverse(unsigned char b) {
b = (b & 0xF0) >> 4 | (b & 0x0F) << 4;
b = (b & 0xCC) >> 2 | (b & 0x33) << 2;
b = (b & 0xAA) >> 1 | (b & 0x55) << 1;
return b;
}
int
@jsarenik
jsarenik / GNU_Social
Created June 14, 2016 13:00
[SDF] let SDF help GNU!
Date: Sun, 14 Feb 2016 09:53:21 GMT
From: membership@sdf.org
Subject: [SDF] let SDF help GNU!
Want to take back the internet?
No, wait a second. I'm serious. Do you remember a thing called USENET? Do
you remember how cool it was when you posted something and someone at
hawaii.edu or telebit.com responded? GNU Social is reviving this idea. Much
of the internet for the general public these days is not only just focused
on http/https but a key number of central sites. When SDF was (uh, it still
@jsarenik
jsarenik / check.sh
Last active January 27, 2016 07:22
IPv6
#!/bin/sh
#
# https://tunnelbroker.net/tunnel_detail.php?tid=$TID
TID=1234567
HEUSER=login
HEPASS=Update_Key_from_Tunnel_Details/Advanced
CHECK_DNS=you.dns.he.dynamically.updated.domain
URL="https://$HEUSER:$HEPASS@ipv4.tunnelbroker.net/nic/update?hostname=$TID"
@jsarenik
jsarenik / git-delmerged.sh
Created December 15, 2015 11:02
Script that deletes all git branches that were already merged to current one
#!/bin/sh
git branch --merged | grep -v "^\*\|master" | xargs -r -n 1 git branch -d
#!/bin/bash
ifthere() {
for cmd in "$@"
do
type ${cmd%% *} >/dev/null 2>&1 && { $cmd || continue; return $?; }
done
}
usage() {
@jsarenik
jsarenik / rconf.sh
Created September 1, 2015 22:30
Read file omitting # comments
#!/bin/sh
for i in $*
do
grep -v '^#' $i | sed '/^$/d'
done
@jsarenik
jsarenik / keyboard.sh
Created June 17, 2015 07:45
X Window script to set up keyboard.
#!/bin/sh
setxkbmap ${1:-'dvorak'}
setxkbmap -option ""
xmodmap - <<EOF
! for help, see $ xmodmap -grammar
!in /etc/X11/xorg.conf.d/20-keyboard.conf
! or by running setxkbmap -option "ctrl:nocaps"