From d6796ca2b74d58ab4d690afcd88ee6b34afb9f8e Mon Sep 17 00:00:00 2001 From: Nikolai Rodionov Date: Fri, 11 Oct 2024 14:05:12 +0200 Subject: [PATCH] WIP: Adding a script for xray users --- scripts/add_xray_user.sh | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/scripts/add_xray_user.sh b/scripts/add_xray_user.sh index 18a2929..48e66bd 100755 --- a/scripts/add_xray_user.sh +++ b/scripts/add_xray_user.sh @@ -7,6 +7,9 @@ CONFIG=$(sops -d ./values/badhouseplants/secrets.server-xray-public.yaml | yq '. read -p "Enter fullname (Ivan Ivanov): " FULLNAME read -p "Enter email (ivan@fakemail.net): " EMAIL PASS=$(openssl rand -base64 10) +export DOCKER="${CONTAINER_TOOL:-docker}" +echo "Generating UUID, please wait" +UUID=$(${DOCKER} run ghcr.io/xtls/xray-core:main uuid -i "${FULLNAME}") CONFIG_ENTRY=$(cat <<-EndOfMessage [ @@ -27,15 +30,22 @@ read -p "Type 'YES' to continue " AGREE if [ "${AGREE}" != "YES" ]; then echo "Alright, goodbye" && exit 1; fi NEW_CONFIG=$(jq '.inbounds[].settings.clients += '"${CONFIG_ENTRY}"'' <<< "${CONFIG}" | jq) -echo $NEW_CONFIG + +export NEW_CONFIG +sops -d ./values/badhouseplants/secrets.server-xray-public.yaml | yq '.files.config.entries."config.json".data = strenv(NEW_CONFIG)' > ./values/badhouseplants/secrets.server-xray-public.yaml +sops encrypt -i ./values/badhouseplants/secrets.server-xray-public.yaml + echo "Does the diff looks correct?" -diff <(echo $CONFIG) <(echo $NEW_CONFIG) || true +helmfile -e badhouseplants -f ./installations/applications -l name=server-xray-public diff read -p "Type 'YES' to continue " AGREE if [ "${AGREE}" != "YES" ]; then echo "Alright, goodbye" && exit 1; fi -WORKDIR=$(mktemp -d) -export NEW_CONFIG -sops -d ./values/badhouseplants/secrets.server-xray-public.yaml | yq '.files.config.entries."config.json".data = strenv(NEW_CONFIG)' > ./values/badhouseplants/secrets.server-xray-public.yaml && sops -e ./values/badhouseplants/secrets.server-xray-public.yaml +export FULLNAME +export BRANCH="add-$(echo $FULLNAME | sed -e 's/ /_/g')-to-xray" -helmfile -e badhouseplants -f ./installations/applications -l name=server-xray-public diff +git checkout -b $BRANCH +git add ./values/badhouseplants/secrets.server-xray-public.yaml +git commit -m "xray maintenance: adding ${FULLNAME}" +git push +echo $UUID -- 2.45.2