diff --git a/menu.sh b/menu.sh index a75b1e3..e9a2f66 100644 --- a/menu.sh +++ b/menu.sh @@ -250,15 +250,23 @@ install_tcp_brutal() { # Function to install WARP and update config.json install_warp() { - echo "Installing WARP..." - bash <(curl -fsSL git.io/warp.sh) wgx - - if [ -f "/etc/hysteria/config.json" ]; then - jq '.outbounds += [{"name": "warps", "type": "direct", "direct": {"mode": 4, "bindDevice": "wgcf"}}]' /etc/hysteria/config.json > /etc/hysteria/config_temp.json && mv /etc/hysteria/config_temp.json /etc/hysteria/config.json - systemctl restart hysteria-server.service >/dev/null 2>&1 - echo "WARP installed and outbound added to config.json." + # Check if wg-quick@wgcf.service is active + if systemctl is-active --quiet wg-quick@wgcf.service; then + echo "WARP is already active. Skipping installation and configuration update." else - echo "Error: Config file /etc/hysteria/config.json not found." + echo "Installing WARP..." + bash <(curl -fsSL git.io/warp.sh) wgx + + # Check if the config file exists + if [ -f "/etc/hysteria/config.json" ]; then + # Add the outbound configuration to the config.json file + jq '.outbounds += [{"name": "warps", "type": "direct", "direct": {"mode": 4, "bindDevice": "wgcf"}}]' /etc/hysteria/config.json > /etc/hysteria/config_temp.json && mv /etc/hysteria/config_temp.json /etc/hysteria/config.json + # Restart the hysteria-server service + systemctl restart hysteria-server.service >/dev/null 2>&1 + echo "WARP installed and outbound added to config.json." + else + echo "Error: Config file /etc/hysteria/config.json not found." + fi fi }