init
This commit is contained in:
		
							
								
								
									
										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