Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkonstpic <156318483+konstpic@users.noreply.github.com>2025-09-28 22:00:16 +0300
committermhsanaei <ho3ein.sanaei@gmail.com>2025-09-28 22:04:54 +0300
commit28a17a80ec0c4a0f82e8acfca351651d762b3ec9 (patch)
tree7902b7b4cba04bce816ad17c9490f7228574a096 /web/assets/js
parent30565833889171afe5c934f97bc0e767534e8310 (diff)
feat: add ldap component (#3568)
* add ldap component * fix: fix russian comments, tls cert verify default true * feat: remove replaces go mod for local dev
Diffstat (limited to 'web/assets/js')
-rw-r--r--web/assets/js/model/setting.js22
-rw-r--r--web/assets/js/util/index.js24
2 files changed, 29 insertions, 17 deletions
diff --git a/web/assets/js/model/setting.js b/web/assets/js/model/setting.js
index daf03799..53ffae1a 100644
--- a/web/assets/js/model/setting.js
+++ b/web/assets/js/model/setting.js
@@ -50,6 +50,28 @@ class AllSetting {
this.timeLocation = "Local";
+ // LDAP settings
+ this.ldapEnable = false;
+ this.ldapHost = "";
+ this.ldapPort = 389;
+ this.ldapUseTLS = false;
+ this.ldapBindDN = "";
+ this.ldapPassword = "";
+ this.ldapBaseDN = "";
+ this.ldapUserFilter = "(objectClass=person)";
+ this.ldapUserAttr = "mail";
+ this.ldapVlessField = "vless_enabled";
+ this.ldapSyncCron = "@every 1m";
+ this.ldapFlagField = "";
+ this.ldapTruthyValues = "true,1,yes,on";
+ this.ldapInvertFlag = false;
+ this.ldapInboundTags = "";
+ this.ldapAutoCreate = false;
+ this.ldapAutoDelete = false;
+ this.ldapDefaultTotalGB = 0;
+ this.ldapDefaultExpiryDays = 0;
+ this.ldapDefaultLimitIP = 0;
+
if (data == null) {
return
}
diff --git a/web/assets/js/util/index.js b/web/assets/js/util/index.js
index bb47f538..902974f0 100644
--- a/web/assets/js/util/index.js
+++ b/web/assets/js/util/index.js
@@ -316,23 +316,13 @@ class ObjectUtil {
}
static equals(a, b) {
- for (const key in a) {
- if (!a.hasOwnProperty(key)) {
- continue;
- }
- if (!b.hasOwnProperty(key)) {
- return false;
- } else if (a[key] !== b[key]) {
- return false;
- }
- }
- for (const key in b) {
- if (!b.hasOwnProperty(key)) {
- continue;
- }
- if (!a.hasOwnProperty(key)) {
- return false;
- }
+ // shallow, symmetric comparison so newly added fields also affect equality
+ const aKeys = Object.keys(a);
+ const bKeys = Object.keys(b);
+ if (aKeys.length !== bKeys.length) return false;
+ for (const key of aKeys) {
+ if (!Object.prototype.hasOwnProperty.call(b, key)) return false;
+ if (a[key] !== b[key]) return false;
}
return true;
}