Subversion Repositories svn LFS-FR

Rev

Rev 900 | 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