Rev 2632 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
722 | texou | 1 | #!/bin/bash |
2 | |||
3 | # $LastChangedBy: manuel $ |
||
900 | texou | 4 | # $Date: 2007-07-07 12:41:20 +0200 (sam, 07 jui 2007) $ |
722 | texou | 5 | |
6 | # obfuscate.sh |
||
7 | # obfuscate email addresses in XML/HTML |
||
8 | # Script written (and slight perl modification) by Archaic <archaic AT linuxfromscratch D0T org> |
||
9 | # Modified from "sed -i" to old style "sed -e" by Manuel Canales <manuel AT linuxfromscratch D0T org> |
||
10 | # to prevent hangs on very long files, like nonckunked books. |
||
11 | # Original Perl expression by Anderson Lizardo <lizardo AT linuxfromscratch D0T org> |
||
12 | # Released under the GNU General Public License |
||
13 | # |
||
14 | # This script currently only seeks out mailto: addresses. If those same |
||
15 | # addresses also appear in plaintext, we need to obfuscate those as well. |
||
16 | # |
||
17 | # This script was made for a very specific purpose so I was a bit lazy in |
||
18 | # writing the regex's. |
||
19 | # |
||
20 | # Please send comments, enhancements, etc. to the above address |
||
21 | |||
22 | #set -e # Bail on all errors |
||
23 | |||
24 | # First, ensure that we are given a file to process |
||
25 | # if [ $# -lt 1 ]; then |
||
26 | # echo -e "\nYou must provide an input file." |
||
27 | # exit 1 |
||
28 | # fi |
||
29 | |||
30 | # Nothing like a backup plan! |
||
31 | #cp "$1" "$1".bak |
||
32 | |||
33 | for i in `grep -o '"mailto:.*@.*"' ${1} |cut -d\" -f2|sed -e 's|^mailto:||' -e 's|"$||'`; do |
||
34 | link=`echo $i | perl -pe 's/[^\n]/"\\\&#".ord($&)."\;"/ge'` |
||
35 | plaintext=`echo $i | sed -e 's|@| AT |' -e 's|\.| D0T |g'` |
||
36 | cp ${1}{,.tmp} |
||
37 | sed -e "s|mailto:$i|mailto:$link|" \ |
||
38 | -e "s|$i|$plaintext|" ${1}.tmp > ${1} |
||
39 | rm ${1}.tmp |
||
40 | done |
||
41 | #rm $FILE.tmp |
||
42 | #exit 0 |