source:
BOOK/obfuscate.sh@
c22300aa
      
      | Last change on this file since c22300aa was ff103efa, checked in by , 18 years ago | |
|---|---|
| 
 | |
| File size: 1.3 KB | |
| Line | |
|---|---|
| 1 | #!/bin/bash | 
| 2 | |
| 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 | 
| 10 | # | 
| 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. | 
| 13 | # | 
| 14 | # This script was made for a very specific purpose so I was a bit lazy in | 
| 15 | # writing the regex's. | 
| 16 | # | 
| 17 | # Please send comments, enhancements, etc. to the above address | 
| 18 | |
| 19 | #set -e # Bail on all errors | 
| 20 | |
| 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 | 
| 26 | |
| 27 | # Nothing like a backup plan! | 
| 28 | #cp "$1" "$1".bak | 
| 29 | |
| 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 | 
  Note:
 See   TracBrowser
 for help on using the repository browser.
    