1
0
mirror of https://github.com/vimagick/dockerfiles.git synced 2025-06-10 23:37:44 +02:00

update privoxy

This commit is contained in:
kev 2016-06-04 16:18:42 +08:00
parent 60d108a0de
commit c28d80ef96
2 changed files with 15 additions and 32 deletions

View File

@ -5,10 +5,11 @@
FROM alpine FROM alpine
MAINTAINER kev <noreply@easypi.info> MAINTAINER kev <noreply@easypi.info>
ADD https://github.com/tianon/gosu/releases/download/1.4/gosu-amd64 /usr/sbin/gosu RUN set -xe \
&& apk add -U curl privoxy \
RUN apk add -U iptables privoxy \ && curl -sSL https://github.com/tianon/gosu/releases/download/1.9/gosu-amd64 > /usr/sbin/gosu \
&& chmod +x /usr/sbin/gosu \ && chmod +x /usr/sbin/gosu \
&& apk del curl \
&& rm -rf /var/cache/apk/* && rm -rf /var/cache/apk/*
RUN sed -i -e '/^listen-address/s/127.0.0.1/0.0.0.0/' \ RUN sed -i -e '/^listen-address/s/127.0.0.1/0.0.0.0/' \
@ -17,26 +18,7 @@ RUN sed -i -e '/^listen-address/s/127.0.0.1/0.0.0.0/' \
-e '/^#debug/s/#//' /etc/privoxy/config -e '/^#debug/s/#//' /etc/privoxy/config
VOLUME /etc/privoxy VOLUME /etc/privoxy
EXPOSE 8118 EXPOSE 8118
CMD echo "{+block{self}}" >> /etc/privoxy/user.action \ CMD gosu privoxy privoxy --no-daemon /etc/privoxy/config
&& ip a s eth0 | grep -w inet | awk '{print $2}' | cut -d/ -f1 >> /etc/privoxy/user.action \
&& ip r s | grep default | awk '{print $3}' >> /etc/privoxy/user.action \
&& iptables -t filter -P OUTPUT DROP \
&& iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT \
&& iptables -t filter -A OUTPUT -p tcp \
-m multiport --dports 53,80,443,8118 \
-j ACCEPT \
&& iptables -t filter -A OUTPUT -p tcp \
-m state --state ESTABLISHED,RELATED \
-j ACCEPT \
&& iptables -t filter -A OUTPUT -p udp \
-m state --state ESTABLISHED,RELATED \
-j ACCEPT \
&& iptables -t filter -A OUTPUT -p tcp \
-m owner --uid-owner privoxy \
-j ACCEPT \
&& iptables -t nat -A OUTPUT -p tcp --dport 80 \
-m owner ! --uid-owner privoxy \
-j REDIRECT --to-ports 8118 \
&& gosu privoxy privoxy --no-daemon /etc/privoxy/config

View File

@ -1,9 +1,9 @@
privoxy privoxy
======= =======
[![](https://badge.imagelayers.io/vimagick/privoxy:latest.svg)](https://imagelayers.io/?images=vimagick/privoxy:latest) ![](https://badge.imagelayers.io/vimagick/privoxy:latest.svg)
`Privoxy` is a non-caching web proxy with advanced filtering capabilities for [Privoxy][1] is a non-caching web proxy with advanced filtering capabilities for
enhancing privacy, modifying web page data and HTTP headers, controlling enhancing privacy, modifying web page data and HTTP headers, controlling
access, and removing ads and other obnoxious Internet junk. Privoxy has a access, and removing ads and other obnoxious Internet junk. Privoxy has a
flexible configuration and can be customized to suit individual needs and flexible configuration and can be customized to suit individual needs and
@ -22,7 +22,7 @@ networks.
file: docker-compose.yml file: docker-compose.yml
``` ```yaml
privoxy: privoxy:
image: vimagick/privoxy image: vimagick/privoxy
ports: ports:
@ -43,12 +43,11 @@ file: user.action
{+block} {+block}
127.0.0.1 127.0.0.1
104.156.239.190 45.32.57.113
.easypi.info .easypi.info
``` ```
> Make sure you block ip/domain which point to server itself. > :warning: Make sure you block ip/domain which point to server itself.
file: user.filter file: user.filter
@ -59,7 +58,7 @@ s|</head>|<style>img{transform: rotate(180deg);}</style></head>|gisU
## server ## server
``` ```bash
$ cd ~/fig/privoxy/ $ cd ~/fig/privoxy/
$ docker-compose up -d $ docker-compose up -d
$ docker-compose logs $ docker-compose logs
@ -78,9 +77,11 @@ privoxy_1 | 2015-06-28 17:48:53.069 7ff17bff3ab0 Request: www.example.org/
## client ## client
``` ```bash
$ http_proxy=127.0.0.1:8118 wget -O- http://www.example.org $ http_proxy=127.0.0.1:8118 wget -O- http://www.example.org
$ docker run --rm --net container:privoxy_privoxy_1 alpine wget -O- http://www.example.org $ docker run --rm --net container:privoxy_privoxy_1 alpine wget -O- http://www.example.org
``` ```
In both cases, you will see `<style>img{transform: rotate(180deg);}</style></head>` in output. In both cases, you will see `<style>img{transform: rotate(180deg);}</style></head>` in output.
[1]: https://www.privoxy.org/