Skip to content

Commit aaabbda

Browse files
committed
v1.8.6
1 parent 509fff0 commit aaabbda

File tree

5 files changed

+37
-26
lines changed

5 files changed

+37
-26
lines changed

config/version

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.8.5
1+
1.8.6

web/assets/js/model/outbound.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -872,15 +872,15 @@ Outbound.FreedomSettings.Fragment = class extends CommonClass {
872872
}
873873
};
874874
Outbound.FreedomSettings.Noise = class extends CommonClass {
875-
constructor(packets = '', delay = '') {
875+
constructor(packet = '', delay = '') {
876876
super();
877-
this.packets = packets;
877+
this.packet = packet;
878878
this.delay = delay;
879879
}
880880

881881
static fromJson(json = {}) {
882882
return new Outbound.FreedomSettings.Noise(
883-
json.packets,
883+
json.packet,
884884
json.delay,
885885
);
886886
}

web/html/xui/form/outbound.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@
5555
</a-switch>
5656
</a-form-item>
5757
<template v-if="Object.keys(outbound.settings.noise).length >0">
58-
<a-form-item label='Packets'>
59-
<a-input v-model.trim="outbound.settings.noise.packets"></a-input>
58+
<a-form-item label='Packet'>
59+
<a-input v-model.trim="outbound.settings.noise.packet"></a-input>
6060
</a-form-item>
6161
<a-form-item label='Delay'>
6262
<a-input v-model.trim="outbound.settings.noise.delay"></a-input>

web/html/xui/settings.html

+5-5
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@
220220
<setting-list-item type="text" title='Interval' v-model="fragmentInterval" placeholder="10-20"></setting-list-item>
221221
</a-collapse-panel>
222222
<a-collapse-panel header='Noise' v-if="enableNoise">
223-
<setting-list-item type="text" title='Packets' v-model="noisePackets" placeholder="rand:5-10"></setting-list-item>
223+
<setting-list-item type="text" title='Packet' v-model="noisePacket" placeholder="rand:5-10"></setting-list-item>
224224
<setting-list-item type="text" title='Delay' v-model="noiseDelay" placeholder="5-10"></setting-list-item>
225225
</a-collapse-panel>
226226
<a-collapse-panel header='Mux' v-if="enableMux">
@@ -307,7 +307,7 @@
307307
settings: {
308308
domainStrategy: "AsIs",
309309
noise: {
310-
packets: "rand:5-10",
310+
packet: "rand:5-10",
311311
delay: "5-10",
312312
}
313313
},
@@ -469,12 +469,12 @@
469469
this.allSetting.subJsonNoise = v ? JSON.stringify(this.defaultNoise) : "";
470470
}
471471
},
472-
noisePackets: {
473-
get: function () { return this.enableNoise ? JSON.parse(this.allSetting.subJsonNoise).settings.noise.packets : ""; },
472+
noisePacket: {
473+
get: function () { return this.enableNoise ? JSON.parse(this.allSetting.subJsonNoise).settings.noise.packet : ""; },
474474
set: function (v) {
475475
if (v != "") {
476476
newNoise = JSON.parse(this.allSetting.subJsonNoise);
477-
newNoise.settings.noise.packets = v;
477+
newNoise.settings.noise.packet = v;
478478
this.allSetting.subJsonNoise = JSON.stringify(newNoise);
479479
}
480480
}

web/service/inbound.go

+26-15
Original file line numberDiff line numberDiff line change
@@ -518,11 +518,13 @@ func (s *InboundService) DelInboundClient(inboundId int, clientId string) (bool,
518518

519519
interfaceClients := settings["clients"].([]interface{})
520520
var newClients []interface{}
521+
needApiDel := false
521522
for _, client := range interfaceClients {
522523
c := client.(map[string]interface{})
523524
c_id := c[client_key].(string)
524525
if c_id == clientId {
525-
email = c["email"].(string)
526+
email, _ = c["email"].(string)
527+
needApiDel, _ = c["enable"].(bool)
526528
} else {
527529
newClients = append(newClients, client)
528530
}
@@ -541,23 +543,32 @@ func (s *InboundService) DelInboundClient(inboundId int, clientId string) (bool,
541543
oldInbound.Settings = string(newSettings)
542544

543545
db := database.GetDB()
544-
err = s.DelClientStat(db, email)
545-
if err != nil {
546-
logger.Error("Delete stats Data Error")
547-
return false, err
548-
}
549546
needRestart := false
547+
550548
if len(email) > 0 {
551-
s.xrayApi.Init(p.GetAPIPort())
552-
err1 := s.xrayApi.RemoveUser(oldInbound.Tag, email)
553-
if err1 == nil {
554-
logger.Debug("Client deleted by api:", email)
555-
needRestart = false
556-
} else {
557-
logger.Debug("Unable to del client by api:", err1)
558-
needRestart = true
549+
notDepleted := true
550+
err = db.Model(xray.ClientTraffic{}).Select("enable").Where("email = ?", email).First(&notDepleted).Error
551+
if err != nil {
552+
logger.Error("Get stats error")
553+
return false, err
554+
}
555+
err = s.DelClientStat(db, email)
556+
if err != nil {
557+
logger.Error("Delete stats Data Error")
558+
return false, err
559+
}
560+
if needApiDel && notDepleted {
561+
s.xrayApi.Init(p.GetAPIPort())
562+
err1 := s.xrayApi.RemoveUser(oldInbound.Tag, email)
563+
if err1 == nil {
564+
logger.Debug("Client deleted by api:", email)
565+
needRestart = false
566+
} else {
567+
logger.Debug("Unable to del client by api:", err1)
568+
needRestart = true
569+
}
570+
s.xrayApi.Close()
559571
}
560-
s.xrayApi.Close()
561572
}
562573
return needRestart, db.Save(oldInbound).Error
563574
}

0 commit comments

Comments
 (0)