Skip to content

Instantly share code, notes, and snippets.

Avatar

Ján Sáreník jsarenik

View GitHub Profile
@jsarenik
jsarenik / select.sh
Last active Dec 13, 2020
Yggdrasil public-peers select
View select.sh
#!/bin/sh
#
# Place this script into public-peers/scripts/select.sh
# chmod a+x public-peers/scripts/select.sh
# Run: cd public-peers/scripts; ./select.sh
PING=ping
printem() {
find .. -mindepth 2 -type f -name '*.md' \
@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]')