Split Chapter 5 into three separate chapters.
[linux_from_scratch.git] / obfuscate.sh
blobdd2bf24d210b3764dfcfb2de0640672fa9e3c8c6
1 #!/bin/bash
3 # obfuscate.sh
4 # obfuscate email addresses in XML/HTML
5 # Script written (and slight perl modification) by Archaic <archaic AT linuxfromscratch D0T org>
6 # Modified from "sed -i" to old style "sed -e" by Manuel Canales <manuel AT linuxfromscratch D0T org>
7 # to prevent hangs on very long files, like nonckunked books.
8 # Original Perl expression by Anderson Lizardo <lizardo AT linuxfromscratch D0T org>
9 # Released under the GNU General Public License
11 # This script currently only seeks out mailto: addresses. If those same
12 # addresses also appear in plaintext, we need to obfuscate those as well.
14 # This script was made for a very specific purpose so I was a bit lazy in
15 # writing the regex's.
17 # Please send comments, enhancements, etc. to the above address
19 #set -e # Bail on all errors
21 # First, ensure that we are given a file to process
22 # if [ $# -lt 1 ]; then
23 # echo -e "\nYou must provide an input file."
24 # exit 1
25 # fi
27 # Nothing like a backup plan!
28 #cp "$1" "$1".bak
30 for i in `grep -o '"mailto:.*@.*"' ${1} |sed -e 's|^"mailto:||' -e 's|"$||'`; do
31 link=`echo $i | perl -pe 's/[^\n]/"\\\&#".ord($&)."\;"/ge'`
32 plaintext=`echo $i | sed -e 's|@| AT |' -e 's|\.| D0T |g'`
33 cp ${1}{,.tmp}
34 sed -e "s|mailto:$i|mailto:$link|" \
35 -e "s|$i|$plaintext|" ${1}.tmp > ${1}
36 rm ${1}.tmp
37 done
38 #rm $FILE.tmp
39 #exit 0