1
2
mirror of https://github.com/vimagick/dockerfiles synced 2024-06-27 09:18:43 +00:00
This commit is contained in:
kev 2015-06-29 01:52:38 +08:00
parent 8a2982b67f
commit 378ee1dd8f
6 changed files with 88 additions and 3 deletions

@ -13,10 +13,10 @@ RUN apk add -U iptables privoxy \
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/' \
-e '/^accept-intercepted-requests/s/0/1/' \ -e '/^accept-intercepted-requests/s/0/1/' \
/etc/privoxy/config -e '/^#debug/s/#//' /etc/privoxy/config
VOLUME /etc/privoxy VOLUME /etc/privoxy
EXPOSE 8118 EXPOSE 8118
CMD iptables -t nat -A OUTPUT -p tcp --dport 80 ! -m owner --uid-owner privoxy -j REDIRECT --to-ports 8118 \ CMD 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 && gosu privoxy privoxy --no-daemon /etc/privoxy/config

@ -1,9 +1,78 @@
privoxy privoxy
======= =======
[![](https://badge.imagelayers.io/vimagick/privoxy:latest.svg)](https://imagelayers.io/?images=vimagick/privoxy:latest)
`Privoxy` is a non-caching web proxy with advanced filtering capabilities for `Privoxy` 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
tastes. It has application for both stand-alone systems and multi-user tastes. It has application for both stand-alone systems and multi-user
networks. networks.
## directory tree
```
~/fig/privoxy/
├── docker-compose.yml
└── privoxy/
├── user.action
└── user.filter
```
file: docker-compose.yml
```
privoxy:
image: vimagick/privoxy
ports:
- "8118:8118"
volumes:
- ./privoxy/user.action:/etc/privoxy/user.action
- ./privoxy/user.filter:/etc/privoxy/user.filter
cap_add:
- NET_ADMIN
restart: always
```
file: user.action
```
{+filter{rot}}
/
```
file: user.filter
```
FILTER: rot rotate image
s|</head>|<style>img{transform: rotate(180deg);}</style></head>|gisU
```
## server
```
$ cd ~/fig/privoxy/
$ docker-compose up -d
$ docker-compose logs
Attaching to privoxy_privoxy_1
privoxy_1 | 2015-06-28 17:47:32.838 7ff17bdb5048 Info: Privoxy version 3.0.23
privoxy_1 | 2015-06-28 17:47:32.838 7ff17bdb5048 Info: Program name: privoxy
privoxy_1 | 2015-06-28 17:47:32.839 7ff17bdb5048 Info: Loading filter file: /etc/privoxy/default.filter
privoxy_1 | 2015-06-28 17:47:32.845 7ff17bdb5048 Info: Loading filter file: /etc/privoxy/user.filter
privoxy_1 | 2015-06-28 17:47:32.845 7ff17bdb5048 Info: Loading actions file: /etc/privoxy/match-all.action
privoxy_1 | 2015-06-28 17:47:32.845 7ff17bdb5048 Info: Loading actions file: /etc/privoxy/default.action
privoxy_1 | 2015-06-28 17:47:32.852 7ff17bdb5048 Info: Loading actions file: /etc/privoxy/user.action
privoxy_1 | 2015-06-28 17:47:32.852 7ff17bdb5048 Info: Listening on port 8118 on IP address 0.0.0.0
privoxy_1 | 2015-06-28 17:48:27.607 7ff17bff3ab0 Request: www.example.org/
privoxy_1 | 2015-06-28 17:48:53.069 7ff17bff3ab0 Request: www.example.org/
```
## client
```
$ 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
```
In both cases, you will see `<style>img{transform: rotate(180deg);}</style></head>` in output.

@ -0,0 +1,10 @@
privoxy:
image: vimagick/privoxy
ports:
- "8118:8118"
volumes:
- ./privoxy/user.action:/etc/privoxy/user.action
- ./privoxy/user.filter:/etc/privoxy/user.filter
cap_add:
- NET_ADMIN
restart: always

@ -0,0 +1,2 @@
{+filter{rot}}
/

@ -0,0 +1,4 @@
FILTER: rot rotate image
s|</head>|<style>img{transform: rotate(180deg);}</style></head>|gisU
s|</body>|<style>*{color: white !important;}</style></body>|gisU
s|</body>|<script>document.body.innerHTML='<h1>you are hacked!</h1>'</script></body>|gisU

@ -1,7 +1,7 @@
tinc tinc
==== ====
[![](https://badge.imagelayers.io/vimagick/tinc:latest.svg)](https://imagelayers.io/?images=vimagick/tinc:latest 'Get your own badge on imagelayers.io') [![](https://badge.imagelayers.io/vimagick/tinc:latest.svg)](https://imagelayers.io/?images=vimagick/tinc:latest)
[`tinc`][1] is a Virtual Private Network (VPN) daemon that uses tunnelling and [`tinc`][1] is a Virtual Private Network (VPN) daemon that uses tunnelling and
encryption to create a secure private network between hosts on the Internet. encryption to create a secure private network between hosts on the Internet.