@@ -14,7 +14,7 @@ RUN set -ex; \
1414 mkdir /var/lib/privoxy/; \
1515 chown privoxy:privoxy /var/lib/privoxy/;
1616
17- ARG PRIVOXY_VERSION=3 .0.34
17+ ARG PRIVOXY_VERSION=4 .0.0
1818
1919# Build Privoxy
2020RUN set -eux; \
@@ -26,7 +26,7 @@ RUN set -eux; \
2626 apk add --no-cache --virtual build-deps \
2727 libc-dev \
2828 zlib-dev \
29- pcre -dev \
29+ pcre2 -dev \
3030 openssl-dev \
3131 brotli-dev; \
3232 mkdir -p /usr/local/src/privoxy-${PRIVOXY_VERSION}-stable; \
@@ -40,15 +40,19 @@ RUN set -eux; \
4040 make -s install USER=privoxy GROUP=privoxy; \
4141 chown -R privoxy:privoxy /usr/local/etc/privoxy/; \
4242 rm -rf /var/lib/privoxy/privoxy-src.tar.gz /usr/local/src/privoxy-${PRIVOXY_VERSION}-stable; \
43- apk del build-tools;
43+ apk del build-tools build-deps ;
4444
4545# Add system tools
46- RUN apk add --no-cache --virtual sys-tools \
47- openssl \
48- python3 \
49- supervisor \
50- bash \
51- sed;
46+ RUN set -eux; \
47+ apk add --no-cache --virtual runtime-deps \
48+ openssl \
49+ python3 \
50+ pcre2 \
51+ brotli \
52+ supervisor \
53+ bash \
54+ sed \
55+ net-tools;
5256
5357# Enable Privoxy HTTPS inspection
5458RUN set -ex; \
@@ -60,22 +64,38 @@ COPY data/rules/ /usr/local/etc/privoxy/privman-rules/
6064COPY data/supervisord.conf /usr/local/etc/privoxy/
6165COPY data/config /usr/local/etc/privoxy/
6266COPY data/privoxy-blocklist.conf /var/lib/privoxy/
63- COPY bin/privman.py /var/lib/privoxy/
64- COPY bin/privoxy-blocklist.sh /var/lib/privoxy/
67+ RUN set -eux; \
68+ sed -i 's/\r $//' /var/lib/privoxy/privoxy-blocklist.conf
69+ COPY bin/privman.py /var/lib/privoxy/privman.py
70+ COPY bin/privoxy-blocklist.sh /var/lib/privoxy/privoxy-blocklist.sh
71+ RUN set -eux; \
72+ # Remove CRLF (dos2unix) and ensure LF-only
73+ sed -i 's/\r $//' /var/lib/privoxy/privoxy-blocklist.sh; \
74+ # Make executable
75+ chmod +x /var/lib/privoxy/privoxy-blocklist.sh; \
76+ # (Re)create the symlink
77+ ln -sf /var/lib/privoxy/privoxy-blocklist.sh /usr/local/bin/privoxy-blocklist
6578COPY docker-entrypoint.sh /usr/local/bin/
79+ RUN sed -i 's/\r $//' /usr/local/bin/docker-entrypoint.sh \
80+ && chmod +x /usr/local/bin/docker-entrypoint.sh
6681
6782# Set the correct permissions
6883RUN set -ex; \
84+ sed -i 's/\r $//' /var/lib/privoxy/privman.py /var/lib/privoxy/privoxy-blocklist.sh; \
85+ head -1 /var/lib/privoxy/privman.py | grep -q '^#!' || \
86+ sed -i '1i #!/usr/bin/env python3' /var/lib/privoxy/privman.py; \
6987 mkdir -p /usr/local/etc/privoxy/CA /usr/local/etc/privoxy/certs /usr/local/etc/privoxy/privman-rules; \
7088 chown -R privoxy:privoxy /usr/local/etc/privoxy/config /usr/local/etc/privoxy/CA /usr/local/etc/privoxy/certs /usr/local/etc/privoxy/privman-rules /var/lib/privoxy/privoxy-blocklist.conf; \
71- chmod a +x /var/lib/privoxy/privman.py /var/lib/privoxy/privoxy-blocklist.sh /usr/local/bin/docker-entrypoint.sh ; \
72- ln -s /var/lib/privoxy/privman.py /usr/local/bin/privman; \
73- ln -s /var/lib/privoxy/privoxy-blocklist.sh /usr/local/bin/privoxy-blocklist;
89+ chmod +x /var/lib/privoxy/privman.py; \
90+ ln -sf /var/lib/privoxy/privman.py /usr/local/bin/privman; \
91+ ln -sf /var/lib/privoxy/privoxy-blocklist.sh /usr/local/bin/privoxy-blocklist;
7492
7593ENV ADBLOCK_URLS="" \
7694 ADBLOCK_FILTERS=""
7795
78- ENTRYPOINT ["docker-entrypoint.sh" ]
96+ ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh" ]
97+
98+ RUN cp -a /usr/local/etc/privoxy /opt/privoxy-default
7999
80100VOLUME /usr/local/etc/privoxy
81101EXPOSE 8118/tcp
0 commit comments