https://github.com/DenisNovac/shapeshifter-dispatcher
295
https://github.com/DenisNovac/shapeshifter-dispatcher
To run this image you need to mount /dockerState/run.sh file:
#!/bin/bash
if [[ "$NEW_CERTS" == "true" ]]; then
echo "Creating new certificates"
cd /proxy-certs
/usr/bin/shapeshifter-dispatcher -polish -toneburst -generateConfig -transport Replicant -serverIP $REAL_HOST_IP:$LISTEN_PORT
fi
cd /proxy-state
echo ""
echo "put it in your client config:"
cat /proxy-certs/ReplicantClientConfig.json
echo ""
echo "Starting proxy"
/usr/bin/shapeshifter-dispatcher -server -mode socks5 -target $TARGET_URL -transports Replicant -bindaddr Replicant-0.0.0.0:$LISTEN_PORT -optionsFile /proxy-certs/ReplicantServerConfig.json -logLevel DEBUG -enableLogging -state /proxy-state
cat /proxy-state/dispatcher.log
echo "Dead"
# tail -f /dev/null # uncomment to not close the container
compose example:
# to see client sertificate: docker compose logs -f
# to see additional logs: docker compose exec proxy cat /proxy-state/dispatcher.log
proxy:
image: denisnovac/shapeshifter
container_name: proxy
ports:
- 443:443 # same as LISTEN_HOST, also should be open on firewall
volumes:
- ./dockerState:/dockerState # see dockerState/run to modify run script, see run.sh to see examples
- vpn-data:/proxy-certs # certificates are persistent
environment:
- TARGET_URL=10.5.0.2:443 # while using network_mode = host it is stil accessible
- LISTEN_PORT=443
- REAL_HOST_IP=192.168.1.7 # will be written into certificate, MUST BE THE ADDRESS PROXY WILL ACCEPT CONNECTIONS
# CHANGE NEW_CERTS TO FALSE AFTER CERTS ARE CREATED AND RESTART!!!
# RE-CREATING CERTS MEANS YOU WILL NEED TO PUT NEW KEYS ON YOUR CLIENTS EACH TIME!!!
- NEW_CERTS=false
restart: unless-stopped
network_mode: host # proxy is accessible from the outside
Content type
Image
Digest
sha256:bbcacdb51…
Size
35.6 MB
Last updated
12 months ago
docker pull denisnovac/shapeshifter