Monday, September 13, 2021

General Purpose Randomizer

I've decided to introduce some noise into the fingerprints collected on me by various unnecessarily curious services and people, so I've written a simple randomizer for selecting a string from a list of strings. The idea was to remove patterns from server selection process when using vpn. Not sure it'll work for obfuscation, but it is a functioning piece of code. Life will prove the rest.

Known to be working with Ubuntu+bash+ExpressVPN

#!/bin/bash
vpnservers=$(expressvpn list all | cut -d" " -f 1 | tr "\n" " ")
list=${vpnservers}

# using just a big value for length
# syntax ${parameter:offset:length}

vpnservers=${list:12:1500}
printf "Available vpn servers:\n${vpnservers}\n"

read -a arrayofservers <<< ${vpnservers}

length=${#arrayofservers[@]}
printf "Actual array length:\n$length \n\n"

randomvalue=$((1 + $RANDOM % ${length-1}))
printf "Your random value:\n$randomvalue \n\n"

printf "Your server id:\n${arrayofservers[randomvalue]} \n"