add librespeed

This commit is contained in:
delifer 2026-02-23 22:31:02 +07:00
parent 37f0880f8f
commit 7db276b3bb
4 changed files with 32 additions and 113 deletions

35
.vscode/launch.json vendored
View file

@ -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"
}
]
}

75
.vscode/tasks.json vendored
View file

@ -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"
]
}
]
}

View file

@ -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

33
x-ui.sh
View file

@ -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
}