source: BOOK/obfuscate.sh@ d79e916

clfs-2.1 clfs-3.0.0-systemd clfs-3.0.0-sysvinit systemd sysvinit
Last change on this file since d79e916 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
RevLine 
[3f8be484]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>
[ff103efa]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.
[3f8be484]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
[ff103efa]30for i in `grep -o '"mailto:.*@.*"' ${1} |sed -e 's|^"mailto:||' -e 's|"$||'`; do
[3f8be484]31 link=`echo $i | perl -pe 's/[^\n]/"\\\&#".ord($&)."\;"/ge'`
32 plaintext=`echo $i | sed -e 's|@| AT |' -e 's|\.| D0T |g'`
[ff103efa]33 cp ${1}{,.tmp}
34 sed -e "s|mailto:$i|mailto:$link|" \
35 -e "s|$i|$plaintext|" ${1}.tmp > ${1}
36 rm ${1}.tmp
[3f8be484]37done
[ff103efa]38#rm $FILE.tmp
[3f8be484]39#exit 0
Note: See TracBrowser for help on using the repository browser.