Sign inSign up

denisnovac/shapeshifter

By denisnovac

Updated 12 months ago

https://github.com/DenisNovac/shapeshifter-dispatcher

Image
Networking
0

295

denisnovac/shapeshifter repository overview

Shapeshifter Dispatcher in a Docker

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

Tag summary

Content type

Image

Digest

sha256:bbcacdb51

Size

35.6 MB

Last updated

12 months ago

docker pull denisnovac/shapeshifter