1
2
mirror of https://github.com/vimagick/dockerfiles synced 2024-06-30 18:51:24 +00:00
dockerfiles/privoxy/Dockerfile

43 lines
1.5 KiB
Docker
Raw Normal View History

2015-06-28 16:58:36 +00:00
#
# Dockerfile for privoxy
#
FROM alpine
MAINTAINER kev <noreply@datageek.info>
2015-06-28 17:18:53 +00:00
ADD https://github.com/tianon/gosu/releases/download/1.4/gosu-amd64 /usr/sbin/gosu
RUN apk add -U iptables privoxy \
&& chmod +x /usr/sbin/gosu \
2015-06-28 16:58:36 +00:00
&& rm -rf /var/cache/apk/*
2015-06-28 17:18:53 +00:00
RUN sed -i -e '/^listen-address/s/127.0.0.1/0.0.0.0/' \
-e '/^accept-intercepted-requests/s/0/1/' \
2015-06-30 11:00:43 +00:00
-e '/^enforce-blocks/s/0/1/' \
2015-06-28 17:52:38 +00:00
-e '/^#debug/s/#//' /etc/privoxy/config
2015-06-28 17:18:53 +00:00
2015-06-28 16:58:36 +00:00
VOLUME /etc/privoxy
EXPOSE 8118
2015-07-03 05:00:22 +00:00
CMD echo "{+block{self}}" >> /etc/privoxy/user.action \
2015-06-29 02:43:41 +00:00
&& 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 \
2015-06-29 01:18:40 +00:00
&& iptables -t filter -P OUTPUT DROP \
2015-06-28 19:57:52 +00:00
&& 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 \
2015-06-29 03:38:35 +00:00
&& iptables -t nat -A OUTPUT -p tcp --dport 80 \
2015-06-28 19:57:52 +00:00
-m owner ! --uid-owner privoxy \
-j REDIRECT --to-ports 8118 \
2015-06-28 17:18:53 +00:00
&& gosu privoxy privoxy --no-daemon /etc/privoxy/config