From 7db276b3bb4e3ee2478c258db07e90b7948f9b26 Mon Sep 17 00:00:00 2001 From: delifer Date: Mon, 23 Feb 2026 22:31:02 +0700 Subject: [PATCH] add librespeed --- .vscode/launch.json | 35 --------------------- .vscode/tasks.json | 75 --------------------------------------------- install.sh | 2 +- x-ui.sh | 33 ++++++++++++++++++-- 4 files changed, 32 insertions(+), 113 deletions(-) delete mode 100644 .vscode/launch.json delete mode 100644 .vscode/tasks.json diff --git a/.vscode/launch.json b/.vscode/launch.json deleted file mode 100644 index 8a969702..00000000 --- a/.vscode/launch.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "$schema": "vscode://schemas/launch", - "version": "0.2.0", - "configurations": [ - { - "name": "Run 3x-ui (Debug)", - "type": "go", - "request": "launch", - "mode": "auto", - "program": "${workspaceFolder}", - "cwd": "${workspaceFolder}", - "env": { - "XUI_DEBUG": "true" - }, - "console": "integratedTerminal" - }, - { - "name": "Run 3x-ui (Debug, custom env)", - "type": "go", - "request": "launch", - "mode": "auto", - "program": "${workspaceFolder}", - "cwd": "${workspaceFolder}", - "env": { - // Set to true to serve assets/templates directly from disk for development - "XUI_DEBUG": "true", - // Uncomment to override DB folder location (by default uses working dir on Windows when debug) - // "XUI_DB_FOLDER": "${workspaceFolder}", - // Example: override log level (debug|info|notice|warn|error) - // "XUI_LOG_LEVEL": "debug" - }, - "console": "integratedTerminal" - } - ] -} diff --git a/.vscode/tasks.json b/.vscode/tasks.json deleted file mode 100644 index 337d694f..00000000 --- a/.vscode/tasks.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "label": "go: build", - "type": "shell", - "command": "go", - "args": [ - "build", - "-o", - "bin/3x-ui.exe", - "./main.go" - ], - "options": { - "cwd": "${workspaceFolder}" - }, - "problemMatcher": [ - "$go" - ], - "group": { - "kind": "build", - "isDefault": true - } - }, - { - "label": "go: run", - "type": "shell", - "command": "go", - "args": [ - "run", - "./main.go" - ], - "options": { - "cwd": "${workspaceFolder}", - "env": { - "XUI_DEBUG": "true" - } - }, - "problemMatcher": [ - "$go" - ] - }, - { - "label": "go: test", - "type": "shell", - "command": "go", - "args": [ - "test", - "./..." - ], - "options": { - "cwd": "${workspaceFolder}" - }, - "problemMatcher": [ - "$go" - ], - "group": "test" - }, - { - "label": "go: vet", - "type": "shell", - "command": "go", - "args": [ - "vet", - "./..." - ], - "options": { - "cwd": "${workspaceFolder}" - }, - "problemMatcher": [ - "$go" - ] - } - ] -} \ No newline at end of file diff --git a/install.sh b/install.sh index 46207777..53a995e2 100644 --- a/install.sh +++ b/install.sh @@ -580,7 +580,7 @@ prompt_and_setup_ssl() { # 3.1 Request Domain to compose Panel URL later read -rp "Please enter domain name certificate issued for: " custom_domain - custom_domain="${custom_domain// /}" # Убираем пробелы + custom_domain="${custom_domain// /}" # Delete spaces # 3.2 Loop for Certificate Path while true; do diff --git a/x-ui.sh b/x-ui.sh index 2bd125ab..7dcde465 100644 --- a/x-ui.sh +++ b/x-ui.sh @@ -1661,6 +1661,31 @@ run_speedtest() { speedtest } +run_librespeed() { + #Test GO + if command -v go &>/dev/null; then + echo "GO installed!" + else + #Intalling GO + echo "Installing GO..." + VERSION=$(curl -s https://go.dev/dl/?mode=json | grep -m 1 'version' | cut -d'"' -f4) + wget https://go.dev/dl/$VERSION.linux-amd64.tar.gz + rm -rf /usr/local/go && tar -C /usr/local -xzf $VERSION.linux-amd64.tar.gz + export PATH=$PATH:/usr/local/go/bin + echo "GO installed!" + fi + + found=$(find / -type d -name "speedtest-cli" 2>/dev/null) + if [ -n "$found" ]; then + echo "Test speed..." + $found/out/librespeed-cli-linux-amd64 + else + echo "Installing Librespeed..." + git clone https://github.com/librespeed/speedtest-cli + cd speedtest-cli/ && ./build.sh + echo "Start this option again!" + fi +} ip_validation() { @@ -2204,10 +2229,11 @@ show_menu() { │ ${green}23.${plain} Enable BBR │ │ ${green}24.${plain} Update Geo Files │ │ ${green}25.${plain} Speedtest by Ookla │ +│ ${green}26.${plain} Librespeed │ ╚────────────────────────────────────────────────╝ " show_status - echo && read -rp "Please enter your selection [0-25]: " num + echo && read -rp "Please enter your selection [0-26]: " num case "${num}" in 0) @@ -2288,8 +2314,11 @@ show_menu() { 25) run_speedtest ;; + 26) + run_librespeed + ;; *) - LOGE "Please enter the correct number [0-25]" + LOGE "Please enter the correct number [0-26]" ;; esac }