#!/bin/sh toUpperCase() { echo "$*" | tr '[:lower:]' '[:upper:]'; } GIT_REPO=$GIT_REPO ORGANIZATION=$ORGANIZATION if [ "$ORGANIZATION" == "" ]; then ORGANIZATION=format fi PUBLIC_PROXY=$(toUpperCase $PUBLIC_PROXY) SMARTHOST_PROXY=$(toUpperCase $SMARTHOST_PROXY) WIREGUARD=$(toUpperCase $WIREGUARD) OPENVPN=$(toUpperCase $OPENVPN) SERVICE_DIR=$SERVICE_DIR PROXY_DIR=$PROXY_DIR PROXY_LOG_DIR=$PROXY_LOG_DIR DNS_DIR=$DNS_DIR if [[ "$PUBLIC_PROXY" == "YES" || "$PUBLIC_PROXY" == "TRUE" ]]; then PROXY_TYPE=public-proxy; fi if [[ "$SMARTHOST_PROXY" == "YES" || "$SMARTHOST_PROXY" == "TRUE" ]]; then PROXY_TYPE=smarthost-proxy" "$PROXY_TYPE; fi # INSTALL PROXY SERVICES for i in $(echo $PROXY_TYPE); do # Clone source files from git repository git clone ssh://$GIT_REPO/$ORGANIZATION/$i.git /tmp/ #if [ "$i" == "public-proxy" ] ; then # Check VPN accessible #if [[ "$WIREGUARD" == "YES" || "$WIREGUARD" == "TRUE" ]]; then # COPY SERVICE FILES INTO SRVICE DIR if [ "$SERVICE_DIR" == "" ] ; then SERVICE_DIR="/etc/user/config/services"; mkdir -p $SERVICE_DIR; fi cp -av /tmp/$REPOSITORY/$i/*.json $SERVICE_DIR/ # CREATE FILESYSTEM ACCESS FOR SERVICES if [ "$PROXY_DIR" == "" ] ; then $PROXY_DIR="/etc/system/config/$i"; else $PROXY_DIR="$PROXY_DIR/$i" fi mkdir -p $PROXY_DIR/loadbalancer; mkdir -p PROXY_DIR/backend; if [ "$PROXY_LOG_DIR" == "" ] ; then $PROXY_LOG_DIR="/etc/system/log/$i" ; else $PROXY_LOG_DIR="$PROXY_LOG_DIR/$i" ; fi mkdir -p $PROXY_LOG_DIR/loadbalancer; mkdir -p $PROXY_LOG_DIR/backend; # CREATE PROXY SCHEDULER SERVICE # CHECK prox config file exists SOURCE=$(cat /tmp/$REPOSITORY/$i/proxy_config); TARGET=$(cat $PUBLIC_PROXY_DIR/proxy.json | tail -n+2); TMP_FILE=/tmp/proxy.json { echo "{" cat $SOURCE } > "$TMP_FILE"; if [ -f $PUBLIC_PROXY_DIR/proxy.json ]; then { echo "}," echo $TARGET } >> "$TMP_FILE"; else { echo "}" echo "}" } >> "$TMP_FILE"; fi jq -r . $TMP_FILE > $PUBLIC_PROXY_DIR/proxy.json if [ "$i" == "public-proxy" ]; then # COPY LOADBALANCER STATIC CONFIG cp -av /tmp/$REPOSITORY/$i/haproxy.cfg $PUBLIC_PROXY_DIR/loadbalancer/ ; # COPY PROXY DNS FILES git clone ssh://$GIT_REPO/$ORGANIZATION/proxy-dns.git if [ "$DNS_DIR" == "" ] ; then $DNS_DIR="/etc/system/data/proxy-dns"; fi mkdir -p $DNS_DIR; cp -arv /tmp/$REPOSITORY/proxy-dns/ $DNS_DIR/ ; fi fi done