This commit is contained in:
MHSanaei 2023-12-13 19:55:20 +03:30
parent 8d18c8e98f
commit 6a2019629b
10 changed files with 32 additions and 37 deletions

View file

@ -23,10 +23,10 @@ bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.
# Install custom version # Install custom version
To install your desired version you can add the version to the end of install command. Example for ver `v2.0.0`: To install your desired version you can add the version to the end of install command. Example for ver `v2.0.1`:
``` ```
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) v2.0.0 bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) v2.0.1
``` ```
# SSL # SSL

View file

@ -1 +1 @@
2.0.0 2.0.1

View file

@ -72,7 +72,7 @@
}); });
}, },
genSubLink(subID) { genSubLink(subID) {
return app.subSettings.subURI+subID+'?name='+subID; return app.subSettings.subURI+subID;
} }
}, },
updated() { updated() {

View file

@ -59,7 +59,7 @@
<span>{{ i18n "pages.inbounds.telegramDesc" }}</span> <span>{{ i18n "pages.inbounds.telegramDesc" }}</span>
</template> </template>
Telegram ID Telegram ID
<a-icon type="question-circle" theme="filled"></a-icon> <a-icon type="question-circle"></a-icon>
</a-tooltip> </a-tooltip>
</template> </template>
<a-input v-model.trim="clientsBulkModal.tgId"></a-input> <a-input v-model.trim="clientsBulkModal.tgId"></a-input>
@ -71,7 +71,7 @@
<span>{{ i18n "pages.inbounds.IPLimitDesc" }}</span> <span>{{ i18n "pages.inbounds.IPLimitDesc" }}</span>
</template> </template>
<span>{{ i18n "pages.inbounds.IPLimit" }} </span> <span>{{ i18n "pages.inbounds.IPLimit" }} </span>
<a-icon type="question-circle" theme="filled"></a-icon> <a-icon type="question-circle"></a-icon>
</a-tooltip> </a-tooltip>
</template> </template>
<a-input-number v-model="clientsBulkModal.limitIp" min="0"></a-input-number> <a-input-number v-model="clientsBulkModal.limitIp" min="0"></a-input-number>
@ -83,7 +83,7 @@
0 <span>{{ i18n "pages.inbounds.meansNoLimit" }}</span> 0 <span>{{ i18n "pages.inbounds.meansNoLimit" }}</span>
</template> </template>
{{ i18n "pages.inbounds.totalFlow" }} (GB) {{ i18n "pages.inbounds.totalFlow" }} (GB)
<a-icon type="question-circle" theme="filled"></a-icon> <a-icon type="question-circle"></a-icon>
</a-tooltip> </a-tooltip>
</template> </template>
<a-input-number v-model="clientsBulkModal.totalGB" :min="0"></a-input-number> <a-input-number v-model="clientsBulkModal.totalGB" :min="0"></a-input-number>
@ -101,7 +101,7 @@
<span>{{ i18n "pages.inbounds.leaveBlankToNeverExpire" }}</span> <span>{{ i18n "pages.inbounds.leaveBlankToNeverExpire" }}</span>
</template> </template>
{{ i18n "pages.inbounds.expireDate" }} {{ i18n "pages.inbounds.expireDate" }}
<a-icon type="question-circle" theme="filled"></a-icon> <a-icon type="question-circle"></a-icon>
</a-tooltip> </a-tooltip>
</template> </template>
<a-date-picker :show-time="{ format: 'HH:mm:ss' }" format="YYYY-MM-DD HH:mm:ss" <a-date-picker :show-time="{ format: 'HH:mm:ss' }" format="YYYY-MM-DD HH:mm:ss"
@ -114,7 +114,7 @@
<template slot="title"> <template slot="title">
<span>{{ i18n "pages.client.renewDesc" }}</span> <span>{{ i18n "pages.client.renewDesc" }}</span>
</template> </template>
<a-icon type="question-circle" theme="filled"></a-icon> <a-icon type="question-circle"></a-icon>
</a-tooltip> </a-tooltip>
</template> </template>
<a-input-number v-model.number="clientsBulkModal.reset" :min="0"></a-input-number> <a-input-number v-model.number="clientsBulkModal.reset" :min="0"></a-input-number>

View file

@ -70,7 +70,7 @@
<span>{{ i18n "pages.inbounds.IPLimitDesc"}}</span> <span>{{ i18n "pages.inbounds.IPLimitDesc"}}</span>
</template> </template>
<span>{{ i18n "pages.inbounds.IPLimit"}} </span> <span>{{ i18n "pages.inbounds.IPLimit"}} </span>
<a-icon type="question-circle" theme="filled"></a-icon> <a-icon type="question-circle"></a-icon>
</a-tooltip> </a-tooltip>
</template> </template>
<a-input-number v-model="client.limitIp" min="0"></a-input-number> <a-input-number v-model="client.limitIp" min="0"></a-input-number>
@ -82,7 +82,7 @@
<span>{{ i18n "pages.inbounds.IPLimitlogDesc" }}</span> <span>{{ i18n "pages.inbounds.IPLimitlogDesc" }}</span>
</template> </template>
<span>{{ i18n "pages.inbounds.IPLimitlog" }}</span> <span>{{ i18n "pages.inbounds.IPLimitlog" }}</span>
<a-icon type="question-circle" theme="filled"></a-icon> <a-icon type="question-circle"></a-icon>
</a-tooltip> </a-tooltip>
</template> </template>
<a-tooltip> <a-tooltip>
@ -123,8 +123,7 @@
</template> </template>
<a-input-number v-model="client._totalGB" :min="0"></a-input-number> <a-input-number v-model="client._totalGB" :min="0"></a-input-number>
</a-form-item> </a-form-item>
<a-form-item v-if="isEdit && clientStats"> <a-form-item v-if="isEdit && clientStats" label='{{ i18n "usage" }}'>
{{ i18n "usage" }}
<a-tag :color="clientUsageColor(clientStats, app.trafficDiff)"> <a-tag :color="clientUsageColor(clientStats, app.trafficDiff)">
[[ sizeFormat(clientStats.up) ]] / [[ sizeFormat(clientStats.up) ]] /
[[ sizeFormat(clientStats.down) ]] [[ sizeFormat(clientStats.down) ]]
@ -146,11 +145,9 @@
<a-form-item v-else> <a-form-item v-else>
<template slot="label"> <template slot="label">
<a-tooltip> <a-tooltip>
<template slot="title"> <template slot="title">{{ i18n "pages.inbounds.leaveBlankToNeverExpire" }}</template>
<span>{{ i18n "pages.inbounds.leaveBlankToNeverExpire" }}</span> {{ i18n "pages.inbounds.expireDate" }}
</template> <a-icon type="question-circle"></a-icon>
<span>{{ i18n "pages.inbounds.expireDate" }}</span>
<a-icon type="question-circle" theme="filled"></a-icon>
</a-tooltip> </a-tooltip>
</template> </template>
<a-date-picker :show-time="{ format: 'HH:mm:ss' }" format="YYYY-MM-DD HH:mm:ss" <a-date-picker :show-time="{ format: 'HH:mm:ss' }" format="YYYY-MM-DD HH:mm:ss"
@ -160,11 +157,9 @@
<a-form-item v-if="client.expiryTime != 0"> <a-form-item v-if="client.expiryTime != 0">
<template slot="label"> <template slot="label">
<a-tooltip> <a-tooltip>
<template slot="title"> <template slot="title">{{ i18n "pages.client.renewDesc" }}</template>
<span>{{ i18n "pages.client.renewDesc" }}</span>
</template>
{{ i18n "pages.client.renew" }} {{ i18n "pages.client.renew" }}
<a-icon type="question-circle" theme="filled"></a-icon> <a-icon type="question-circle"></a-icon>
</a-tooltip> </a-tooltip>
</template> </template>
<a-input-number v-model.number="client.reset" :min="0"></a-input-number> <a-input-number v-model.number="client.reset" :min="0"></a-input-number>

View file

@ -172,7 +172,7 @@
<span>{{ i18n "pages.client.renew" }}</span> <span>{{ i18n "pages.client.renew" }}</span>
</template> </template>
Short Ids Short Ids
<a-icon @click="inbound.stream.reality.shortIds = RandomUtil.randomShortId().join(',')" type="sync"> <a-icon @click="inbound.stream.reality.shortIds = RandomUtil.randomShortId()" type="sync"> </a-icon>
</a-icon> </a-icon>
</template> </template>
<a-input v-model.trim="inbound.stream.reality.shortIds" style="width:250px"></a-input> <a-input v-model.trim="inbound.stream.reality.shortIds" style="width:250px"></a-input>

View file

@ -303,7 +303,7 @@
infoModal.visible = false; infoModal.visible = false;
}, },
genSubLink(subID) { genSubLink(subID) {
return app.subSettings.subURI+subID+'?name='+subID; return app.subSettings.subURI+subID;
} }
}; };

View file

@ -102,7 +102,7 @@
<template slot="content"> <template slot="content">
<p style="max-width: 400px" v-for="line in status.xray.errorMsg.split('\n')">[[ line ]]</p> <p style="max-width: 400px" v-for="line in status.xray.errorMsg.split('\n')">[[ line ]]</p>
</template> </template>
<a-icon type="question-circle" theme="filled"></a-icon> <a-icon type="question-circle"></a-icon>
</a-popover> </a-popover>
<a-tag color="purple" style="cursor: pointer;" @click="stopXrayService">{{ i18n "pages.index.stopXray" }}</a-tag> <a-tag color="purple" style="cursor: pointer;" @click="stopXrayService">{{ i18n "pages.index.stopXray" }}</a-tag>
<a-tag color="purple" style="cursor: pointer;" @click="restartXrayService">{{ i18n "pages.index.restartXray" }}</a-tag> <a-tag color="purple" style="cursor: pointer;" @click="restartXrayService">{{ i18n "pages.index.restartXray" }}</a-tag>
@ -125,7 +125,7 @@
<template slot="title"> <template slot="title">
{{ i18n "pages.index.systemLoadDesc" }} {{ i18n "pages.index.systemLoadDesc" }}
</template> </template>
<a-icon type="question-circle" theme="filled"></a-icon> <a-icon type="question-circle"></a-icon>
</a-tooltip> </a-tooltip>
</a-card> </a-card>
</a-col> </a-col>
@ -146,7 +146,7 @@
<template slot="title"> <template slot="title">
[[ status.publicIP.ipv4 ]] [[ status.publicIP.ipv4 ]]
</template> </template>
<a-icon type="question-circle" theme="filled"></a-icon> <a-icon type="question-circle"></a-icon>
</a-tooltip> </a-tooltip>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
@ -155,7 +155,7 @@
<template slot="title"> <template slot="title">
[[ status.publicIP.ipv6 ]] [[ status.publicIP.ipv6 ]]
</template> </template>
<a-icon type="question-circle" theme="filled"></a-icon> <a-icon type="question-circle"></a-icon>
</a-tooltip> </a-tooltip>
</a-col> </a-col>
</a-row> </a-row>
@ -170,7 +170,7 @@
<template slot="title"> <template slot="title">
{{ i18n "pages.index.connectionTcpCountDesc" }} {{ i18n "pages.index.connectionTcpCountDesc" }}
</template> </template>
<a-icon type="question-circle" theme="filled"></a-icon> <a-icon type="question-circle"></a-icon>
</a-tooltip> </a-tooltip>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
@ -179,7 +179,7 @@
<template slot="title"> <template slot="title">
{{ i18n "pages.index.connectionUdpCountDesc" }} {{ i18n "pages.index.connectionUdpCountDesc" }}
</template> </template>
<a-icon type="question-circle" theme="filled"></a-icon> <a-icon type="question-circle"></a-icon>
</a-tooltip> </a-tooltip>
</a-col> </a-col>
</a-row> </a-row>
@ -195,7 +195,7 @@
<template slot="title"> <template slot="title">
{{ i18n "pages.index.upSpeed" }} {{ i18n "pages.index.upSpeed" }}
</template> </template>
<a-icon type="question-circle" theme="filled"></a-icon> <a-icon type="question-circle"></a-icon>
</a-tooltip> </a-tooltip>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
@ -205,7 +205,7 @@
<template slot="title"> <template slot="title">
{{ i18n "pages.index.downSpeed" }} {{ i18n "pages.index.downSpeed" }}
</template> </template>
<a-icon type="question-circle" theme="filled"></a-icon> <a-icon type="question-circle"></a-icon>
</a-tooltip> </a-tooltip>
</a-col> </a-col>
</a-row> </a-row>
@ -221,7 +221,7 @@
<template slot="title"> <template slot="title">
{{ i18n "pages.index.totalSent" }} {{ i18n "pages.index.totalSent" }}
</template> </template>
<a-icon type="question-circle" theme="filled"></a-icon> <a-icon type="question-circle"></a-icon>
</a-tooltip> </a-tooltip>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
@ -231,7 +231,7 @@
<template slot="title"> <template slot="title">
{{ i18n "pages.index.totalReceive" }} {{ i18n "pages.index.totalReceive" }}
</template> </template>
<a-icon type="question-circle" theme="filled"></a-icon> <a-icon type="question-circle"></a-icon>
</a-tooltip> </a-tooltip>
</a-col> </a-col>
</a-row> </a-row>

View file

@ -74,7 +74,7 @@
<template slot="content"> <template slot="content">
<p style="max-width: 400px" v-for="line in restartResult.split('\n')">[[ line ]]</p> <p style="max-width: 400px" v-for="line in restartResult.split('\n')">[[ line ]]</p>
</template> </template>
<a-icon type="question-circle" theme="filled"></a-icon> <a-icon type="question-circle"></a-icon>
</a-popover> </a-popover>
</a-space> </a-space>
</a-col> </a-col>

View file

@ -378,7 +378,7 @@
"completeTemplate" = "全部" "completeTemplate" = "全部"
[pages.xray.rules] [pages.xray.rules]
"firsto" = "第一个" "first" = "第一个"
"last" = "最后" "last" = "最后"
"up" = "向上" "up" = "向上"
"down" = "向下" "down" = "向下"
@ -399,7 +399,7 @@
"tag" = "标签" "tag" = "标签"
"tagDesc" = "独特的标签" "tagDesc" = "独特的标签"
"address" = "地址" "address" = "地址"
"rreverse" = "反转" "reverse" = "反转"
"domain" = "域名" "domain" = "域名"
"type" = "类型" "type" = "类型"
"bridge" = "桥" "bridge" = "桥"