mirror of
https://github.com/vimagick/dockerfiles.git
synced 2024-11-28 09:08:36 +02:00
add fteproxy
This commit is contained in:
parent
49fda6573e
commit
76c0c40451
46
fteproxy/Dockerfile
Normal file
46
fteproxy/Dockerfile
Normal file
@ -0,0 +1,46 @@
|
||||
#
|
||||
# Dockerfile for fteproxy
|
||||
#
|
||||
|
||||
FROM debian:jessie
|
||||
MAINTAINER kev<noreply@datageek.info>
|
||||
|
||||
ENV FTE_VER 0.2.18
|
||||
ENV FTE_SYS linux
|
||||
ENV FTE_ARCH x86_64
|
||||
ENV FTE_URL https://fteproxy.org/dist/${FTE_VER}/fteproxy-${FTE_VER}-${FTE_SYS}-${FTE_ARCH}.tar.gz
|
||||
ENV FTE_FILE fteproxy.tar.gz
|
||||
ENV FTE_MD5 81e1f941df9fa202c08dd73d5def0d33
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y curl \
|
||||
&& curl -sSL ${FTE_URL} -o ${FTE_FILE} \
|
||||
&& echo "${FTE_MD5} ${FTE_FILE}" | md5sum -c \
|
||||
&& mkdir -p /fteproxy \
|
||||
&& tar xzf ${FTE_FILE} --strip 1 -C /fteproxy \
|
||||
&& rm -rf ${FTE_FILE} /var/lib/apt/lists/*
|
||||
|
||||
ENV MODE server
|
||||
ENV UPSTREAM_FORMAT manual-http-request
|
||||
ENV DOWNSTREAM_FORMAT manual-http-response
|
||||
ENV CLIENT_IP 127.0.0.1
|
||||
ENV CLIENT_PORT 8079
|
||||
ENV SERVER_IP 127.0.0.1
|
||||
ENV SERVER_PORT 8080
|
||||
ENV PROXY_IP 127.0.0.1
|
||||
ENV PROXY_PORT 8081
|
||||
ENV RELEASE 20131224
|
||||
ENV KEY FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000
|
||||
|
||||
CMD /fteproxy/fteproxy.bin --mode $MODE \
|
||||
--upstream-format $UPSTREAM_FORMAT \
|
||||
--downstream-format $DOWNSTREAM_FORMAT \
|
||||
--client_ip $CLIENT_IP \
|
||||
--client_port $CLIENT_PORT \
|
||||
--server_ip $SERVER_IP \
|
||||
--server_port $SERVER_PORT \
|
||||
--proxy_ip $PROXY_IP \
|
||||
--proxy_port $PROXY_PORT \
|
||||
--release $RELEASE \
|
||||
--key $KEY
|
||||
|
63
fteproxy/README.md
Normal file
63
fteproxy/README.md
Normal file
@ -0,0 +1,63 @@
|
||||
`fteproxy` provides transport-layer protection to resist keyword filtering,
|
||||
censorship and discriminatory routing policies.
|
||||
|
||||
Its job is to relay datastreams, such as web browsing traffic,
|
||||
by encoding streams as messages that match a user-specified regular expression.
|
||||
|
||||
fteproxy is fast, free, open source, and cross platform.
|
||||
|
||||
In the following example, I will setup a server/client pair to connect www.google.com:80.
|
||||
|
||||
## Create a docker-compose.yml
|
||||
|
||||
```
|
||||
server:
|
||||
image: vimagick/fteproxy
|
||||
ports:
|
||||
- "80"
|
||||
environment:
|
||||
- "MODE=server"
|
||||
- "SERVER_IP=0.0.0.0"
|
||||
- "SERVER_PORT=80"
|
||||
- "PROXY_IP=www.google.com"
|
||||
- "PROXY_PORT=80"
|
||||
|
||||
client:
|
||||
image: vimagick/fteproxy
|
||||
ports:
|
||||
- "9009:80"
|
||||
links:
|
||||
- server
|
||||
environment:
|
||||
- "MODE=client"
|
||||
- "SERVER_IP=server"
|
||||
- "SERVER_PORT=80"
|
||||
- "CLIENT_IP=0.0.0.0"
|
||||
- "CLIENT_PORT=80"
|
||||
```
|
||||
|
||||
## Run fteproxy server/client
|
||||
|
||||
```
|
||||
$ docker-compose up -d
|
||||
Creating fteproxy_server_1...
|
||||
Creating fteproxy_client_1...
|
||||
|
||||
$ docker-compose ps
|
||||
Name Command State Ports
|
||||
----------------------------------------------------------------------------------
|
||||
fteproxy_client_1 /bin/sh -c /fteproxy/ftepr ... Up 0.0.0.0:9009->80/tcp
|
||||
fteproxy_server_1 /bin/sh -c /fteproxy/ftepr ... Up 0.0.0.0:32768->80/tcp
|
||||
```
|
||||
|
||||
## Test with curl
|
||||
|
||||
```
|
||||
$ curl http://localhost:9009/
|
||||
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
|
||||
<TITLE>302 Moved</TITLE></HEAD><BODY>
|
||||
<H1>302 Moved</H1>
|
||||
The document has moved
|
||||
<A HREF="http://www.google.com/">here</A>.
|
||||
</BODY></HTML>
|
||||
```
|
23
fteproxy/docker-compose.yml
Normal file
23
fteproxy/docker-compose.yml
Normal file
@ -0,0 +1,23 @@
|
||||
server:
|
||||
image: vimagick/fteproxy
|
||||
ports:
|
||||
- "80"
|
||||
environment:
|
||||
- "MODE=server"
|
||||
- "SERVER_IP=0.0.0.0"
|
||||
- "SERVER_PORT=80"
|
||||
- "PROXY_IP=www.google.com"
|
||||
- "PROXY_PORT=80"
|
||||
|
||||
client:
|
||||
image: vimagick/fteproxy
|
||||
ports:
|
||||
- "9009:80"
|
||||
links:
|
||||
- server
|
||||
environment:
|
||||
- "MODE=client"
|
||||
- "SERVER_IP=server"
|
||||
- "SERVER_PORT=80"
|
||||
- "CLIENT_IP=0.0.0.0"
|
||||
- "CLIENT_PORT=80"
|
Loading…
Reference in New Issue
Block a user