<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>