--- title: Privoxy Configuration description: This script applies the Privoxy configuration stored at `${XDG_CONFIG_HOME:-HOME/.config}/privoxy/config` to the system and then restarts Privoxy sidebar_label: 28 Privoxy Configuration slug: /scripts/after/run_onchange_after_28-privoxy.sh.tmpl githubLocation: https://github.com/megabyte-labs/install.doctor/blob/master/home/.chezmoiscripts/universal/run_onchange_after_28-privoxy.sh.tmpl scriptLocation: https://github.com/megabyte-labs/install.doctor/raw/master/home/.chezmoiscripts/universal/run_onchange_after_28-privoxy.sh.tmpl repoLocation: home/.chezmoiscripts/universal/run_onchange_after_28-privoxy.sh.tmpl --- # Privoxy Configuration This script applies the Privoxy configuration stored at `${XDG_CONFIG_HOME:-HOME/.config}/privoxy/config` to the system and then restarts Privoxy ## Overview Privoxy is a web proxy that can be combined with Tor to provide an HTTPS / HTTP proxy that can funnel all traffic through Tor. This script: 1. Determines the system configuration file location 2. Applies the configuration stored at `${XDG_CONFIG_HOME:-HOME/.config}/privoxy/config` 3. Enables and restarts the Privoxy service with the new configuration ## Links * [Privoxy configuration](https://github.com/megabyte-labs/install.doctor/tree/master/home/dot_config/privoxy/config) ## Source Code ``` {{- if (ne .host.distro.family "windows") -}} #!/usr/bin/env bash # @file Privoxy Configuration # @brief This script applies the Privoxy configuration stored at `${XDG_CONFIG_HOME:-HOME/.config}/privoxy/config` to the system and then restarts Privoxy # @description # Privoxy is a web proxy that can be combined with Tor to provide an HTTPS / HTTP proxy that can funnel all traffic # through Tor. This script: # # 1. Determines the system configuration file location # 2. Applies the configuration stored at `${XDG_CONFIG_HOME:-HOME/.config}/privoxy/config` # 3. Enables and restarts the Privoxy service with the new configuration # # ## Links # # * [Privoxy configuration](https://github.com/megabyte-labs/install.doctor/tree/master/home/dot_config/privoxy/config) # privoxy config hash: {{ include (joinPath .host.home ".config" "privoxy" "config") | sha256sum }} {{ includeTemplate "universal/profile" }} {{ includeTemplate "universal/logg" }} # @description Define the Privoxy configuration location based on whether system is macOS or Linux if [ -d /Applications ] && [ -d /System ]; then # macOS PRIVOXY_CONFIG_DIR="$HOMEBREW_PREFIX/etc/privoxy" else # Linux PRIVOXY_CONFIG_DIR=/etc/privoxy fi PRIVOXY_CONFIG="$PRIVOXY_CONFIG_DIR/config" # @description Copy Privoxy configuration stored at `${XDG_CONFIG_HOME:-HOME/.config}/privoxy/config` to the system location if command -v privoxy > /dev/null; then if [ -d "$PRIVOXY_CONFIG_DIR" ]; then sudo cp -f "${XDG_CONFIG_HOME:-HOME/.config}/privoxy/config" "$PRIVOXY_CONFIG" sudo chmod 600 "$PRIVOXY_CONFIG" sudo chown privoxy:privoxy "$PRIVOXY_CONFIG" # @description Restart Privoxy after configuration is applied if [ -d /Applications ] && [ -d /System ]; then # macOS brew services restart privoxy else if [[ ! "$(test -d /proc && grep Microsoft /proc/version > /dev/null)" ]]; then # Linux sudo systemctl enable privoxy sudo systemctl restart privoxy else logg info 'The system is a WSL environment so the Privoxy systemd service will not be enabled / restarted' fi fi else logg warn 'The '"$PRIVOXY_CONFIG_DIR"' directory is missing' fi else logg warn 'privoxy is missing from the PATH' fi {{ end -}} ```