Browse Source

shadow socks base64 + new methods

MHSanaei 1 year ago
parent
commit
48d6362a69

+ 9 - 17
web/assets/js/model/xray.js

@@ -17,16 +17,15 @@ const VmessMethods = {
 };
 
 const SSMethods = {
-    // AES_256_CFB: 'aes-256-cfb',
-    // AES_128_CFB: 'aes-128-cfb',
-    // CHACHA20: 'chacha20',
-    // CHACHA20_IETF: 'chacha20-ietf',
-    CHACHA20_POLY1305: 'chacha20-poly1305',
-    AES_256_GCM: 'aes-256-gcm',
-    AES_128_GCM: 'aes-128-gcm',
+	AES_128_GCM: 'aes-128-gcm',
+	AES_256_GCM: 'aes-256-gcm',
+	CHACHA20_POLY1305: 'chacha20-poly1305',
+	CHACHA20_IETF_POLY1305: 'chacha20-ietf-poly1305',
+	XCHACHA20_POLY1305: 'xchacha20-poly1305',
+	XCHACHA20_IETF_POLY1305: 'xchacha20-ietf-poly1305',
 	BLAKE3_AES_128_GCM: '2022-blake3-aes-128-gcm',
-    BLAKE3_AES_256_GCM: '2022-blake3-aes-256-gcm',
-    BLAKE3_CHACHA20_POLY1305: '2022-blake3-chacha20-poly1305',
+	BLAKE3_AES_256_GCM: '2022-blake3-aes-256-gcm',
+	BLAKE3_CHACHA20_POLY1305: '2022-blake3-chacha20-poly1305',
 };
 
 const RULE_IP = {
@@ -940,7 +939,6 @@ class Inbound extends XrayCommonClass {
             case Protocols.VMESS:
             case Protocols.VLESS:
             case Protocols.TROJAN:
-            case Protocols.SHADOWSOCKS:
                 break;
             default:
                 return false;
@@ -992,7 +990,6 @@ class Inbound extends XrayCommonClass {
             case Protocols.VMESS:
             case Protocols.VLESS:
 			case Protocols.TROJAN:
-            case Protocols.SHADOWSOCKS:
                 return true;
             default:
                 return false;
@@ -1186,12 +1183,7 @@ class Inbound extends XrayCommonClass {
         if (!ObjectUtil.isEmpty(server)) {
             address = server;
         }
-        if (settings.method == SSMethods.BLAKE3_AES_128_GCM || settings.method == SSMethods.BLAKE3_AES_256_GCM || settings.method == SSMethods.BLAKE3_CHACHA20_POLY1305) {
-            return `ss://${settings.method}:${settings.password}@${address}:${this.port}#${encodeURIComponent(remark)}`;
-        } else {
-            return 'ss://' + safeBase64(settings.method + ':' + settings.password + '@' + address + ':' + this.port)
-                + '#' + encodeURIComponent(remark);
-        }
+			return 'ss://' + safeBase64(settings.method + ':' + settings.password) + `@${address}:${this.port}#${encodeURIComponent(remark)}`;
     }
 
     genTrojanLink(address = '', remark = '', clientIndex = 0) {

+ 3 - 3
web/html/xui/form/protocol/dokodemo.html

@@ -8,9 +8,9 @@
     </a-form-item>
     <a-form-item label='{{ i18n "pages.inbounds.network"}}'>
         <a-select v-model="inbound.settings.network" style="width: 100px;" :dropdown-class-name="siderDrawer.isDarkTheme ? 'ant-card-dark' : ''">
-            <a-select-option value="tcp,udp">tcp+udp</a-select-option>
-            <a-select-option value="tcp">tcp</a-select-option>
-            <a-select-option value="udp">udp</a-select-option>
+            <a-select-option value="tcp,udp">TCP+UDP</a-select-option>
+            <a-select-option value="tcp">TCP</a-select-option>
+            <a-select-option value="udp">UDP</a-select-option>
         </a-select>
     </a-form-item>
     <a-form-item label="FollowRedirect">

+ 5 - 5
web/html/xui/form/protocol/shadowsocks.html

@@ -1,18 +1,18 @@
 {{define "form/shadowsocks"}}
 <a-form layout="inline">
     <a-form-item label='{{ i18n "encryption" }}'>
-        <a-select v-model="inbound.settings.method" style="width: 165px;" :dropdown-class-name="siderDrawer.isDarkTheme ? 'ant-card-dark' : ''">
+        <a-select v-model="inbound.settings.method" style="width: 250px;" :dropdown-class-name="siderDrawer.isDarkTheme ? 'ant-card-dark' : ''">
             <a-select-option v-for="method in SSMethods" :value="method">[[ method ]]</a-select-option>
         </a-select>
     </a-form-item>
     <a-form-item label='{{ i18n "password" }}'>
-        <a-input v-model.trim="inbound.settings.password"></a-input>
+        <a-input v-model.trim="inbound.settings.password" style="width: 250px;"></a-input>
     </a-form-item>
     <a-form-item label='{{ i18n "pages.inbounds.network" }}'>
         <a-select v-model="inbound.settings.network" style="width: 100px;" :dropdown-class-name="siderDrawer.isDarkTheme ? 'ant-card-dark' : ''">
-            <a-select-option value="tcp,udp">tcp+udp</a-select-option>
-            <a-select-option value="tcp">tcp</a-select-option>
-            <a-select-option value="udp">udp</a-select-option>
+            <a-select-option value="tcp,udp">TCP+UDP</a-select-option>
+            <a-select-option value="tcp">TCP</a-select-option>
+            <a-select-option value="udp">UDP</a-select-option>
         </a-select>
     </a-form-item>
 </a-form>