From 20e99e357528f05437eb12c0f6f8da0d76f3fd37 Mon Sep 17 00:00:00 2001 From: ReturnFI <151555003+ReturnFI@users.noreply.github.com> Date: Thu, 5 Sep 2024 13:58:45 +0000 Subject: [PATCH] Load SNI From env --- core/scripts/hysteria2/change_port.sh | 4 ---- core/scripts/hysteria2/show_user_uri.sh | 9 ++++++--- core/scripts/utils.sh | 12 ++++++++++-- menu.sh | 2 -- 4 files changed, 16 insertions(+), 11 deletions(-) diff --git a/core/scripts/hysteria2/change_port.sh b/core/scripts/hysteria2/change_port.sh index c5a8d30..e89da31 100644 --- a/core/scripts/hysteria2/change_port.sh +++ b/core/scripts/hysteria2/change_port.sh @@ -1,19 +1,15 @@ #!/bin/bash -# Source the path.sh script to load the CONFIG_FILE variable source /etc/hysteria/core/scripts/path.sh -# Function to update port number in configuration update_port() { local port=$1 - # Validate the port number if ! [[ "$port" =~ ^[0-9]+$ ]] || [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then echo "Invalid port number. Please enter a number between 1 and 65535." return 1 fi - # Check if the config file exists and update the port number if [ -f "$CONFIG_FILE" ]; then jq --arg port "$port" '.listen = ":" + $port' "$CONFIG_FILE" > "${CONFIG_FILE}.temp" && mv "${CONFIG_FILE}.temp" "$CONFIG_FILE" python3 "$CLI_PATH" restart-hysteria2 > /dev/null 2>&1 diff --git a/core/scripts/hysteria2/show_user_uri.sh b/core/scripts/hysteria2/show_user_uri.sh index f2a8b35..00cce5a 100644 --- a/core/scripts/hysteria2/show_user_uri.sh +++ b/core/scripts/hysteria2/show_user_uri.sh @@ -1,6 +1,7 @@ #!/bin/bash source /etc/hysteria/core/scripts/path.sh +source /etc/hysteria/core/scripts/utils.sh get_singbox_domain_and_port() { if [ -f "$SINGBOX_ENV" ]; then @@ -22,6 +23,8 @@ show_uri() { local show_all=false local generate_singbox=false + load_hysteria2_env + while [[ "$#" -gt 0 ]]; do case $1 in -u|--username) username="$2"; shift ;; @@ -49,9 +52,9 @@ show_uri() { local ip_version=$1 local ip=$2 if [ "$ip_version" -eq 4 ]; then - echo "hy2://$username%3A$authpassword@$ip:$port?obfs=salamander&obfs-password=$obfspassword&pinSHA256=$sha256&insecure=1&sni=bts.com#$username-IPv4" + echo "hy2://$username%3A$authpassword@$ip:$port?obfs=salamander&obfs-password=$obfspassword&pinSHA256=$sha256&insecure=1&sni=$SNI#$username-IPv4" elif [ "$ip_version" -eq 6 ]; then - echo "hy2://$username%3A$authpassword@[$ip]:$port?obfs=salamander&obfs-password=$obfspassword&pinSHA256=$sha256&insecure=1&sni=bts.com#$username-IPv6" + echo "hy2://$username%3A$authpassword@[$ip]:$port?obfs=salamander&obfs-password=$obfspassword&pinSHA256=$sha256&insecure=1&sni=$SNI#$username-IPv6" fi } @@ -112,4 +115,4 @@ show_uri() { fi } -show_uri "$@" +show_uri "$@" \ No newline at end of file diff --git a/core/scripts/utils.sh b/core/scripts/utils.sh index 66dfa87..2fdc256 100644 --- a/core/scripts/utils.sh +++ b/core/scripts/utils.sh @@ -9,11 +9,9 @@ define_colors() { NC='\033[0m' # No Color } -# Function to get system information get_system_info() { OS=$(lsb_release -d | awk -F'\t' '{print $2}') ARCH=$(uname -m) - # Fetching detailed IP information in JSON format IP_API_DATA=$(curl -s https://ipapi.co/json/ -4) ISP=$(echo "$IP_API_DATA" | jq -r '.org') IP=$(echo "$IP_API_DATA" | jq -r '.ip') @@ -53,3 +51,13 @@ check_version() { echo -e "${cyan}Bug squashing party!${yellow} Update for the best invitation.${NC}" fi } + + +load_hysteria2_env() { + if [ -f /etc/hysteria/hysteria2.env ]; then + export $(grep -v '^#' /etc/hysteria/hysteria2.env | xargs) + else + echo "Error: hysteria2.env file not found. Using default SNI 'bts.com'." + SNI="bts.com" + fi +} \ No newline at end of file diff --git a/menu.sh b/menu.sh index 29f805c..f72b270 100644 --- a/menu.sh +++ b/menu.sh @@ -29,8 +29,6 @@ hysteria2_install_handler() { cat < /etc/hysteria/hysteria2.env SNI=$sni EOF - - echo "Installation complete." } hysteria2_add_user_handler() {