[prev in list] [next in list] [prev in thread] [next in thread] 

List:       macports-changes
Subject:    [macports-ports] branch master updated: adblock2privoxy: Update to version 2.1.0, add https_inspecti
From:       Steve Smith via macports-changes <macports-changes () lists ! macports ! org>
Date:       2021-12-12 20:42:56
Message-ID: 163934178534.30992.8599174195226516338 () braeburn ! macports ! org
[Download RAW message or body]

<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/05467904286f8eb5bbb3de1c \
5494f81c4a1cc311">https://github.com/macports/macports-ports/commit/05467904286f8eb5bbb3de1c5494f81c4a1cc311</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 05467904286 adblock2privoxy: Update to \
version 2.1.0, add https_inspection, bugfixes </span>05467904286 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit \
05467904286f8eb5bbb3de1c5494f81c4a1cc311 </span>Author: Steven Thomas Smith \
                &lt;s.t.smith@ieee.org&gt;
AuthorDate: Sat Dec 11 21:11:13 2021 -0500

<span style='display:block; white-space:pre;color:#404040;'>    adblock2privoxy: \
Update to version 2.1.0, add https_inspection, bugfixes </span>---
 www/adblock2privoxy/Portfile                       | 403 ++++++++++++++++++---
 www/adblock2privoxy/files/nginx.conf               |  28 +-
 www/adblock2privoxy/files/openssl.cnf              | 229 ++++++++++++
 .../files/private.myserver.launchctl-setenv.plist  |  16 +
 4 files changed, 630 insertions(+), 46 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 41d64970c3e..7b134154772 \
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;'>@@ -4,13 +4,11 @@ \
PortSystem          1.0 </span> PortGroup           haskell_stack 1.0
 
 name                adblock2privoxy
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             \
2.0.2 </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+version             2.1.0 </span> revision      \
0  categories          www haskell
 maintainers         {ieee.org:s.t.smith @essandess} openmaintainer
 license             GPL-3
<span style='display:block; white-space:pre;background:#ffe0e0;'>-platforms           \
macosx </span><span style='display:block; \
white-space:pre;background:#ffe0e0;'>-homepage            \
https://github.com/essandess/adblock2privoxy </span> 
 description         Convert adblock config files to privoxy format
 long_description    {*}${description}. \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -33,11 +31,13 @@ \
long_description    {*}${description}. \ </span>                     elemhide, other, \
popup, third-party, domain=..., \  match-case, donottrack.
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            \
https://github.com/essandess/adblock2privoxy </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span> master_sites        \
https://hackage.haskell.org/package/${name}-${version}  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           \
rmd160  cd58a6b4603dcdce6b5e4014c4fcdd3d6c32753d \ </span><span style='display:block; \
white-space:pre;background:#ffe0e0;'>-                    sha256  \
c3f90360945df6e2e1fd86b491f980b4621b114020ecfc2220e295db57069c4e \ </span><span \
style='display:block; white-space:pre;background:#ffe0e0;'>-                    size  \
42133 </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+checksums           rmd160  \
da82eb5ece0f97b9ebf3ec97f6631f45d4bb30c5 \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                    sha256  \
1c5ac2cb54cc9fd336a5ece50a8acbfaee13281ffe8c3a9d8c8b8b44f5859e70 \ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+                    size  \
42526 </span> 
 depends_run-append \
                     port:nginx \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -45,19 +45,23 @@ \
depends_run-append \ </span>                     port:wget
 
 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.} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    ui_warn \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\tAll \
configuration files will be initialized because </span><span style='display:block; \
white-space:pre;background:#ffe0e0;'>-\tthe variant +initialize_always is set. Please \
disable </span><span style='display:block; \
white-space:pre;background:#ffe0e0;'>-\tthis variant for working deployments. \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    \
pre-fetch { </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \
ui_warn \ </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   \
"All configuration files will be initialized because\ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+            the variant \
+initialize_always is set. Please disable\ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            this variant for working \
deployments." </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+    } </span> }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# use domain or ip \
with port, e.g. 127.0.0.1:8119 </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+set adblock2privoxy_css_server \ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+                    \
127.0.0.1:8119 </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span> # relative paths to ${prefix}
 set ab2p_datadir    share/${name}
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -90,7 +94,7 @@ \
post-extract { </span> }
 
 post-destroot {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m \
0755 -d \ </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   \
xinstall -d \ </span>         ${destroot}${prefix}/share/${name}/templates \
         ${destroot}${prefix}/etc/${name} \
         ${destroot}${prefix}/etc/${name}/privoxy \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -115,37 +119,329 \
@@ post-destroot { </span>         \
${destroot}${prefix}/etc/${name}/css/default.html.macports  reinplace \
"s|@PREFIX@|${prefix}|g" \  ${destroot}${prefix}/etc/${name}/nginx.conf.macports
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</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;'>+        private.myserver.launchctl-setenv.plist \
\ </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        \
${destroot}${prefix}/share/${name} </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+} </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+set tls_ca_dir      \
${prefix}/etc/${name}/ca.macports </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+set tls_cert_dir    ${prefix}/etc/${name}/certs \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant \
https_inspection \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+    description {HTTPS CSS Server for use with \
'privoxy +https_inspection'.} { </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+    depends_build-append \ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+                    \
port:sf-pwgen </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+    depends_lib-append \ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+                    \
path:bin/openssl:openssl </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+    # random 4-word-based passphrase \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    proc \
correct_horse_battery_staple {} { </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+        # ignore errors from sf-pwgen if the \
password is shorter than requested </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+        set passphrase \ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+            [join [exec \
sh -c "sf-pwgen \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                --algorithm memorable --count 2 \
--length 16 \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                    2&gt;/dev/null || true"] -] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # \
set random passphrase if sf-pwgen's is too short for some reason </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[string \
length ${passphrase}] &lt; 20} { </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            set passphrase \ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+                [exec sh \
-c "openssl rand -base64 23 2&gt;/dev/null \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                    | sed 's|=*\$||' || true"] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        \
return ${passphrase} </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+    } </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+    post-destroot { </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+        # TLS Root CA \
configuration </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+        xinstall -m 0770 -d \
${destroot}${tls_cert_dir} </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+        xinstall -m 0700 -d \
${destroot}${tls_ca_dir} </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+        destroot.keepdirs-append \ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+                    \
${destroot}${tls_cert_dir} </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;'>+             \
openssl.cnf \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                    \
${destroot}${tls_ca_dir}/openssl.cnf.macports </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+    } </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+    pre-activate { </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+        if { [file exists \
${tls_ca_dir}] } { </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            delete  ${tls_ca_dir}.previous \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            \
move    ${tls_ca_dir} \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                    ${tls_ca_dir}.previous \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    \
post-activate { </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+        foreach f [list \ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+            \
${tls_ca_dir}/openssl.cnf \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            ] { </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+            if { \
[variant_isset "initialize_always"] </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                 &amp;&amp; [file exists ${f}] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             \
} { </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         \
delete ${f}.previous </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                move \ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${f} \
\ </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           \
${f}.previous </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            } </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+            if { \
[variant_isset "initialize_always"] </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                || ![file exists ${f}] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             \
} { </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         \
if { [file isfile ${f}.macports] } { </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                    xinstall -m 0644 \ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             \
${f}.macports \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                        ${f} </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+                } \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            \
} </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # CA \
passphrase </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  \
# generate a strong password, use for openssl -passin and -passout </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+        set \
tls_ca_passphrase \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            [correct_horse_battery_staple] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set \
tls_ca_passphrase_fd \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            [open ${tls_ca_dir}/passphrase.txt \
w 0600] </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     \
# -passin or -passout </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+        puts ${tls_ca_passphrase_fd} \ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            \
${tls_ca_passphrase} </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+        # -passout </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+        puts \
${tls_ca_passphrase_fd} \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            ${tls_ca_passphrase} </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+        close \
${tls_ca_passphrase_fd} </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+        # create the root CA </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+        system -W \
${tls_ca_dir} \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            "sh &lt;&lt;ADBLOCK2PRIVOXY_PKI \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            \
# initialize </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            touch index.txt </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+            echo 1000 \
&gt; serial </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            \
# CA encrypted key </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            # EC </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+            openssl \
genpkey -out ca.key.pem -algorithm EC \\ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                -pkeyopt \
ec_paramgen_curve:P-384 -aes256 \\ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                -pass file:passphrase.txt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            \
# RSA </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       \
# openssl genpkey -out ca.key.pem -algorithm RSA \\ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+            #     \
-pkeyopt rsa_keygen_bits:2048 -aes256 \\ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            #     -passout file:passphrase.txt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            \
chmod go-rw ca.key.pem </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            # CA certificate </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+            openssl req \
-config openssl.cnf \\ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                -new -x509 -days 1460 -sha256 \
\\ </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+          \
-extensions v3_ca \\ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                -out ca.cert.pem -key \
ca.key.pem \\ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                -passin file:passphrase.txt \
-batch </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            \
# CA certificate openssl self-verification </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            openssl verify -CAfile ca.cert.pem \
ca.cert.pem </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            \
# Convert to .cer DER and .p12 for other uses </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            openssl x509 -outform der -in \
ca.cert.pem -out ca.cer </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            openssl pkcs12 -export -out ca.p12 \
\\ </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+          \
-inkey ca.key.pem -in ca.cert.pem \\ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                -passin file:passphrase.txt \\ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             \
-passout file:passphrase.txt </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            # verify .p12 passphrase \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            \
openssl pkcs12 -noout -in ca.p12 -passin file:passphrase.txt </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+            # Server \
certificates </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            # Server certificate encrypted key \
and decrypted key </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            openssl genpkey -out \
adblock2privoxy-nginx.key.pem \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                -algorithm EC -pkeyopt \
ec_paramgen_curve:P-384 -aes256 \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                -pass file:passphrase.txt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            \
openssl ec -in adblock2privoxy-nginx.key.pem \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+               -passin file:passphrase.txt \ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             \
-out adblock2privoxy-nginx.key.pem.decrypted </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            chmod go-rwx \
adblock2privoxy-nginx.key.pem.decrypted </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            # Server certificate CSR \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            \
openssl req -config openssl.cnf -new -sha256 \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                 -extensions server_cert -key \
adblock2privoxy-nginx.key.pem \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                 -passin file:passphrase.txt \ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             \
-out adblock2privoxy-nginx.csr.pem -batch </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            # Server certificate (825 days \
maximum validity) </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            # \
https://support.apple.com/en-us/HT210176 </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            openssl ca -config openssl.cnf \
-days 825 -notext -md sha256 \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                -extensions server_cert -in \
adblock2privoxy-nginx.csr.pem \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                -out \
adblock2privoxy-nginx.cert.pem \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                -passin file:passphrase.txt \ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             \
-subj '/CN=adblock2privoxy-nginx' -batch </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            # Server certificate chain of trust \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            \
cat adblock2privoxy-nginx.cert.pem ca.cert.pem \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                &gt; \
adblock2privoxy-nginx.chain.pem </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            # Server certificate and chain \
validity </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    \
openssl verify -CAfile ca.cert.pem adblock2privoxy-nginx.cert.pem </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+            openssl \
verify -CAfile ca.cert.pem adblock2privoxy-nginx.chain.pem </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+ADBLOCK2PRIVOXY_PKI \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if { \
![file exists ${tls_cert_dir}/adblock2privoxy-nginx.cert.pem] </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+            || ![file \
exists ${tls_cert_dir}/adblock2privoxy-nginx.key.pem.decrypted] </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+            } { \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            \
xinstall -m 0664 \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                    ${tls_ca_dir}/ca.cert.pem \ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             \
${tls_cert_dir} </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            xinstall -m 0664 \ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+                    \
${tls_ca_dir}/ca.key.pem \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                    ${tls_cert_dir} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            \
xinstall -m 0600 \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                    \
${tls_ca_dir}/passphrase.txt \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                    ${tls_cert_dir} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            \
xinstall -m 0664 \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                    \
${tls_ca_dir}/adblock2privoxy-nginx.cert.pem \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                    ${tls_cert_dir} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            \
xinstall -m 0664 \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                    \
${tls_ca_dir}/adblock2privoxy-nginx.chain.pem \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                    ${tls_cert_dir} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            \
xinstall -m 0664 \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                    \
${tls_ca_dir}/adblock2privoxy-nginx.key.pem \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                    ${tls_cert_dir} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            \
xinstall -m 0600 \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                    \
${tls_ca_dir}/adblock2privoxy-nginx.key.pem.decrypted \ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+                    \
${tls_cert_dir} </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+        } </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+        if { ![file exists \
${tls_cert_dir}/dhparam.pem] </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            } { </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+            system -W \
${tls_ca_dir} \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                "sh &lt;&lt;ADBLOCK2PRIVOXY_DH \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             \
# DH params </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \
openssl dhparam -out dhparam.pem 2048 </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ADBLOCK2PRIVOXY_DH </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+" </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+            xinstall -m \
0664 \ </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      \
${tls_ca_dir}/dhparam.pem \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                    ${tls_cert_dir} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if { \
![file exists ${tls_cert_dir}/openssl.cnf] </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            } { </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+            xinstall -m \
0664 \ </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      \
${tls_ca_dir}/openssl.cnf \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                    ${tls_cert_dir} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # check \
adblock2privoxy-nginx certificate validity </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+    # 30 days = 2592000 seconds </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+    post-activate { \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set \
ab2p_cert_valid [exec /bin/sh -c \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            "if openssl x509 -checkend 2592000 \
-noout \ </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    \
-in \"${tls_cert_dir}/adblock2privoxy-nginx.cert.pem\" \ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+                \
1&gt;/dev/null 2&gt;&amp;1; \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                    then echo 'WONT_EXPIRE'; \ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             \
else echo 'WILL_EXPIRE'; fi"] </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+        if {[string trim ${ab2p_cert_valid}] ne \
{WONT_EXPIRE}} { </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            ui_warn "Certificate \
${tls_cert_dir}/adblock2privoxy-nginx.cert.pem expired or will expire within 30 \
days." </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      \
} </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    \
notes-append \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+       "Configure adblock2privoxy PKI by \
creating a\ </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \
certificate from e.g. Privoxy's certificate authority (CA). As sudo: </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+        # Example, more \
likely use ${prefix}/etc/privoxy/CA </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+        cp -R ${prefix}/etc/privoxy/ca.macports \
ca.adblock2privoxy &amp;&amp; cd ca.adblock2privoxy </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+        cp \
${tls_cert_dir}/openssl.cnf . </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+        # edit openssl.cnf for your local \
organizationName, commonName, etc. </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+        # initialize </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+        touch index.txt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        echo \
1000 &gt; serial </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+        # Server certificates </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+        # Server \
certificate encrypted key and decrypted key </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+        openssl genpkey -out \
adblock2privoxy-nginx.key.pem \\ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            -algorithm EC -pkeyopt \
ec_paramgen_curve:P-384 -aes256 \\ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            -pass file:passphrase.txt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        \
openssl ec -in adblock2privoxy-nginx.key.pem \\ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+           -passin file:passphrase.txt \ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           \
-out adblock2privoxy-nginx.key.pem.decrypted </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+        chmod go-rwx \
adblock2privoxy-nginx.key.pem.decrypted </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+        # Server certificate CSR </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+        openssl req \
-config openssl.cnf -new -sha256 \\ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+             -extensions server_cert -key \
adblock2privoxy-nginx.key.pem \\ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+             -passin file:passphrase.txt \ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             \
-out adblock2privoxy-nginx.csr.pem -batch </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+        # Server certificate (825 days maximum \
validity) </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   \
# https://support.apple.com/en-us/HT210176 </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+        openssl ca -config openssl.cnf -days \
825 -notext -md sha256 \\ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            -extensions server_cert -in \
adblock2privoxy-nginx.csr.pem \\ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            -out adblock2privoxy-nginx.cert.pem \
\\ </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+          \
-passin file:passphrase.txt \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            -subj '/CN=adblock2privoxy-nginx' \
-batch </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # \
Server certificate chain of trust </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+        cat adblock2privoxy-nginx.cert.pem \
ca.cert.pem \\ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            &gt; \
adblock2privoxy-nginx.chain.pem </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+        # Server certificate and chain validity \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        \
openssl verify -CAfile ca.cert.pem adblock2privoxy-nginx.cert.pemw </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+        openssl verify \
-CAfile ca.cert.pem adblock2privoxy-nginx.chain.pem </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+        # Install the \
adblock2privoxy PKI </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+        cp -p ca.key.pem ca.cert.pem \
passphrase.pem \\ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            adblock2privoxy-nginx.cert.pem \
adblock2privoxy-nginx.chain.pem \\ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            adblock2privoxy-nginx.key.pem \
adblock2privoxy-nginx.key.pem.decrypted \\ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+            ${tls_cert_dir} </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+" </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+} </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+default_variants-append \ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             \
+https_inspection </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+# default: empty flag </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+set ab2p_use_http_flag \ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             \
{} </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if { \
![variant_isset "https_inspection"] } { </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+    set ab2p_use_http_flag \ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+                    {-u} \
</span> }  
 startupitem.create  yes
 startupitems \
     name            ${name} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    start           \
"\"( IFS=\$'\\\\n' ADBLOCK2PRIVOXY_BLOCKLIST=(\$(grep -v -e '^ *#' &lt; \
\${prefix}/etc/${name}/adblock2privoxy_blocklist.txt \\\\ </span><span \
style='display:block; white-space:pre;background:#ffe0e0;'>-\t\t| while read -r t; do \
if wget --max-redirect=0 -S --spider \$t 2&gt;&amp;1 | grep -q 'HTTP/1.1 200 OK'; \
then echo \$t; fi done)); \\\\ </span><span style='display:block; \
white-space:pre;background:#ffe0e0;'>-\t/bin/test -f \
\\\"\${prefix}/etc/adblock2privoxy/privoxy/ab2p.task\\\" \\\\ </span><span \
style='display:block; white-space:pre;background:#ffe0e0;'>-\t&amp;&amp; \
\\\"\${prefix}/bin/adblock2privoxy\\\" -t \
\\\"\${prefix}/etc/adblock2privoxy/privoxy/ab2p.task\\\" \\\\ </span><span \
style='display:block; white-space:pre;background:#ffe0e0;'>-\t|| \
\\\"\${prefix}/bin/adblock2privoxy\\\" -p \
\\\"\${prefix}/etc/adblock2privoxy/privoxy\\\" \\\\ </span><span \
style='display:block; white-space:pre;background:#ffe0e0;'>-\t\t-w \
\\\"\${prefix}/etc/adblock2privoxy/css\\\" \\\\ </span><span style='display:block; \
white-space:pre;background:#ffe0e0;'>-\t\t-d 127.0.0.1:8119 \\\\ </span><span \
style='display:block; \
white-space:pre;background:#ffe0e0;'>-\t\t\\\"\${ADBLOCK2PRIVOXY_BLOCKLIST\[@]}\\\" \
\\\\ </span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t) \
&amp;&amp; \\\"\${prefix}/bin/port\\\" reload privoxy\"" \ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+    init            \
"ADBLOCK2PRIVOXY_CSS_SERVER=\"\${ADBLOCK2PRIVOXY_CSS_SERVER:-${adblock2privoxy_css_server}}\"" \
\ </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    start \
[list     "( IFS=\$'\\n' ADBLOCK2PRIVOXY_BLOCKLIST=(\$(grep -v -e '^ *#' &lt; \
\${prefix}/etc/${name}/adblock2privoxy_blocklist.txt \\" \ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+                    "\t| \
while read -r t; do if \"\${prefix}/bin/wget\" --max-redirect=0 -S --spider \"\${t}\" \
2&gt;&amp;1 | grep -q 'HTTP/1.1 200 OK'; then echo \"\${t}\"; fi done)); \\" \ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             \
"/bin/test -f \"\${prefix}/etc/adblock2privoxy/privoxy/ab2p.task\" \\" \ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+                    \
"&amp;&amp; \"\${prefix}/bin/adblock2privoxy\" -t \
\"\${prefix}/etc/adblock2privoxy/privoxy/ab2p.task\" \\" \ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+                    "|| \
\"\${prefix}/bin/adblock2privoxy\" -p \"\${prefix}/etc/adblock2privoxy/privoxy\" \\" \
\ </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           \
"\t-w \"\${prefix}/etc/adblock2privoxy/css\" \\" \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                    "\t-d \
\${ADBLOCK2PRIVOXY_CSS_SERVER} ${ab2p_use_http_flag} \\" \ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+                    \
"\t\"\${ADBLOCK2PRIVOXY_BLOCKLIST\[@]}\" \\" \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                    ") &amp;&amp; \
\"\${prefix}/bin/port\" reload privoxy" \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+    ] \ </span>     stop            \
"\"/usr/bin/kill -SIGUSR1 \\\"\$(/usr/bin/pgrep -u root ${name})\\\" \
2&gt;/dev/null\"" \  pidfile         none
 
 startupitems-append \
     name            ${name}-nginx \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    init            \
"\"pidfile=\\\"\${prefix}/var/run/nginx/nginx-adblock2privoxy.pid\\\"\"" \ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    start    \
"\"\\\"\${prefix}/sbin/nginx\\\" \\\\ </span><span style='display:block; \
white-space:pre;background:#ffe0e0;'>-\t\t-c \\\\ </span><span style='display:block; \
white-space:pre;background:#ffe0e0;'>-\t\t\\\"\${prefix}/etc/${name}/nginx.conf\\\" \
\\\\ </span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\t-g \
\\\\ </span><span style='display:block; \
white-space:pre;background:#ffe0e0;'>-\t\t\\\"daemon off;\\\"\"" \ </span><span \
style='display:block; white-space:pre;background:#ffe0e0;'>-    stop            "\"if \
\[ -f \${pidfile} \]; then </span><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:#ffe0e0;'>-\t\t\t&amp;&amp; /bin/rm -f \${pidfile} ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\telse \
</span><span style='display:block; \
white-space:pre;background:#ffe0e0;'>-\t\t/usr/bin/kill -SIGUSR1 \
\\\"\$(/usr/bin/pgrep -u root nginx)\\\" 2&gt;/dev/null ; </span><span \
style='display:block; white-space:pre;background:#ffe0e0;'>-\tfi\"" </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+    init            \
"pidfile=\"\${prefix}/var/run/nginx/nginx-adblock2privoxy.pid\"" \ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+    start [list     \
"\"\${prefix}/sbin/nginx\" \\" \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                    "\t-c \\" \ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+                    \
"\t\"\${prefix}/etc/${name}/nginx.conf\" \\" \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                    "\t-g \"daemon off;\"" \ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ] \ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    stop \
[list      "if \[ -f \"\${pidfile}\" \]; then" \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                    "\t/usr/bin/kill \"\$(cat \
\"\${pidfile}\")\" \\" \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                    "\t\t&amp;&amp; /bin/rm -f \
\"\${pidfile}\" ;" \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+                    "else" \ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+                    \
"\t/usr/bin/kill -SIGUSR1 \"\$(/usr/bin/pgrep -u root nginx)\" 2&gt;/dev/null ;" \ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             \
"fi" \ </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ]
</span> 
 post-activate {
     # org.macports.adblock2privoxy
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -161,6 +457,10 @@ \
post-activate { </span> 			&lt;integer&gt;30&lt;/integer&gt;\\
 		&lt;/dict&gt;\\
 	&lt;/array&gt;\\
<span style='display:block; \
white-space:pre;background:#e0ffe0;'>+	&lt;key&gt;StandardErrorPath&lt;/key&gt;\\ \
</span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+	&lt;string&gt;${prefix}/var/log/${name}.log&lt;/string&gt;\\
 </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+	&lt;key&gt;StandardOutPath&lt;/key&gt;\\ \
</span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+	&lt;string&gt;${prefix}/var/log/${name}.log&lt;/string&gt;\\
 </span> &amp;|" \
         ${prefix}/etc/${startupitem.location}/org.macports.${name}/org.macports.${name}.plist
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -189,22 +489,35 \
@@ post-activate { </span>     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-notes "After \
initial installation, it is necessary to kickstart this launch daemon, \ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+notes "\ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+After initial \
installation, it is necessary to kickstart this launch daemon,\ </span> which does \
not run at load:  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-sudo launchctl \
kickstart -k system/org.macports.adblock2privoxy </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:#ffe0e0;'>-The blocklist URLs \
are specified in the file </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+The blocklist URLs are specified in the file\ \
</span> ${prefix}/etc/${name}/adblock2privoxy_blocklist.txt.  
 Example production run:
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-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;'>+  adblock2privoxy -p \
${prefix}/etc/adblock2privoxy/privoxy -w ${prefix}/etc/adblock2privoxy/css -d \
${adblock2privoxy_css_server} \\ </span>   \$(&lt; \
${prefix}/etc/${name}/adblock2privoxy_blocklist.txt)  
 Update run:
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-adblock2privoxy -t \
${prefix}/etc/adblock2privoxy/privoxy/ab2p.task" </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+  adblock2privoxy -t \
${prefix}/etc/adblock2privoxy/privoxy/ab2p.task </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+The CSS web server domain name or IP address is \
specified by the\ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+environment variables (with default values): \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  \
\${ADBLOCK2PRIVOXY_CSS_SERVER:-${adblock2privoxy_css_server}} </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+To change site-specific \
launchd environment variables,\ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+use the launchd plist: </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+  \
${prefix}/share/${name}/private.myserver.launchctl-setenv.plist </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+" </span> 
 if { [variant_isset "initialize_always"] } {
     if {[exists notes]} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -212,7 +525,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/nginx.conf b/www/adblock2privoxy/files/nginx.conf \
</span><span style='display:block; white-space:pre;color:#808080;'>index \
556eeefad65..c4bf3cef36f 100644 </span><span style='display:block; \
white-space:pre;background:#e0e0ff;'>--- a/www/adblock2privoxy/files/nginx.conf \
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ \
b/www/adblock2privoxy/files/nginx.conf </span><span style='display:block; \
white-space:pre;background:#e0e0e0;'>@@ -23,14 +23,40 @@ http { </span>     #ab2p css \
domain name (optional, should be equal to --domainCSS parameter)  server_name \
localhost;  
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    ssl on;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    \
ssl_certificate      \
@PREFIX@/etc/adblock2privoxy/certs/adblock2privoxy-nginx.chain.pem; </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+    ssl_certificate_key  \
@PREFIX@/etc/adblock2privoxy/certs/adblock2privoxy-nginx.key.pem.decrypted; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # use \
modern crypto </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+    # https://ssl-config.mozilla.org \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    \
ssl_protocols TLSv1.3; </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+    ssl_prefer_server_ciphers on; </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+    ssl_dhparam \
@PREFIX@/etc/adblock2privoxy/certs/dhparam.pem; </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+    ssl_ciphers \
TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:EECDH+AESGCM:EDH+AESGCM;
 </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    \
ssl_ecdh_curve secp384r1; </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+    ssl_session_timeout  180m; </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+    ssl_session_cache    \
shared:SSL:20m; </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+    ssl_session_tickets  off; </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+    add_header \
Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # comply \
with Content Security policy </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+    add_header Content-Type "text/css"; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    \
add_header X-Content-Type-Options nosniff; </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span>     #root = --webDir parameter value
     root @PREFIX@/etc/adblock2privoxy/css;
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    # If useHTTP is \
set: </span>     # Ensure that http://localhost:8119/ is a legitimate (200 return \
code)  # default page; use as iOS proxy.pac blackhole
     # Test with curl -I --proxy http://127.0.0.1:8119 \
http://www.foo.com/bar?q=snafoo  location / {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        rewrite ^ \
/default.html break; </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+      return 301 \
http://$server_name:$server_port/@blackhole?; </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+      # rewrite ^ /default.html break; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    location \
~ ^/@blackhole { </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+      default_type text/html; </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+      return 200 \
"&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n&lt;head&gt;\n&lt;meta \
charset='utf-8'&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;p&gt;&lt;a \
href=\"https://github.com/essandess/adblock2privoxy\"&gt;adblock2privoxy&lt;/a&gt; \
blackhole 🕳&lt;/p&gt;\n&lt;/body&gt;\n&lt;/html&gt;\n"; </span>     }
 
     location ~ ^/+(ab2p(?:\.common)?\.css) {
<span style='display:block; white-space:pre;color:#808080;'>diff --git \
a/www/adblock2privoxy/files/openssl.cnf b/www/adblock2privoxy/files/openssl.cnf \
</span>new file mode 100644 <span style='display:block; \
white-space:pre;color:#808080;'>index 00000000000..52ee6ac669e </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/openssl.cnf </span><span style='display:block; \
white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,229 @@ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+# Commands to create \
Privoxy Root CA certificate </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+# Clean start </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+# rm ca.* index.txt* \
serial* </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+################## </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+# CA </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+################## \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Privoxy \
Root CA </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# mkdir \
certs &amp;&amp; cd certs </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+# touch index.txt </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+# echo 1000 &gt; serial \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# CA \
certificate encrypted key passphrase, both -passin and -passout </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+# sf-pwgen --algorithm \
memorable --count 2 --length 24 2&gt;/dev/null | paste -s -d -- '-' \ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+#     1&gt;passphrase.txt \
|| true </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# if \
[ $(head -1 passphrase.txt | wc -c) &lt; 20 ]; then openssl rand -base64 23 \
1&gt;passphrase.txt 2&gt;/dev/null; fi </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+# cat passphrase.txt passphrase.txt &gt; \
passphrase-dbl.txt \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+#     &amp;&amp; mv passphrase-dbl.txt \
passphrase.txt \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+#     || rm -f passphrase-dbl.txt </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+# chmod go-rwx \
passphrase.txt </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+# CA encrypted key </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+# EC </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+# openssl genpkey -out \
ca.key.pem -algorithm EC \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+#     -pkeyopt ec_paramgen_curve:P-256 -aes256 \
\ </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#     \
-pass file:passphrase.txt </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+# </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+# RSA </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+# # openssl genpkey -out ca.key.pem -algorithm \
RSA \ </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# #    \
-pkeyopt rsa_keygen_bits:2048 -aes256 \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+# #     -pass file:passphrase.txt </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+# CA certificate \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# openssl \
req -config openssl.cnf \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+#     -new -x509 -days 3650 -sha256 -extensions \
v3_ca -out certs/ca.cert.pem \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+#     -key ca.key.pem -passin \
file:passphrase.txt -batch </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+# CA certificate text verification </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+# openssl x509 -text \
-noout -in ca.cert.pem </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+# CA certificate openssl self-verification \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# openssl \
verify -CAfile ca.cert.pem ca.cert.pem </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+# CA convert to PKCS12 </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+# Note: `man openssl`: \
"If the same pathname </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+#     argument is supplied to -passin and \
-passout arguments then the </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+#     first line will be used for the input \
password and the next line </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+#     for the output password." </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+# openssl pkcs12 -export \
-out ca.p12 \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+#     -inkey ca.key.pem -in ca.cert.pem \ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#     \
-passin file:passphrase.txt \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+#     -passout file:passphrase.txt </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+# verify .p12 passphrase \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# openssl \
pkcs12 -noout -in ca.p12 -passin file:passphrase.txt </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+###################### \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Server \
certificates </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+###################### </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+# Clean and prepare \
directory for new certificates </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+# rm serial* 01.pem index.txt ; echo 01 &gt; \
serial ; touch index.txt </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+# Server certificate encrypted key and \
decrypted key </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+# openssl genpkey -out \
adblock2privoxy-nginx.key.pem \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+#     -algorithm EC -pkeyopt \
ec_paramgen_curve:P-384 -aes256 \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+#     -pass file:passphrase.txt </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+# openssl ec -in \
adblock2privoxy-nginx.key.pem -passin file:passphrase.txt \ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+#     -out \
adblock2privoxy-nginx.key.pem.decrypted </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+# chmod go-rwx \
adblock2privoxy-nginx.key.pem.decrypted </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+# Server certificate CSR </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+# openssl req -config \
openssl.cnf -new -sha256 -extensions server_cert \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+#     -key adblock2privoxy-nginx.key.pem \
-passin file:passphrase.txt \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+#     -out adblock2privoxy-nginx.csr.pem -batch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Server \
certificate (825 days maximum validity) </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+# https://support.apple.com/en-us/HT210176 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# openssl ca \
-config openssl.cnf -days 825 -notext -md sha256 \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+#     -extensions server_cert -in \
adblock2privoxy-nginx.csr.pem \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+#     -out adblock2privoxy-nginx.cert.pem \
-passin file:passphrase.txt \ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+#     -subj '/CN=adblock2privoxy-nginx' -batch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Server \
certificate chain of trust </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+# cat adblock2privoxy-nginx.cert.pem \
ca.cert.pem &gt; adblock2privoxy-nginx.chain.pem </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+# Server certificate text </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+# openssl x509 -in \
adblock2privoxy-nginx.cert.pem -text -noout </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+# Server certificate and chain validity \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# openssl \
verify -CAfile ca.cert.pem adblock2privoxy-nginx.cert.pem </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+# openssl verify -CAfile \
ca.cert.pem adblock2privoxy-nginx.chain.pem </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+# DH params </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+# openssl dhparam -out dhparam.pem 2048 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[ca] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default_ca   \
= CA_default </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+[ CA_default ] </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+# Directory and file \
locations. </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+dir               = . </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+certs             = $dir \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+crl_dir      \
= $dir </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+new_certs_dir     = $dir </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+database          = \
$dir/index.txt </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+serial            = $dir/serial </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+RANDFILE          = \
$dir/.rand </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# The root \
key and root certificate. </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+private_key       = $dir/ca.key.pem \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+certificate  \
= $dir/ca.cert.pem </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+# For certificate revocation lists. \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+crlnumber    \
= $dir/crlnumber </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+crl               = $dir/ca.crl.pem \
</span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+crl_extensions    = crl_ext </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+default_crl_days  = 30 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# SHA-1 is \
deprecated, so use SHA-2 instead. </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+default_md        = sha256 </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+name_opt          = \
ca_default </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+cert_opt          = ca_default </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+default_days      = 825 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+preserve     \
= no </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+policy  \
= policy_strict </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+[ policy_strict ] </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+# The root CA should only \
sign intermediate certificates that match. </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+# See the POLICY FORMAT section of `man ca`. \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+countryName  \
= optional </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+stateOrProvinceName     = optional </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+organizationName        = \
optional </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+organizationalUnitName  = optional </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+commonName              = \
supplied </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+emailAddress            = optional </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+[ policy_loose ] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Allow the \
intermediate CA to sign a more diverse range of certificates. </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+# See the POLICY FORMAT \
section of the `ca` man page. </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+countryName             = optional </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+stateOrProvinceName     = \
optional </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+localityName            = optional </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+organizationName        = \
optional </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+organizationalUnitName  = optional </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+commonName              = \
optional </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+emailAddress            = optional </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+[req] </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+# Options for the `req` \
tool (`man req`). </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+# default_bits        = 4096 </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+default_bits        = \
2048 </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+distinguished_name  = req_distinguished_name \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+string_mask  \
= utf8only </span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# SHA-1 is \
deprecated, so use SHA-2 instead. </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+default_md          = sha256 </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+[req_distinguished_name] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+countryName \
= US </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+countryName_default = US </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+countryName_min = 2 \
</span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+countryName_max = 2 </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+stateOrProvinceName = \
Massachusetts </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+stateOrProvinceName_default = Massachusetts \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+localityName \
= Boston </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+localityName_default = Boston </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+0.organizationName = \
MacPorts </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+0.organizationName_default = MacPorts \
</span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+organizationalUnitName = adblock2privoxy-nginx \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+commonName = \
adblock2privoxy-nginx </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+commonName_default = adblock2privoxy-nginx \
</span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+commonName_max = 64 </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+emailAddress = \
macports-users@lists.macports.org </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+emailAddress_max = 40 </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+ </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+[ v3_ca ] </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+# Extensions for a \
typical CA (`man x509v3_config`). </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+subjectKeyIdentifier = hash </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+authorityKeyIdentifier = \
keyid:always, issuer </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+basicConstraints = critical, CA:true \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+keyUsage = \
critical, digitalSignature, cRLSign, keyCertSign </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+[ v3_intermediate_ca ] </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+# Extensions for a \
typical intermediate CA (`man x509v3_config`). </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+subjectKeyIdentifier = hash </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+#authorityKeyIdentifier = \
keyid:always, issuer </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+basicConstraints = critical, CA:true, pathlen:0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+keyUsage = \
critical, digitalSignature, cRLSign, keyCertSign </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+[ usr_cert ] </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+# Extensions for client certificates (`man \
x509v3_config`). </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+basicConstraints = CA:FALSE </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+subjectKeyIdentifier = \
hash </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+authorityKeyIdentifier = keyid, issuer \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+keyUsage = \
critical, nonRepudiation, digitalSignature, keyEncipherment </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+extendedKeyUsage = \
clientAuth, emailProtection </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+ </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+[ server_cert ] </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+# Extensions for server \
certificates (`man x509v3_config`). </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+basicConstraints = CA:FALSE </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+keyUsage = critical, \
digitalSignature, keyEncipherment </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+extendedKeyUsage = critical, serverAuth \
</span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+subjectKeyIdentifier = hash </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+authorityKeyIdentifier = \
keyid, issuer:always </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+subjectAltName = DNS:localhost, IP:127.0.0.1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[ crl_ext ] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Extension \
for CRLs (`man x509v3_config`). </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+authorityKeyIdentifier=keyid:always \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[ ocsp ] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Extension \
for OCSP signing certificates (`man ocsp`). </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+basicConstraints = CA:FALSE </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+subjectKeyIdentifier = \
hash </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+authorityKeyIdentifier = keyid, issuer \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+keyUsage = \
critical, digitalSignature </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+extendedKeyUsage = critical, OCSPSigning \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[ smime ] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+keyUsage = \
critical, nonRepudiation, digitalSignature, keyEncipherment </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+subjectAltName = \
critical, email:copy </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+extendedKeyUsage = critical, emailProtection \
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git \
a/www/adblock2privoxy/files/private.myserver.launchctl-setenv.plist \
b/www/adblock2privoxy/files/private.myserver.launchctl-setenv.plist </span>new file \
mode 100644 <span style='display:block; white-space:pre;color:#808080;'>index \
00000000000..9519d18b4fc </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/private.myserver.launchctl-setenv.plist </span><span \
style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,16 @@ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+&lt;?xml \
version="1.0" encoding="UTF-8"?&gt; </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+&lt;!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST \
1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"&gt; </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+&lt;plist \
version="1.0"&gt; </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+&lt;dict&gt; </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+	&lt;key&gt;Label&lt;/key&gt; </span><span \
style='display:block; \
white-space:pre;background:#e0ffe0;'>+	&lt;string&gt;private.myserver.launchctl-setenv&lt;/string&gt;
 </span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+	&lt;key&gt;ProgramArguments&lt;/key&gt; \
</span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+	&lt;array&gt; </span><span \
style='display:block; \
white-space:pre;background:#e0ffe0;'>+		&lt;string&gt;/bin/bash&lt;/string&gt; \
</span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+		&lt;string&gt;-c&lt;/string&gt; </span><span \
style='display:block; \
white-space:pre;background:#e0ffe0;'>+		&lt;string&gt;/bin/launchctl setenv \
ADBLOCK2PRIVOXY_CSS_SERVER 10.0.1.3:8119&lt;/string&gt; </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+	&lt;/array&gt; \
</span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+	&lt;key&gt;RunAtLoad&lt;/key&gt; </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+	&lt;true/&gt; \
</span><span style='display:block; \
white-space:pre;background:#e0ffe0;'>+&lt;/dict&gt; </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+&lt;/plist&gt; \
</span></pre><pre style='margin:0'>

</pre>


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic