Skip to content

Commit 758544c

Browse files
authored
Merge pull request #94 from eGamesAPI/dev
update - add script backup and restore from distillium - refactor generate_xray_keys function to use new API endpoint /api/system/tools/x25519/generate
2 parents bb30b60 + 2e33e51 commit 758544c

1 file changed

Lines changed: 19 additions & 11 deletions

File tree

‎install_remnawave.sh‎

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/bash
22

3-
SCRIPT_VERSION="2.1.3a"
3+
SCRIPT_VERSION="2.1.4"
44
UPDATE_AVAILABLE=false
55
DIR_REMNAWAVE="/usr/local/remnawave_reverse/"
66
LANG_FILE="${DIR_REMNAWAVE}selected_language"
@@ -3666,18 +3666,26 @@ EOL
36663666
}
36673667

36683668
generate_xray_keys() {
3669-
docker run --rm ghcr.io/xtls/xray-core x25519 > /tmp/xray_keys.txt 2>&1 &
3670-
spinner $! "${LANG[WAITING]}"
3671-
wait $!
3669+
local domain_url=$1
3670+
local token=$2
36723671

3673-
local keys=$(cat /tmp/xray_keys.txt)
3674-
rm -f /tmp/xray_keys.txt
3672+
local api_response=$(make_api_request "GET" "http://$domain_url/api/system/tools/x25519/generate" "$token")
36753673

3676-
if [ -z "$keys" ]; then
3674+
if [ -z "$api_response" ]; then
36773675
echo -e "${COLOR_RED}${LANG[ERROR_GENERATE_KEYS]}${COLOR_RESET}"
3676+
return 1
36783677
fi
36793678

3680-
local private_key=$(echo "$keys" | grep -E "PrivateKey:|Private key:" | sed -E 's/.*(PrivateKey|Private key):[[:space:]]*(.*)/\2/')
3679+
if echo "$api_response" | jq -e '.errorCode' > /dev/null 2>&1; then
3680+
local error_message=$(echo "$api_response" | jq -r '.message')
3681+
echo -e "${COLOR_RED}${LANG[ERROR_GENERATE_KEYS]}: $error_message${COLOR_RESET}"
3682+
fi
3683+
3684+
local private_key=$(echo "$api_response" | jq -r '.response.keypairs[0].privateKey')
3685+
3686+
if [ -z "$private_key" ] || [ "$private_key" = "null" ]; then
3687+
echo -e "${COLOR_RED}${LANG[ERROR_EXTRACT_PRIVATE_KEY]}${COLOR_RESET}"
3688+
fi
36813689

36823690
echo "$private_key"
36833691
}
@@ -4640,7 +4648,7 @@ EOL
46404648
# Generate Xray keys
46414649
echo -e "${COLOR_YELLOW}${LANG[GENERATE_KEYS]}${COLOR_RESET}"
46424650
sleep 1
4643-
local private_key=$(generate_xray_keys)
4651+
local private_key=$(generate_xray_keys "$domain_url" "$token")
46444652
printf "${COLOR_GREEN}${LANG[GENERATE_KEYS_SUCCESS]}${COLOR_RESET}\n"
46454653

46464654
# Delete default config profile
@@ -5172,7 +5180,7 @@ EOL
51725180
# Generate Xray keys
51735181
echo -e "${COLOR_YELLOW}${LANG[GENERATE_KEYS]}${COLOR_RESET}"
51745182
sleep 1
5175-
local private_key=$(generate_xray_keys)
5183+
local private_key=$(generate_xray_keys "$domain_url" "$token")
51765184
printf "${COLOR_GREEN}${LANG[GENERATE_KEYS_SUCCESS]}${COLOR_RESET}\n"
51775185

51785186
# Delete default config profile
@@ -5464,7 +5472,7 @@ add_node_to_panel() {
54645472
done
54655473

54665474
echo -e "${COLOR_YELLOW}${LANG[GENERATE_KEYS]}${COLOR_RESET}"
5467-
local private_key=$(generate_xray_keys)
5475+
local private_key=$(generate_xray_keys "$domain_url" "$token")
54685476
printf "${COLOR_GREEN}${LANG[GENERATE_KEYS_SUCCESS]}${COLOR_RESET}\n"
54695477

54705478
echo -e "${COLOR_YELLOW}${LANG[CREATING_CONFIG_PROFILE]}${COLOR_RESET}"

0 commit comments

Comments
 (0)