Added my pppFox scripts to github.
These scripts can used to spoof identity or evade geo IP restrictions with different Firefox profiles. It changes / loads from Firefox profile:

  • mac address
  • firefox profile
  • useragent & proxy settings

for a new or choosen Firefox profile. More:

Portable firefox & profile manager shell scripts which create & load firefox profiles with predefined proxy settings, useragent & mac address.
Fully portable to spoof identity (IP & MAC & useragent) where ever you go:

– hide your identity (IP & MAC & useragent) from services used
– hide connection meta data from local network operator

-> evade geo IP restrictions and avoid account suspension if multiple identities not allowed at a service

no comments »

Check out FF Multi Converter (ffmulticonverter). This cool Python3 and PyQt5 based open source application allows conversions between video, audio, image and document document files.
It utilize other command-line tools like FFmpeg for audio/video files, the ImageMagick software suite for image conversions and unoconv for document files.

A few sample conversion possibilties:

  • doc to pdf
  • mp4 to mp3
  • flv to mp3
  • ogg to mp4

and so many more…
This is the right tool if you need conversion between various file types without edit capability.

FF Multi Converter screenshot
FF Multi Converter
no comments » (use gist to copy code. Sometimes something doesn’t escape escaping of WordPress editor 😉 )

#! /bin/sh
# create auto mount of luks encrypted volume on system start
# scripts requirements: cryptsetup (luks), awk, grep, dd 
# files changed by script: /etc/crypttab, /etc/fstab
# files created by script: DRIVE_PATH (mount path)
# tested on: debian stretch
# set configuration & chmod +x this script ;) & run this script
# see: |
# list hard drives to get your DRIVE_ID
# lsblk
DRIVE_ID="sda3"                 # drive id. see "lsblk" output
DRIVE_PATH="/media/storage1/"   # path to mount drive (use / as last char)
KEY_PATH="/etc/cryptkeys/"      # path to store drive key (use / as last char)
if [ $(whoami) != "root" ]; then
    echo "luks auto mount: root privilegs are required. do 'su'"
    exit 1
echo "luks auto mount: create mount point at path ${DRIVE_PATH} for encrypted drive ${DRIVE_ID} with key ${KEY_PATH}${DRIVE_ID}"
# create key directory if not exist
if [ ! -e "${KEY_PATH}" ]; then
    mkdir -p "${KEY_PATH}"
# create random key - required to unlock volumne
dd if=/dev/urandom of="${KEY_PATH}${DRIVE_ID}" bs=512 count=8
# only allow root / group to read key file
chmod 640 "${KEY_PATH}${DRIVE_ID}"
# add created key to cryptsetup for our luks device
cryptsetup -v luksAddKey "/dev/${DRIVE_ID}" "${KEY_PATH}${DRIVE_ID}"
# remove key from crypt drive and delete it with (set vars in shell before): cryptsetup -v luksRemoveKey /dev/${DRIVE_ID} "${KEY_PATH}${DRIVE_ID}" && rm ${KEY_PATH}${DRIVE_ID}
# get cryptsetup luks drive id
UUID=$(cryptsetup luksDump "/dev/${DRIVE_ID}" | grep "UUID" | awk -v N=2 '{print $N}')
# add volume to crypttab - required to automatically encrypt volume
echo "${DRIVE_ID}_crypt UUID={UUID} ${KEY_PATH}${DRIVE_ID} luks" >> /etc/crypttab
# create drive mount path if not exist
if [ ! -e "${KEY_PATH}" ]; then
    mkdir -p "${DRIVE_PATH}"
# add volume to fstab - required to automatically mount the encrypted volume on system start
echo "/dev/mapper/${DRIVE_ID}_crypt ${DRIVE_PATH} ext4    defaults   0       2" >> /etc/fstab
echo "luks auto mount: reboot your system please"
exit 0
no comments »

Nach der Standardabweichung in PHP folgt die gleiche Funktion in Javascript.
Javascript Funktion Standardabweichung

var stabw = function(array) {
	var len = 0;
	var sum = array.reduce(function(pv, cv) { ++len; return pv + cv; }, 0);
	var mean = sum / len;
	var result = 0;
	for (var i = 0; i < len; i++)
		result += Math.pow(array[i] - mean, 2);
	len = (len == 1) ? len : len - 1;			
	return Math.sqrt(result / len);	

Als Parameter wird ein numerisches Array übergeben:

var testArray = [12, 13, 16, 18];

In diesem Beispiel beträgt die Standardabweichung 2,753785274. Weitere Informationen zur Standardabweichung gibt es im PHP Artikel über die Standardabweichung (siehe oben).

no comments »

Sofern die Datei package.json in gültigem Format im Wurzelverzeichnis der Applikation liegt ist eine Reinstallation aller Module mit dem löschen des node_modules Ordner im Wurzelverzeichnis und dem Ausführen von

npm install


node.js NPM installiert, sofern der Parameter -g (global) NICHT angegeben wird, alle Module in den Ordner node_modules im Wurzelverzeichnis der aktuellen Applikation.

no comments »

Die Shell bietet diverse Möglichkeiten die Länge eines Strings zu ermitteln.

Die schnellste und kompatibelste Methode die Länge einer Zeichenkette auf die schnelle im Terminal zu ermitteln ist meiner Meinung nach diese hier:

echo -n "String Länge in Terminal / Konsole" | wc -c

Auf neueren Systemen lässt sich im Terminal die String Länge auch mit einem Kommando ausgeben:

expr length "String Länge in Terminal / Konsole"

Während in einem Shell Script die länge am schönsten so ermittelt wird:

#! /bin/sh
str="string länge in script"
echo ${#str}
no comments »