Despy.sh

From Bobs Projects
Jump to: navigation, search

BASH script to decode so-called "safelinks" spy links in e-mails.

#!/bin/bash

# put your e-mailed spy links into a file, then run with:
# despy.sh < filename

# by Robert (Bob) Edwards, Feb 2022.

decode() {
        local i="${*//+/ }"
        echo -e "${i//%/\\x}"
}

safelinks() {
        local G1=${1##*url=}
        local G2=${G1%%data=04*}
        decode ${G2%\&*}
}

engage() {
        local G1=${1##*target=}
        decode ${G1%%\&srcid*}
}

despy() {
    local x1="${1##*://}" 
        case ${x1%%/*} in
                aus01.safelinks.protection.outlook.com)
                        despy $(safelinks ${x1})
                        ;;
                engage.anu.edu.au)
                        despy $(engage ${x1})
                        ;;
                *)
                        echo "$1"
        esac
}

while read line ; do
        despy ${line}
done