clfs-2.1
clfs-3.0.0-systemd
clfs-3.0.0-sysvinit
systemd
sysvinit
Last change
on this file since 68a11fb was ff103efa, checked in by Manuel Canales Esparcia <manuel@…>, 17 years ago |
Updated obfuscate.sh.
|
-
Property mode
set to
100644
|
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.