3 # File : uninstall.command
5 # Purpose : Remove the Privoxy application and (optionally) its
6 # configuration files from the target system
8 # Copyright : Written by and Copyright (C) 2001-2012 the
9 # Privoxy team. http://www.privoxy.org/
11 # This program is free software; you can redistribute it
12 # and/or modify it under the terms of the GNU General
13 # Public License as published by the Free Software
14 # Foundation; either version 2 of the License, or (at
15 # your option) any later version.
17 # This program is distributed in the hope that it will
18 # be useful, but WITHOUT ANY WARRANTY; without even the
19 # implied warranty of MERCHANTABILITY or FITNESS FOR A
20 # PARTICULAR PURPOSE. See the GNU General Public
21 # License for more details.
23 # The GNU General Public License should be included with
24 # this file. If not, you can view it at
25 # http://www.gnu.org/copyleft/gpl.html
26 # or write to the Free Software Foundation, Inc.,
27 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
30 # Modification : If you modify this file please consider whether your
31 # changes ought to be passed back to the macsetup module.
34 root_UID=0 # Root has $UID 0.
36 if [ "$UID" -eq "$root_UID" ]; then
37 echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
38 echo 'About to remove the Privoxy application. Are you sure? (Y/N)'
39 echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
41 if (test z$ANSWER = zY) || (test z$ANSWER = zy) then
42 echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
43 echo 'Last chance. Removing Privoxy... Are you sure? (Y/N)'
44 echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
46 if (test z$ANSWER = zY) || (test z$ANSWER = zy) then
47 echo Stopping Privoxy.
48 kill `ps -ax | grep /privoxy | grep -v grep | awk '{ print $1 }'` 2> /dev/null
49 # Remove items common to all OS X versions
50 echo Deleting Privoxy and its documentation
52 rm -f /usr/local/sbin/privoxy
54 rm -rf /usr/local/share/doc/privoxy
56 rm -f /usr/local/share/man/man1/privoxy.1
57 # Optionally delete config files
58 echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
59 echo 'Delete configuration files? (Y/N)'
60 echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
62 if (test z$ANSWER = zY) || (test z$ANSWER = zy) then
63 rm -rf /usr/local/etc/privoxy
66 rm -rf /var/log/privoxy
67 # Delete folder from /Applications
68 rm -rf /Applications/Privoxy
70 # Delete all items referenced by the installation package
71 echo 'Delete package installation receipt (ignore errors relating to other bundle identifiers).'
72 # On OS X 10.5 or newer we can use the new pkgutil command else simply delete the receipt file
73 if [ -x /usr/sbin/pkgutil ]; then
74 pkgutil --forget org.ijbswa.privoxyPRIVOXY_VERSION.pkg
76 rm -rf /Library/Receipts/Privoxy\ PRIVOXY_VERSION\ OS\ X\ 10.4.pkg
79 # Check the Trash, just in case the user manually removed the only obvious item from /Applications
80 if [ -d ~/.Trash/Privoxy ]; then
81 echo Removing Privoxy from the trash.
82 rm -rf ~/.Trash/Privoxy
85 # Delete host-dependent items - first ascertain OS X version
86 darwin_major_rel_num="`/usr/bin/uname -r | /usr/bin/sed 's/\..*//'`"
88 case "${darwin_major_rel_num}" in
89 # Mac OS X 10.5 or higher
91 # Delete Privoxy LaunchDaemon
92 echo 'Delete Privoxy LaunchDaemon (an error will be thrown regarding "no such process")'
93 /bin/launchctl unload /Library/LaunchDaemons/org.ijbswa.privoxy.plist
94 /bin/launchctl remove /Library/LaunchDaemons/org.ijbswa.privoxy.plist
95 rm -f /Library/LaunchDaemons/org.ijbswa.privoxy.plist
96 # The installer might have disabled a previous Privoxy LaunchDaemon
97 rm -rf /Library/LaunchDaemons/Disabled/org.ijbswa.privoxy.plist
98 # There might have previously been a StartupItem installed
99 rm -rf /Library/StartupItems/Privoxy
100 # There might have previously been a disabled Privoxy StartupItem
101 rm -rf /Library/StartupItems/Disabled/Privoxy
102 # Remove user and group
103 echo Removing privoxy user and group
104 dscl /Local/Default -delete /Users/_privoxy
105 dscl /Local/Default -delete /Groups/_privoxy
107 # Mac OS X 10.4, 10.3
109 # Delete Privoxy StartupItem
110 echo Delete Privoxy StartupItem
111 rm -rf /Library/StartupItems/Privoxy
112 # The installer might have disabled a previous Privoxy StartupItem
113 rm -rf /Library/StartupItems/Disabled/Privoxy
114 # Remove user and group
115 echo Removing privoxy user and group
116 niutil -destroy / /groups/privoxy
117 niutil -destroy / /users/privoxy
124 # Despite the various errors that may have been thrown, give the user a good feeling!
126 echo Uninstallation complete.
128 echo Uninstall aborted.
131 echo Uninstall aborted.
135 echo This script requires administrator privileges.
136 echo "Please run it from Terminal, using an administrator account, as follows:"
138 echo "sudo /Applications/Privoxy/uninstall.command"