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

client.html « form « xui « html « web - github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 586f4fd4d2532aa7ed15932cf41ce31818f7f154 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
{{define "form/client"}}
<a-form layout="inline" v-if="client">
    <template v-if="isEdit">
    <a-tag v-if="isExpiry || isTrafficExhausted" color="red" style="margin-bottom: 10px;display: block;text-align: center;">Account is (Expired|Traffic Ended) And Disabled</a-tag>
    </template>
    <a-form-item>
        <span slot="label">
            Email
            <a-tooltip>
                <template slot="title">
                    The Email Must Be Completely Unique
                </template>
                <a-icon type="sync" @click="getNewEmail(client)"></a-icon>
            </a-tooltip>
        </span>
        <a-input v-model.trim="client.email" style="width: 150px;" ></a-input>
    </a-form-item>
    <a-form-item label="Password" v-if="inbound.protocol === Protocols.TROJAN">
        <a-input v-model.trim="client.password" style="width: 150px;" ></a-input>
    </a-form-item>
    <a-form-item label="ID" v-if="inbound.protocol === Protocols.VMESS || inbound.protocol === Protocols.VLESS">
        <a-input v-model.trim="client.id" style="width: 300px;"></a-input>
    </a-form-item>
    <a-form-item label='{{ i18n "additional" }} ID' v-if="inbound.protocol === Protocols.VMESS">
        <a-input type="number" v-model.number="client.alterId" style="width: 70px;"></a-input>
    </a-form-item>
	<a-form-item>
		<span slot="label">
			IP Count Limit
			<a-tooltip>
				<template slot="title">
				Disable inbound if more than entered count (0 for disable limit ip)
				</template>
				<a-icon type="question-circle" theme="filled"></a-icon>
			</a-tooltip>
		</span>
		<a-input type="number" v-model.number="client.limitIp" min="0" style="width: 70px;" ></a-input>
	</a-form-item>
	<a-form-item v-if="client.email && client.limitIp > 0 && isEdit">
		<span slot="label">
			IP Log
			<a-tooltip>
				<template slot="title">
				IPs history Log (before enabling inbound after it has been disabled by IP limit, you should clear the log)
				</template>
				<a-icon type="question-circle" theme="filled"></a-icon>
			</a-tooltip>
			<a-tooltip>
				<template slot="title">
				Clear The Log
				</template>
				<span style="color: #FF4D4F">
				<a-icon type="delete" @click="clearDBClientIps(client.email,$event)"></a-icon>
				</span>
			</a-tooltip>
		</span>
		<a-form layout="block">
			<a-textarea readonly @click="getDBClientIps(client.email,$event)" placeholder="Click To Get IPs"  :auto-size="{ minRows: 2, maxRows: 10 }">
			</a-textarea>
		</a-form>
	</a-form-item>
    <a-form-item v-if="inbound.XTLS" label="Flow">
        <a-select v-model="client.flow" style="width: 150px">
            <a-select-option value="">{{ i18n "none" }}</a-select-option>
            <a-select-option v-for="key in XTLS_FLOW_CONTROL" :value="key">[[ key ]]</a-select-option>
        </a-select>
    </a-form-item>
    <a-form-item v-else-if="inbound.canEnableTlsFlow()" label="Flow" layout="inline">
        <a-select v-model="client.flow" style="width: 150px">
            <a-select-option value="" selected>{{ i18n "none" }}</a-select-option>
            <a-select-option v-for="key in TLS_FLOW_CONTROL" :value="key">[[ key ]]</a-select-option>
        </a-select>
    </a-form-item>
    <a-form-item>
        <span slot="label">
            <span >{{ i18n "pages.inbounds.totalFlow" }}</span>(GB)
            <a-tooltip>
                <template slot="title">
                    0 <span>{{ i18n "pages.inbounds.meansNoLimit" }}</span>
                </template>
                <a-icon type="question-circle" theme="filled"></a-icon>
            </a-tooltip>
        </span>
        <a-input-number v-model="client._totalGB":min="0" style="width: 70px;"></a-input-number>
        <template v-if="isEdit && clientStats">
            	{{ i18n "usage" }}: 
            <a-tag :color="statsColor">
                [[ sizeFormat(clientStats.up) ]] / 
                [[ sizeFormat(clientStats.down) ]]
                ([[ sizeFormat(clientStats.up + clientStats.down) ]])
            </a-tag>
        </template>
    </a-form-item>
    <a-form-item>
        <span slot="label">
            <span >{{ i18n "pages.inbounds.expireDate" }}</span>
            <a-tooltip>
                <template slot="title">
                    <span>{{ i18n "pages.inbounds.leaveBlankToNeverExpire" }}</span>
                </template>
                <a-icon type="question-circle" theme="filled"></a-icon>
            </a-tooltip>
        </span>
        <a-date-picker :show-time="{ format: 'HH:mm' }" format="YYYY-MM-DD HH:mm"
						:dropdown-class-name="siderDrawer.isDarkTheme ? 'ant-card-dark' : ''"	
                        v-model="client._expiryTime" style="width: 170px;"></a-date-picker>
        <a-tag color="red" v-if="isExpiry">Expired</a-tag>
    </a-form-item>
</a-form>
{{end}}