mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2025-04-19 21:42:24 +00:00
minor changes
Co-Authored-By: Alireza Ahmadi <alireza7@gmail.com> Co-Authored-By: Tara Rostami <132676256+TaraRostami@users.noreply.github.com>
This commit is contained in:
parent
fc3ea2dd4b
commit
81c9b4450b
6 changed files with 26 additions and 10 deletions
1
.github/workflows/release.yml
vendored
1
.github/workflows/release.yml
vendored
|
@ -124,4 +124,3 @@ jobs:
|
||||||
file: x-ui-linux-${{ matrix.platform }}.tar.gz
|
file: x-ui-linux-${{ matrix.platform }}.tar.gz
|
||||||
asset_name: x-ui-linux-${{ matrix.platform }}.tar.gz
|
asset_name: x-ui-linux-${{ matrix.platform }}.tar.gz
|
||||||
prerelease: true
|
prerelease: true
|
||||||
draft: true
|
|
||||||
|
|
|
@ -1171,3 +1171,7 @@ b, strong {
|
||||||
background-color: var(--dark-color-btn-danger-hover);
|
background-color: var(--dark-color-btn-danger-hover);
|
||||||
border-color: var(--dark-color-btn-danger-hover);
|
border-color: var(--dark-color-btn-danger-hover);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.dark .ant-alert-close-icon .anticon-close:hover {
|
||||||
|
color: rgb(255 255 255);
|
||||||
|
}
|
|
@ -186,7 +186,7 @@
|
||||||
</a-radio-group>
|
</a-radio-group>
|
||||||
</div>
|
</div>
|
||||||
<a-back-top></a-back-top>
|
<a-back-top></a-back-top>
|
||||||
<a-table :columns="isMobile ? mobileColums : columns" :row-key="dbInbound => dbInbound.id"
|
<a-table :columns="isMobile ? mobileColumns : columns" :row-key="dbInbound => dbInbound.id"
|
||||||
:data-source="searchedInbounds"
|
:data-source="searchedInbounds"
|
||||||
:scroll="isMobile ? {} : { x: 1000 }"
|
:scroll="isMobile ? {} : { x: 1000 }"
|
||||||
:pagination=pagination(searchedInbounds)
|
:pagination=pagination(searchedInbounds)
|
||||||
|
@ -508,7 +508,7 @@
|
||||||
scopedSlots: { customRender: 'expiryTime' },
|
scopedSlots: { customRender: 'expiryTime' },
|
||||||
}];
|
}];
|
||||||
|
|
||||||
const mobileColums = [{
|
const mobileColumns = [{
|
||||||
title: "ID",
|
title: "ID",
|
||||||
align: 'right',
|
align: 'right',
|
||||||
dataIndex: "id",
|
dataIndex: "id",
|
||||||
|
|
|
@ -393,6 +393,10 @@
|
||||||
<td>Port</td>
|
<td>Port</td>
|
||||||
<td><a-tag color="green" v-for="r in rule.port.split(',')">[[ r ]]</a-tag></td>
|
<td><a-tag color="green" v-for="r in rule.port.split(',')">[[ r ]]</a-tag></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr v-if="rule.balancerTag">
|
||||||
|
<td>Balancer Tag</td>
|
||||||
|
<td><a-tag color="blue">[[ rule.balancerTag ]]</a-tag></td>
|
||||||
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</template>
|
</template>
|
||||||
<a-button shape="round" size="small" style="font-size: 14px; padding: 0 10px;">
|
<a-button shape="round" size="small" style="font-size: 14px; padding: 0 10px;">
|
||||||
|
|
|
@ -23,7 +23,8 @@
|
||||||
<a-select-option value="roundRobin">Round Robin</a-select-option>
|
<a-select-option value="roundRobin">Round Robin</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label='{{ i18n "pages.xray.balancer.balancerSelectors" }}' has-feedback :validate-status="balancerModal.emptySelector? 'warning' : 'success'">
|
<a-form-item label='{{ i18n "pages.xray.balancer.balancerSelectors" }}' has-feedback
|
||||||
|
:validate-status="balancerModal.emptySelector? 'warning' : 'success'">
|
||||||
<a-select v-model="balancerModal.balancer.selector" mode="tags" @change="balancerModal.checkSelector()"
|
<a-select v-model="balancerModal.balancer.selector" mode="tags" @change="balancerModal.checkSelector()"
|
||||||
:dropdown-class-name="themeSwitcher.currentTheme">
|
:dropdown-class-name="themeSwitcher.currentTheme">
|
||||||
<a-select-option v-for="tag in balancerModal.outboundTags" :value="tag">[[ tag ]]</a-select-option>
|
<a-select-option v-for="tag in balancerModal.outboundTags" :value="tag">[[ tag ]]</a-select-option>
|
||||||
|
@ -74,17 +75,18 @@
|
||||||
this.balancerTags = balancerTags.filter((tag) => tag != balancer.tag);
|
this.balancerTags = balancerTags.filter((tag) => tag != balancer.tag);
|
||||||
this.outboundTags = app.templateSettings.outbounds.filter((o) => !ObjectUtil.isEmpty(o.tag)).map(obj => obj.tag);
|
this.outboundTags = app.templateSettings.outbounds.filter((o) => !ObjectUtil.isEmpty(o.tag)).map(obj => obj.tag);
|
||||||
this.isEdit = isEdit;
|
this.isEdit = isEdit;
|
||||||
this.check()
|
this.check();
|
||||||
|
this.checkSelector();
|
||||||
},
|
},
|
||||||
close() {
|
close() {
|
||||||
balancerModal.visible = false;
|
this.visible = false;
|
||||||
balancerModal.loading(false);
|
this.loading(false);
|
||||||
},
|
},
|
||||||
loading(loading=true) {
|
loading(loading=true) {
|
||||||
balancerModal.confirmLoading = loading;
|
this.confirmLoading = loading;
|
||||||
},
|
},
|
||||||
check() {
|
check() {
|
||||||
if (balancerModal.balancer.tag == '' || balancerModal.balancerTags.includes(balancerModal.balancer.tag)) {
|
if (this.balancer.tag == '' || this.balancerTags.includes(this.balancer.tag)) {
|
||||||
this.duplicateTag = true;
|
this.duplicateTag = true;
|
||||||
this.isValid = false;
|
this.isValid = false;
|
||||||
} else {
|
} else {
|
||||||
|
@ -93,7 +95,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
checkSelector() {
|
checkSelector() {
|
||||||
balancerModal.emptySelector = balancerModal.balancer.selector.length == 0;
|
this.emptySelector = this.balancer.selector.length == 0;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1900,6 +1900,13 @@ func (s *InboundService) MigrationRequirements() {
|
||||||
newStream, _ := json.MarshalIndent(stream, " ", " ")
|
newStream, _ := json.MarshalIndent(stream, " ", " ")
|
||||||
tx.Model(model.Inbound{}).Where("id = ?", ep.Id).Update("stream_settings", newStream)
|
tx.Model(model.Inbound{}).Where("id = ?", ep.Id).Update("stream_settings", newStream)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
err = tx.Raw(`UPDATE inbounds
|
||||||
|
SET tag = REPLACE(tag, '0.0.0.0:', '')
|
||||||
|
WHERE INSTR(tag, '0.0.0.0:') > 0;`).Error
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *InboundService) MigrateDB() {
|
func (s *InboundService) MigrateDB() {
|
||||||
|
|
Loading…
Reference in a new issue