Skip to content

Instantly share code, notes, and snippets.

Avatar

Ján Sáreník jsarenik

View GitHub Profile
@jsarenik
jsarenik / bitcoin-torrent.sh
Created Sep 17, 2020
Script that makes torrent files for bitcoin blocks
View bitcoin-torrent.sh
#!/bin/sh
BLD=$HOME/.bitcoin/blocks
OUT=$HOME/bitcoin-torrent-out
WH=$HOME/bitcoin-torrent
procdir() {
test -n "$1" || return 1
newdir=${part}
ls $* >/dev/null 2>&1 \
@jsarenik
jsarenik / rawdust-b-gone.md
Created Sep 16, 2020
This is a way to get rid of the dust on Bitcoin
View rawdust-b-gone.md

Find the transaction you want to get rid of:

listunspent

Note the "address" (for later), "txid" and "vout" lines.

createrawtransaction \
  '[{"txid": "THE_TXID", "vout": VOUT}]' \
  '[{ "tb1qryakg74re8an5yc99nsznj4f7t94rghk6m986l": 0}]'
@jsarenik
jsarenik / renameat2.c
Created Jul 14, 2017 — forked from eatnumber1/renameat2.c
Command-line tool to call renameat2(2)
View renameat2.c
#define _GNU_SOURCE
#include <stdlib.h>
#include <fcntl.h>
#include <stdio.h>
#include <getopt.h>
#include <stddef.h>
#include <stdbool.h>
#include <stdarg.h>
#include <errno.h>
#include <unistd.h>
@jsarenik
jsarenik / mtu-linux.sh
Last active Jun 28, 2017
Find MTU on Linux as root.
View mtu-linux.sh
#!/bin/sh -x
PL=1500
myping() {
ping -c1 -w1 -W1 -nM do -s$1 jasan.tk >/dev/null 2>&1
}
until myping $PL; do PL=$(($PL-10)); done
while PL=$((PL+2)); myping $PL; do : ; done
@jsarenik
jsarenik / memstat-new.sh
Last active Jun 18, 2017
Memstat script rewritten for POSIX shell and busybox tools. Heavily optimized compared to the original one.
View memstat-new.sh
#!/bin/sh
#Source : http://www.linoxide.com/linux-shell-script/linux-memory-usage-program/
#Parent : http://www.linoxide.com/guide/scripts-pdf.html
tabw=8
mark=40
test $(id -u) -eq 0 || {
echo "This script must be run as root" 1>&2
exit 1
@jsarenik
jsarenik / args.sh
Created Jun 9, 2017
Quoted arguments in shell
View args.sh
for i in $(seq $#)
do
ARGS="$ARGS \"$(eval $(echo echo \$$i))\""
done
echo $ARGS
@jsarenik
jsarenik / nginx-configure.sh
Created Oct 27, 2016
Configure NGINX with Musl libc
View nginx-configure.sh
export PATH=/usr/local/musl/bin:$PATH
sed -i bck 's/configure --disable-shared $PCRE_CONF_OPT/configure --disable-shared --disable-cpp $PCRE_CONF_OPT/' auto/lib/pcre/make
./configure --with-cc="musl-gcc" --with-ld-opt="-static" --with-pcre=$HOME/pcre-8.39 --with-http_v2_module --with-openssl=$HOME/openssl-1.0.2j --without-http_scgi_module --without-http_uwsgi_module --without-http_fastcgi_module
@jsarenik
jsarenik / myip-linux.sh
Created Aug 24, 2016
Script to find one configured IP address used for communication via default route on Linux using ip command
View myip-linux.sh
#!/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 Aug 11, 2016
Caesar cipher in POSIX shell using cut and tr
View caesar.sh
#!/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 Jul 14, 2016
Change endianess (e.g. 01101 to 10110 bit-wise)
View swap.c
#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
You can’t perform that action at this time.