From cf455d2c53c6728b4746a370ce2f2c417068c727 Mon Sep 17 00:00:00 2001 From: "Alex A. Naanou" Date: Wed, 27 Mar 2024 17:39:44 +0300 Subject: [PATCH] added user config... Signed-off-by: Alex A. Naanou --- shadow/make.sh | 4 +- .../root/update-shadowsocks.sh | 38 +++++++++++++------ shadow/traefik.yml | 2 +- 3 files changed, 30 insertions(+), 14 deletions(-) rename shadow/{assets => templates}/root/update-shadowsocks.sh (64%) diff --git a/shadow/make.sh b/shadow/make.sh index 2e82712..909a04e 100755 --- a/shadow/make.sh +++ b/shadow/make.sh @@ -68,7 +68,7 @@ echo "# Installing dependencies..." sed \ -e '/v3\.\d*/{p;s|v3\.\d*|edge|}' \ -i /etc/apk/repositories -@ lxc-attach $ID apk add bash logrotate shadowsocks-rust +@ lxc-attach $ID apk add bash libqrencode logrotate shadowsocks-rust echo "# Copying assets..." @@ -79,6 +79,8 @@ echo "# Generating/updating config and server script..." @ lxc-attach $ID bash /root/update-shadowsocks.sh +echo "# Profile: $*" + echo "# Post config..." pctSet $ID "${OPTS_STAGE_2}" $REBOOT pctSetNotes $ID diff --git a/shadow/assets/root/update-shadowsocks.sh b/shadow/templates/root/update-shadowsocks.sh similarity index 64% rename from shadow/assets/root/update-shadowsocks.sh rename to shadow/templates/root/update-shadowsocks.sh index a75eac1..7d7edd3 100755 --- a/shadow/assets/root/update-shadowsocks.sh +++ b/shadow/templates/root/update-shadowsocks.sh @@ -3,17 +3,20 @@ # NOTE: re-run this if the IP/PORT change... # +ENDPOINT=${ENDPOINT} +ENDPOINT_PORT=${ENDPOINT_PORT} + # get the current IP... -HOST=$(ip addr show dev lan \ +HOST_IP=$(ip addr show dev lan \ | grep 'inet ' \ | cut -d ' ' -f 6 \ | cut -d '/' -f 1) -PORT=5555 ENCRYPTION=aes-256-gcm USER=shadowsocks SCRIPT=shadowsocks -CONFIG=shadowsocks.config +SERVER_CONFIG=shadowsocks-server.config +CLIENT_CONFIG=shadowsocks-client.config # System and dependencies... @@ -41,8 +44,8 @@ cd /home/$USER # get/generate password... -if [ -e /home/$USER/$CONFIG ] ; then - PASSWD=$(cat /home/$USER/$CONFIG \ +if [ -e /home/$USER/$SERVER_CONFIG ] ; then + PASSWD=$(cat /home/$USER/$SERVER_CONFIG \ | grep password \ | cut -d '"' -f 4) else @@ -50,25 +53,36 @@ else fi -# /home/$USER/$CONFIG -cat > $CONFIG << EOF +# /home/$USER/$SERVER_CONFIG +cat > $SERVER_CONFIG << EOF { - "server": "${HOST}", - "server_port": ${PORT}, + "server": "${HOST_IP}", + "server_port": 8388, "password": "${PASSWD}", "method": "${ENCRYPTION}" } EOF -chown $USER:$USER $CONFIG -chmod 600 $CONFIG +chown $USER:$USER $SERVER_CONFIG +chmod 600 $SERVER_CONFIG +# /home/$USER/$CLIENT_CONFIG +cat > $CLIENT_CONFIG << EOF +{ + "server": "${ENDPOINT}", + "server_port": ${ENDPOINT_PORT}, + "password": "${PASSWD}", + "method": "${ENCRYPTION}" + "local_address": "127.0.0.1", + "local_port": 1080 +} +EOF # /home/$USER/$SCRIPT cat > $SCRIPT << EOF #!/sbin/openrc-run command="ssserver" -command_args="-c /home/$USER/$CONFIG" +command_args="-c /home/$USER/$SERVER_CONFIG" command_user=$USER pidfile="/run/\$SVCNAME.pid" diff --git a/shadow/traefik.yml b/shadow/traefik.yml index 441f1c2..c484ac8 100644 --- a/shadow/traefik.yml +++ b/shadow/traefik.yml @@ -10,4 +10,4 @@ tcp: ${CTHOSTNAME}: loadBalancer: servers: - - address: ${CTHOSTNAME}.srv:5555 + - address: ${CTHOSTNAME}.srv:8388