init
This commit is contained in:
commit
40347bbf5a
22
Dockerfile
Normal file
22
Dockerfile
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
FROM alpine:3.17.0
|
||||||
|
RUN apk add --no-cache curl libqrencode
|
||||||
|
RUN tag="$(curl -sSo /dev/null -w '%{redirect_url}' \
|
||||||
|
https://github.com/Snawoot/dumbproxy/releases/latest | \
|
||||||
|
cut -d '/' -f 8)"; \
|
||||||
|
curl -sSL -o /usr/bin/dumbproxy \
|
||||||
|
https://github.com/Snawoot/dumbproxy/releases/download/$tag/dumbproxy.linux-amd64
|
||||||
|
COPY entrypoint.sh /usr/local/bin/docker-entrypoint.sh
|
||||||
|
RUN chmod +x /usr/bin/dumbproxy /usr/local/bin/docker-entrypoint.sh
|
||||||
|
|
||||||
|
ENV ADDRESS="${ADDRESS:-:8080}"
|
||||||
|
ENV AUTH=
|
||||||
|
ENV USERNAME=
|
||||||
|
ENV PASSWORD=
|
||||||
|
ENV HIDDEN_DOMAIN=
|
||||||
|
ENV OPTIONS=
|
||||||
|
|
||||||
|
USER nobody
|
||||||
|
ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]
|
||||||
|
EXPOSE 8080
|
||||||
|
STOPSIGNAL SIGINT
|
||||||
|
CMD ["/usr/bin/dumbproxy"]
|
35
README.md
Normal file
35
README.md
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
# HTTP(S) proxy dumbproxy image
|
||||||
|
|
||||||
|
Motivation — the [original dumbproxy](https://hub.docker.com/r/yarmak/dumbproxy)
|
||||||
|
image [doesn't have](https://github.com/Snawoot/dumbproxy/blob/master/Dockerfile)
|
||||||
|
any configuration options.
|
||||||
|
|
||||||
|
## Build
|
||||||
|
|
||||||
|
```shell
|
||||||
|
docker build -t nxhs/dumbproxy:latest -t nxhs/dumbproxy:1.7.0 .
|
||||||
|
```
|
||||||
|
|
||||||
|
## Run
|
||||||
|
|
||||||
|
```shell
|
||||||
|
docker run -d \
|
||||||
|
--restart always \
|
||||||
|
--security-opt no-new-privileges \
|
||||||
|
-p 8080:8080 \
|
||||||
|
-e USERNAME=myuser \
|
||||||
|
-e PASSWORD=secure_password \
|
||||||
|
--name dumbproxy \
|
||||||
|
nxhs/dumbproxy:latest
|
||||||
|
```
|
||||||
|
|
||||||
|
## Environment
|
||||||
|
|
||||||
|
| Variable | Description |
|
||||||
|
| ------------- | --------------------------------------------------------------------------------- |
|
||||||
|
| `ADDRESS` | Argument for `-bind-address`. HTTP proxy listen address (default ":8080") |
|
||||||
|
| `AUTH` | Argument for [-auth option](https://github.com/Snawoot/dumbproxy#authentication) |
|
||||||
|
| `USERNAME` | Username for `-auth` option with `static` scheme |
|
||||||
|
| `PASSWORD` | Password for `-auth` option with `static` scheme |
|
||||||
|
| `HIDDEN_DOMAIN` | See [Authentication](https://github.com/Snawoot/dumbproxy#authentication) |
|
||||||
|
| `OPTIONS` | Any [options](https://github.com/Snawoot/dumbproxy#synopsis) what you want |
|
21
entrypoint.sh
Normal file
21
entrypoint.sh
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -o errexit
|
||||||
|
|
||||||
|
if [ "$1" = "/usr/bin/dumbproxy" ]; then
|
||||||
|
if [ -n "$AUTH" ]; then
|
||||||
|
ARGS="-bind-address $ADDRESS -auth $AUTH $OPTIONS"
|
||||||
|
elif [ -n "$USERNAME" ] && [ -n "$PASSWORD" ]; then
|
||||||
|
if [ -n "$HIDDEN_DOMAIN" ]; then
|
||||||
|
AUTH="static://?username=$USERNAME&password=$PASSWORD&hidden_domain=$HIDDEN_DOMAIN"
|
||||||
|
else
|
||||||
|
AUTH="static://?username=$USERNAME&password=$PASSWORD"
|
||||||
|
fi
|
||||||
|
ARGS="-bind-address $ADDRESS -auth $AUTH $OPTIONS"
|
||||||
|
else
|
||||||
|
ARGS="-bind-address $ADDRESS $OPTIONS"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# shellcheck disable=SC2086
|
||||||
|
exec "$@" $ARGS
|
Reference in New Issue
Block a user