4 Revize a4cf77422f ... c0ef53e542

Autor SHA1 Zpráva Datum
  mhsanaei c0ef53e542 Access URL - SSL exist před 1 týdnem
  mhsanaei b7d1c84cd0 README OS - Windows x64 před 1 týdnem
  mhsanaei 111bfe5d2e ShadowSocks - ivCheck před 1 týdnem
  mhsanaei 6e59aa14b0 Xray core buggy version removed před 1 týdnem

+ 1 - 0
README.es_ES.md

@@ -253,6 +253,7 @@ location /sub {
 - Oracle Linux 8+
 - OpenSUSE Tubleweed
 - Amazon Linux 2023
+- Windows x64
 
 ## Arquitecturas y Dispositivos Compatibles
 

+ 1 - 0
README.md

@@ -258,6 +258,7 @@ location /sub {
 - Oracle Linux 8+
 - OpenSUSE Tubleweed
 - Amazon Linux 2023
+- Windows x64
 
 ## Supported Architectures and Devices
 

+ 1 - 0
README.ru_RU.md

@@ -257,6 +257,7 @@ location /sub {
 - Oracle Linux 8+
 - OpenSUSE Tubleweed
 - Amazon Linux 2023
+- Windows x64
 
 ## Поддерживаемые архитектуры и устройства
 

+ 1 - 0
README.zh_CN.md

@@ -254,6 +254,7 @@ location /sub {
 - Oracle Linux 8+
 - OpenSUSE Tubleweed
 - Amazon Linux 2023
+- Windows x64
 
 ## 支持的架构和设备
 <details>

+ 6 - 2
web/assets/js/model/inbound.js

@@ -2198,13 +2198,15 @@ Inbound.ShadowsocksSettings = class extends Inbound.Settings {
         method = SSMethods.BLAKE3_AES_256_GCM,
         password = RandomUtil.randomShadowsocksPassword(),
         network = 'tcp,udp',
-        shadowsockses = [new Inbound.ShadowsocksSettings.Shadowsocks()]
+        shadowsockses = [new Inbound.ShadowsocksSettings.Shadowsocks()],
+        ivCheck = false,
     ) {
         super(protocol);
         this.method = method;
         this.password = password;
         this.network = network;
         this.shadowsockses = shadowsockses;
+        this.ivCheck = ivCheck;
     }
 
     static fromJson(json = {}) {
@@ -2214,6 +2216,7 @@ Inbound.ShadowsocksSettings = class extends Inbound.Settings {
             json.password,
             json.network,
             json.clients.map(client => Inbound.ShadowsocksSettings.Shadowsocks.fromJson(client)),
+            json.ivCheck,
         );
     }
 
@@ -2222,7 +2225,8 @@ Inbound.ShadowsocksSettings = class extends Inbound.Settings {
             method: this.method,
             password: this.password,
             network: this.network,
-            clients: Inbound.ShadowsocksSettings.toJsonArray(this.shadowsockses)
+            clients: Inbound.ShadowsocksSettings.toJsonArray(this.shadowsockses),
+            ivCheck: this.ivCheck,
         };
     }
 };

+ 3 - 0
web/html/xui/form/protocol/shadowsocks.html

@@ -43,5 +43,8 @@
             <a-select-option value="udp">UDP</a-select-option>
         </a-select>
     </a-form-item>
+    <a-form-item label='ivCheck'>
+        <a-switch v-model="inbound.settings.ivCheck"></a-switch>
+    </a-form-item>
 </a-form>
 {{end}}

+ 1 - 1
web/service/server.go

@@ -286,7 +286,7 @@ func (s *ServerService) GetXrayVersions() ([]string, error) {
 		}
 
 		if (major == 1 && minor == 8 && patch == 24) ||
-			(major == 24 && ((minor > 10) || (minor == 10 && patch >= 16))) ||
+			(major == 24 && ((minor > 11) || (minor == 11 && patch >= 11))) ||
 			(major > 24) {
 			versions = append(versions, release.TagName)
 		}

+ 12 - 1
x-ui.sh

@@ -309,9 +309,20 @@ check_config() {
 
     local existing_webBasePath=$(echo "$info" | grep -Eo 'webBasePath: .+' | awk '{print $2}')
     local existing_port=$(echo "$info" | grep -Eo 'port: .+' | awk '{print $2}')
+    local existing_cert=$(/usr/local/x-ui/x-ui setting -getCert true | grep -Eo 'cert: .+' | awk '{print $2}')
     local server_ip=$(curl -s https://api.ipify.org)
 
-    echo -e "${green}Access URL: http://${server_ip}:${existing_port}${existing_webBasePath}${plain}"
+    if [[ -n "$existing_cert" ]]; then
+        local domain=$(basename "$(dirname "$existing_cert")")
+
+        if [[ "$domain" =~ ^[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$ ]]; then
+            echo -e "${green}Access URL: https://${domain}:${existing_port}${existing_webBasePath}${plain}"
+        else
+            echo -e "${green}Access URL: https://${server_ip}:${existing_port}${existing_webBasePath}${plain}"
+        fi
+    else
+        echo -e "${green}Access URL: http://${server_ip}:${existing_port}${existing_webBasePath}${plain}"
+    fi
 }
 
 set_port() {