<pre style='margin:0'>
Renee Otten (reneeotten) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/a64addb0257afba6fab936cb40618a5b82df7474">https://github.com/macports/macports-ports/commit/a64addb0257afba6fab936cb40618a5b82df7474</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new a64addb0257 adblock2privoxy: Bugfix, Enhancement
</span>a64addb0257 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit a64addb0257afba6fab936cb40618a5b82df7474
</span>Author: Steven Thomas Smith <s.t.smith@ieee.org>
AuthorDate: Fri Feb 26 21:47:10 2021 -0500

<span style='display:block; white-space:pre;color:#404040;'>    adblock2privoxy: Bugfix, Enhancement
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    * Specify blocklist URLs in user-controlled file
</span><span style='display:block; white-space:pre;color:#404040;'>    * Check for existence of download
</span><span style='display:block; white-space:pre;color:#404040;'>    * Fixes https://github.com/essandess/adblock2privoxy/issues/32
</span>---
 www/adblock2privoxy/Portfile                       | 96 +++++++++++-----------
 .../files/adblock2privoxy_blocklist.txt            | 10 +++
 2 files changed, 58 insertions(+), 48 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/adblock2privoxy/Portfile b/www/adblock2privoxy/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index ab048e23887..0dedaf05da9 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/www/adblock2privoxy/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/adblock2privoxy/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,7 +5,7 @@ PortGroup           haskell_stack 1.0
</span> 
 name                adblock2privoxy
 version             2.0.1
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            3
</span> categories          www haskell
 maintainers         @essandess
 license             GPL-3
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13,24 +13,24 @@ platforms           macosx
</span> homepage            https://github.com/essandess/adblock2privoxy
 
 description         Convert adblock config files to privoxy format
<span style='display:block; white-space:pre;background:#ffe0e0;'>-long_description    ${description}.\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    AdBlock Plus browser plugin has great block list\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    files provided by big community, but it is client\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    software and cannot work on a server as proxy.\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    Privoxy proxy has good potential to block ads at\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    server side, but it experiences acute shortage of\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    updated block lists.  This software converts\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    adblock lists to privoxy config files format.\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    Almost all adblock features are supported\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    including block/unblock requests (on privoxy) all\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    syntax features are supported except for regex\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    templates matching host name hide/unhide page\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    elements (via CSS) all syntax features are\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    supported all block request options except for\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    outdated ones: Supported: script, image,\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    stylesheet, object, xmlhttprequest,\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    object-subrequest, subdocument, document,\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    elemhide, other, popup, third-party, domain=...,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    {*}${description}. \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    AdBlock Plus browser plugin has great block list \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    files provided by big community, but it is client \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    software and cannot work on a server as proxy. \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    Privoxy proxy has good potential to block ads at \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    server side, but it experiences acute shortage of \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    updated block lists.  This software converts \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    adblock lists to privoxy config files format. \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    Almost all adblock features are supported \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    including block/unblock requests (on privoxy) all \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    syntax features are supported except for regex \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    templates matching host name hide/unhide page \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    elements (via CSS) all syntax features are \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    supported all block request options except for \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    outdated ones: Supported: script, image, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    stylesheet, object, xmlhttprequest, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    object-subrequest, subdocument, document, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    elemhide, other, popup, third-party, domain=..., \
</span>                     match-case, donottrack.
 
 master_sites        https://hackage.haskell.org/package/${name}-${version}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -41,13 +41,14 @@ checksums           rmd160  301ba12cb3c624eaca766400972818b79b52adce \
</span> 
 depends_run-append \
                     port:nginx \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:privoxy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:privoxy \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:wget
</span> 
 variant initialize_always \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    description {Always initialize all configuration files. Intended\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        for development and troubleshooting only. Working deployments\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        must disable this variant to prevent configuration files\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        being overwritten at the next upgrade. Existing configuration\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    description {Always initialize all configuration files. Intended \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        for development and troubleshooting only. Working deployments \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        must disable this variant to prevent configuration files \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        being overwritten at the next upgrade. Existing configuration \
</span>         files are not overwritten by default.} {
     ui_warn \
         "
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -103,6 +104,9 @@ post-destroot {
</span>         }
     }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 0644 -W ${filespath} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        adblock2privoxy_blocklist.txt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${prefix}/etc/${name}/adblock2privoxy_blocklist.txt.macports
</span>     xinstall -m 0644 -W ${filespath} \
         nginx.conf \
         ${destroot}${prefix}/etc/${name}/nginx.conf.macports
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -116,21 +120,16 @@ post-destroot {
</span> startupitem.create  yes
 startupitems \
     name            ${name} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    start           "\"( /bin/test -f \\\"\${prefix}/etc/adblock2privoxy/privoxy/ab2p.task\\\" \\\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    start           "\"( IFS=\$'\\\\n' ADBLOCK2PRIVOXY_BLOCKLIST=(\$(grep -v -e '^ *#' < \${prefix}/etc/${name}/adblock2privoxy_blocklist.txt \\\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t\t| while read -r t; do if wget --max-redirect=0 -S --spider \$t 2>&1 | grep -q 'HTTP/1.1 200 OK'; then echo \$t; fi done)); \\\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t/bin/test -f \\\"\${prefix}/etc/adblock2privoxy/privoxy/ab2p.task\\\" \\\\
</span> \t&& \\\"\${prefix}/bin/adblock2privoxy\\\" -t \\\"\${prefix}/etc/adblock2privoxy/privoxy/ab2p.task\\\" \\\\
 \t|| \\\"\${prefix}/bin/adblock2privoxy\\\" -p \\\"\${prefix}/etc/adblock2privoxy/privoxy\\\" \\\\
 \t\t-w \\\"\${prefix}/etc/adblock2privoxy/css\\\" \\\\
 \t\t-d 127.0.0.1:8119 \\\\
<span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\thttps://easylist.to/easylist/easyprivacy.txt \\\\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\thttps://easylist.to/easylist/easylist.txt \\\\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\thttps://easylist.to/easylist/fanboy-annoyance.txt \\\\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\thttps://easylist.to/easylist/fanboy-social.txt \\\\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\thttps://easylist-downloads.adblockplus.org/antiadblockfilters.txt \\\\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\thttps://easylist-downloads.adblockplus.org/malwaredomains_full.txt \\\\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\thttps://raw.githubusercontent.com/ryanbr/fanboy-adblock/master/fanboy-antifacebook.txt \\\\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\thttps://raw.githubusercontent.com/Dawsey21/Lists/master/adblock-list.txt \\\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t\t\\\"\${ADBLOCK2PRIVOXY_BLOCKLIST\[@]}\\\" \\\\
</span> \t) && \\\"\${prefix}/bin/port\\\" reload privoxy\"" \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    stop            "\"/usr/bin/kill -SIGUSR1 `/usr/bin/pgrep -u root ${name}` 2>/dev/null\"" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    stop            "\"/usr/bin/kill -SIGUSR1 \\\"\$(/usr/bin/pgrep -u root ${name})\\\" 2>/dev/null\"" \
</span>     pidfile         none
 
 startupitems-append \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -142,10 +141,10 @@ startupitems-append \
</span> \t\t-g \\\\
 \t\t\\\"daemon off;\\\"\"" \
     stop            "\"if \[ -f \${pidfile} \]; then
<span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\t/usr/bin/kill `cat \${pidfile}` \\\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t\t/usr/bin/kill \\\"\$(cat \${pidfile})\\\" \\\\
</span> \t\t\t&& /bin/rm -f \${pidfile} ;
 \telse
<span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\t/usr/bin/kill -SIGUSR1 `/usr/bin/pgrep -u root nginx` 2>/dev/null ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t\t/usr/bin/kill -SIGUSR1 \\\"\$(/usr/bin/pgrep -u root nginx)\\\" 2>/dev/null ;
</span> \tfi\""
 
 post-activate {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -166,6 +165,7 @@ post-activate {
</span>         ${prefix}/etc/${startupitem.location}/org.macports.${name}/org.macports.${name}.plist
 
     foreach f [list \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${prefix}/etc/${name}/adblock2privoxy_blocklist.txt \
</span>         ${prefix}/etc/${name}/nginx.conf \
         ${prefix}/etc/${name}/css/default.html \
         ] {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -189,18 +189,18 @@ post-activate {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-notes "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+notes "After initial installation, it is necessary to kickstart this launch daemon, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+which does not run at load:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+sudo launchctl kickstart -k system/org.macports.adblock2privoxy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The blocklist URLs are specified in the file
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+${prefix}/etc/${name}/adblock2privoxy_blocklist.txt.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> Example production run:
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-adblock2privoxy -p ${prefix}/etc/adblock2privoxy/privoxy -w ${prefix}/etc/adblock2privoxy/css -d 10.0.1.3:8119 \\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  https://easylist.to/easylist/easyprivacy.txt  \\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  https://easylist.to/easylist/easylist.txt  \\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  https://easylist.to/easylist/fanboy-annoyance.txt  \\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  https://easylist.to/easylist/fanboy-social.txt  \\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  https://easylist-downloads.adblockplus.org/antiadblockfilters.txt  \\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  https://easylist-downloads.adblockplus.org/malwaredomains_full.txt  \\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  https://raw.githubusercontent.com/ryanbr/fanboy-adblock/master/fanboy-antifacebook.txt \\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  https://raw.githubusercontent.com/Dawsey21/Lists/master/adblock-list.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+adblock2privoxy -p ${prefix}/etc/adblock2privoxy/privoxy -w ${prefix}/etc/adblock2privoxy/css -d 127.0.0.1:8119 \\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  \$(< ${prefix}/etc/${name}/adblock2privoxy_blocklist.txt)
</span> 
 Update run:
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -212,7 +212,7 @@ if { [variant_isset "initialize_always"] } {
</span>         notes-append ""
     }
     notes-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        "The variant +initialize_always is set, which initializes\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        all configuration files. Please disable this variant for\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "The variant +initialize_always is set, which initializes \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        all configuration files. Please disable this variant for \
</span>         working deployments."
 }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/adblock2privoxy/files/adblock2privoxy_blocklist.txt b/www/adblock2privoxy/files/adblock2privoxy_blocklist.txt
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..09e47f1953d
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/adblock2privoxy/files/adblock2privoxy_blocklist.txt
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://easylist.to/easylist/easyprivacy.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://easylist.to/easylist/easylist.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://easylist.to/easylist/fanboy-annoyance.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://easylist.to/easylist/fanboy-social.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://secure.fanboy.co.nz/fanboy-cookiemonster.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://s3.amazonaws.com/lists.disconnect.me/simple_tracking.txt    
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://raw.githubusercontent.com/ryanbr/fanboy-adblock/master/fanboy-antifacebook.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://raw.githubusercontent.com/Dawsey21/Lists/master/adblock-list.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://raw.githubusercontent.com/mmotti/pihole-regex/master/regex.list
</span></pre><pre style='margin:0'>

</pre>