From 9838b04543008955a96076891812c8062624f748 Mon Sep 17 00:00:00 2001 From: NewName Date: Tue, 1 Oct 2024 05:55:03 +0800 Subject: [PATCH] Create duosocks.sh --- tmp/duosocks.sh | 138 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 tmp/duosocks.sh diff --git a/tmp/duosocks.sh b/tmp/duosocks.sh new file mode 100644 index 0000000..0ef175b --- /dev/null +++ b/tmp/duosocks.sh @@ -0,0 +1,138 @@ +#!/bin/bash +# 站群多IP源进源出节点脚本sk5协议 +# 作者sky22333 + +# 生成随机8位数的用户名和密码 +generate_random_string() { + local length=8 + tr -dc A-Za-z0-9 /dev/null; then + echo "jq 未安装,正在安装 jq..." + if [[ -f /etc/debian_version ]]; then + sudo apt-get update + sudo apt-get install -yq jq + elif [[ -f /etc/redhat-release ]]; then + sudo yum install -y epel-release + sudo yum install -y jq + else + echo "无法确定系统发行版,请手动安装 jq。" + exit 1 + fi + else + echo "jq 已安装。" + fi +} + +install_xray() { + if ! command -v xray &> /dev/null; then + echo "Xray 未安装,正在安装 Xray..." + if ! bash <(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh) install; then + echo "Xray 安装失败,请检查网络连接或安装脚本。" + exit 1 + fi + echo "Xray 安装完成。" + else + echo "Xray 已安装。" + fi +} + +get_public_ipv4() { + ip -4 addr show | grep inet | grep -vE "127\.|10\.|172\.(1[6-9]|2[0-9]|3[0-1])\.|192\.168\.|169\.254" | awk '{print $2}' | cut -d'/' -f1 +} + +print_node_info() { + local ip=$1 + local port=$2 + local username=$3 + local password=$4 + echo -e "\033[32m IP: $ip, 端口: $port, 用户名: $username, 密码: $password\033[0m" +} + +configure_xray() { + public_ips=($(get_public_ipv4)) + + if [[ ${#public_ips[@]} -eq 0 ]]; then + echo "未找到任何公网 IPv4 地址,退出..." + exit 1 + fi + + echo "找到的公网 IPv4 地址: ${public_ips[@]}" + + config_file="/usr/local/etc/xray/config.json" + + cat > $config_file < temp.json && mv temp.json "$config_file" + + print_node_info "$ip" "$port" "$username" "$password" + + port=$((port + 1)) + done + + echo "Xray 配置完成。" +} + +restart_xray() { + echo "正在重启 Xray 服务..." + if ! systemctl restart xray; then + echo "Xray 服务重启失败,请检查配置文件。" + exit 1 + fi + systemctl enable xray + echo "Xray 服务已重启。" +} + +main() { + install_jq + install_xray + configure_xray + restart_xray + echo "部署完成。" +} + +main