blob: 04335bda521169ea02e14dd87dab6469e625bdfd [file] [log] [blame]
Matthias Andreas Benkardb382b102021-01-02 15:32:21 +01001#!/usr/bin/env bash
2
3SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
4WORKING_DIR=${SCRIPT_DIR}/postwhite_tmp
5SPFTOOLS_DIR=${WORKING_DIR}/spf-tools
6POSTWHITE_DIR=${WORKING_DIR}/postwhite
7POSTWHITE_CONF=${POSTWHITE_DIR}/postwhite.conf
8
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +01009CUSTOM_HOSTS='"web.de gmx.net mail.de freenet.de arcor.de unity-mail.de"'
Matthias Andreas Benkardb382b102021-01-02 15:32:21 +010010STATIC_HOSTS=(
11 "194.25.134.0/24 permit # t-online.de"
12)
13
14mkdir ${SCRIPT_DIR}/postwhite_tmp
15git clone https://github.com/spf-tools/spf-tools.git ${SPFTOOLS_DIR}
16git clone https://github.com/stevejenkins/postwhite.git ${POSTWHITE_DIR}
17
18function set_config() {
19 sudo sed -i "s@^\($1\s*=\s*\).*\$@\1$2@" ${POSTWHITE_CONF}
20}
21
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +010022set_config custom_hosts "${CUSTOM_HOSTS}"
Matthias Andreas Benkardb382b102021-01-02 15:32:21 +010023set_config reload_postfix no
24set_config postfixpath /.
25set_config spftoolspath ${WORKING_DIR}/spf-tools
26set_config whitelist .${SCRIPT_DIR}/../data/conf/postfix/postscreen_access.cidr
27set_config yahoo_static_hosts ${POSTWHITE_DIR}/yahoo_static_hosts.txt
28
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +010029#Fix URL for Yahoo!: https://github.com/stevejenkins/postwhite/issues/59
30sudo sed -i \
31 -e 's#yahoo_url="https://help.yahoo.com/kb/SLN23997.html"#yahoo_url="https://senders.yahooinc.com/outbound-mail-servers/"#' \
32 -e 's#echo "ipv6:$line";#echo "ipv6:$line" | grep -v "ipv6:::";#' \
33 -e 's#`command -v wget`#`command -v skip-wget`#' \
34 ${POSTWHITE_DIR}/scrape_yahoo
35
Matthias Andreas Benkardb382b102021-01-02 15:32:21 +010036cd ${POSTWHITE_DIR}
37./postwhite ${POSTWHITE_CONF}
38
39( IFS=$'\n'; echo "${STATIC_HOSTS[*]}" >> "${SCRIPT_DIR}/../data/conf/postfix/postscreen_access.cidr")
40
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +010041rm -r ${WORKING_DIR}