From b73e4173a3c1e69e02ad6b4e3b43e425e57a5be9 Mon Sep 17 00:00:00 2001 From: MHSanaei Date: Thu, 9 Feb 2023 22:48:06 +0330 Subject: 3x-ui --- web/html/common/head.html | 17 + web/html/common/js.html | 22 ++ web/html/common/prompt_modal.html | 67 ++++ web/html/common/qrcode_modal.html | 120 +++++++ web/html/common/text_modal.html | 58 ++++ web/html/login.html | 123 +++++++ web/html/xui/common_sider.html | 73 ++++ web/html/xui/component/inbound_info.html | 94 ++++++ web/html/xui/component/setting.html | 32 ++ web/html/xui/form/inbound.html | 106 ++++++ web/html/xui/form/protocol/dokodemo.html | 17 + web/html/xui/form/protocol/http.html | 10 + web/html/xui/form/protocol/shadowsocks.html | 19 ++ web/html/xui/form/protocol/socks.html | 24 ++ web/html/xui/form/protocol/trojan.html | 141 ++++++++ web/html/xui/form/protocol/vless.html | 155 +++++++++ web/html/xui/form/protocol/vmess.html | 119 +++++++ web/html/xui/form/sniffing.html | 16 + web/html/xui/form/stream/stream_grpc.html | 7 + web/html/xui/form/stream/stream_http.html | 12 + web/html/xui/form/stream/stream_kcp.html | 38 +++ web/html/xui/form/stream/stream_quic.html | 24 ++ web/html/xui/form/stream/stream_settings.html | 45 +++ web/html/xui/form/stream/stream_tcp.html | 86 +++++ web/html/xui/form/stream/stream_ws.html | 33 ++ web/html/xui/form/tls_settings.html | 60 ++++ web/html/xui/inbound_info_modal.html | 61 ++++ web/html/xui/inbound_modal.html | 178 ++++++++++ web/html/xui/inbounds.html | 457 ++++++++++++++++++++++++++ web/html/xui/inbounds_client_row.html | 22 ++ web/html/xui/index.html | 334 +++++++++++++++++++ web/html/xui/setting.html | 196 +++++++++++ 32 files changed, 2766 insertions(+) create mode 100644 web/html/common/head.html create mode 100644 web/html/common/js.html create mode 100644 web/html/common/prompt_modal.html create mode 100644 web/html/common/qrcode_modal.html create mode 100644 web/html/common/text_modal.html create mode 100644 web/html/login.html create mode 100644 web/html/xui/common_sider.html create mode 100644 web/html/xui/component/inbound_info.html create mode 100644 web/html/xui/component/setting.html create mode 100644 web/html/xui/form/inbound.html create mode 100644 web/html/xui/form/protocol/dokodemo.html create mode 100644 web/html/xui/form/protocol/http.html create mode 100644 web/html/xui/form/protocol/shadowsocks.html create mode 100644 web/html/xui/form/protocol/socks.html create mode 100644 web/html/xui/form/protocol/trojan.html create mode 100644 web/html/xui/form/protocol/vless.html create mode 100644 web/html/xui/form/protocol/vmess.html create mode 100644 web/html/xui/form/sniffing.html create mode 100644 web/html/xui/form/stream/stream_grpc.html create mode 100644 web/html/xui/form/stream/stream_http.html create mode 100644 web/html/xui/form/stream/stream_kcp.html create mode 100644 web/html/xui/form/stream/stream_quic.html create mode 100644 web/html/xui/form/stream/stream_settings.html create mode 100644 web/html/xui/form/stream/stream_tcp.html create mode 100644 web/html/xui/form/stream/stream_ws.html create mode 100644 web/html/xui/form/tls_settings.html create mode 100644 web/html/xui/inbound_info_modal.html create mode 100644 web/html/xui/inbound_modal.html create mode 100644 web/html/xui/inbounds.html create mode 100644 web/html/xui/inbounds_client_row.html create mode 100644 web/html/xui/index.html create mode 100644 web/html/xui/setting.html (limited to 'web/html') diff --git a/web/html/common/head.html b/web/html/common/head.html new file mode 100644 index 00000000..f34ce62f --- /dev/null +++ b/web/html/common/head.html @@ -0,0 +1,17 @@ +{{define "head"}} + + + + + + + + + + {{ i18n .title}} + +{{end}} \ No newline at end of file diff --git a/web/html/common/js.html b/web/html/common/js.html new file mode 100644 index 00000000..d400196b --- /dev/null +++ b/web/html/common/js.html @@ -0,0 +1,22 @@ +{{define "js"}} + + + + + + + + + + + + + + + + + +{{end}} \ No newline at end of file diff --git a/web/html/common/prompt_modal.html b/web/html/common/prompt_modal.html new file mode 100644 index 00000000..91c26615 --- /dev/null +++ b/web/html/common/prompt_modal.html @@ -0,0 +1,67 @@ +{{define "promptModal"}} + + + + + +{{end}} \ No newline at end of file diff --git a/web/html/common/qrcode_modal.html b/web/html/common/qrcode_modal.html new file mode 100644 index 00000000..c80f8a0e --- /dev/null +++ b/web/html/common/qrcode_modal.html @@ -0,0 +1,120 @@ +{{define "qrcodeModal"}} + + click on QR Code to Copy + + + + + + + + +{{end}} \ No newline at end of file diff --git a/web/html/common/text_modal.html b/web/html/common/text_modal.html new file mode 100644 index 00000000..0ae04a88 --- /dev/null +++ b/web/html/common/text_modal.html @@ -0,0 +1,58 @@ +{{define "textModal"}} + + + {{ i18n "download" }} [[ txtModal.fileName ]] + + + + + +{{end}} \ No newline at end of file diff --git a/web/html/login.html b/web/html/login.html new file mode 100644 index 00000000..5138f15e --- /dev/null +++ b/web/html/login.html @@ -0,0 +1,123 @@ + + +{{template "head" .}} + + + + + + + +

{{ i18n "pages.login.title" }}

+
+
+ + + + + + + + + + + + + + + {{ i18n "login" }} + + + + + Language : + + + + + +    + + + + + + + + + + + + +
+
+
+{{template "js" .}} + + + \ No newline at end of file diff --git a/web/html/xui/common_sider.html b/web/html/xui/common_sider.html new file mode 100644 index 00000000..f4499eeb --- /dev/null +++ b/web/html/xui/common_sider.html @@ -0,0 +1,73 @@ +{{define "menuItems"}} + + + {{ i18n "menu.dashboard"}} + + + + {{ i18n "menu.inbounds"}} + + + + {{ i18n "menu.setting"}} + + + + + + + + + + Github + + + + Telegram Group + + + + + {{ i18n "menu.logout"}} + +{{end}} + + +{{define "commonSider"}} + + + {{template "menuItems" .}} + + + +
+ +
+ + {{template "menuItems" .}} + +
+ +{{end}} diff --git a/web/html/xui/component/inbound_info.html b/web/html/xui/component/inbound_info.html new file mode 100644 index 00000000..cbf156d1 --- /dev/null +++ b/web/html/xui/component/inbound_info.html @@ -0,0 +1,94 @@ +{{define "inboundInfoStream"}} +

{{ i18n "transmission" }}: [[ inbound.network ]]

+ + + + + + + + + + + +

+ tls {{ i18n "domainName" }}: [[ inbound.serverName ? inbound.serverName : '' ]] +

+

+ xtls {{ i18n "domainName" }}: [[ inbound.serverName ? inbound.serverName : '' ]] +

+{{end}} + + +{{define "component/inboundInfoComponent"}} +
+

{{ i18n "protocol"}}: [[ dbInbound.protocol ]]

+

{{ i18n "pages.inbounds.address"}}: [[ dbInbound.address ]]

+

{{ i18n "pages.inbounds.port"}}: [[ dbInbound.port ]]

+ + + + + + + + + + + + + + +
+{{end}} + +{{define "component/inboundInfo"}} + +{{end}} \ No newline at end of file diff --git a/web/html/xui/component/setting.html b/web/html/xui/component/setting.html new file mode 100644 index 00000000..9f8e8cbc --- /dev/null +++ b/web/html/xui/component/setting.html @@ -0,0 +1,32 @@ +{{define "component/settingListItem"}} + + + + + + + + + + + + + +{{end}} + +{{define "component/setting"}} + +{{end}} \ No newline at end of file diff --git a/web/html/xui/form/inbound.html b/web/html/xui/form/inbound.html new file mode 100644 index 00000000..1a2e7ca1 --- /dev/null +++ b/web/html/xui/form/inbound.html @@ -0,0 +1,106 @@ +{{define "form/inbound"}} + + + + + + + + + + + [[ p ]] + + + + + {{ i18n "monitor" }} + + + + + + + + + + + + + {{ i18n "pages.inbounds.totalFlow" }}(GB) + + + + + + + + + + {{ i18n "pages.inbounds.expireDate" }} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{{end}} \ No newline at end of file diff --git a/web/html/xui/form/protocol/dokodemo.html b/web/html/xui/form/protocol/dokodemo.html new file mode 100644 index 00000000..a4dde06d --- /dev/null +++ b/web/html/xui/form/protocol/dokodemo.html @@ -0,0 +1,17 @@ +{{define "form/dokodemo"}} + + + + + + + + + + tcp+udp + tcp + udp + + + +{{end}} \ No newline at end of file diff --git a/web/html/xui/form/protocol/http.html b/web/html/xui/form/protocol/http.html new file mode 100644 index 00000000..b4ba59b7 --- /dev/null +++ b/web/html/xui/form/protocol/http.html @@ -0,0 +1,10 @@ +{{define "form/http"}} + + + + + + + + +{{end}} \ No newline at end of file diff --git a/web/html/xui/form/protocol/shadowsocks.html b/web/html/xui/form/protocol/shadowsocks.html new file mode 100644 index 00000000..18bcf727 --- /dev/null +++ b/web/html/xui/form/protocol/shadowsocks.html @@ -0,0 +1,19 @@ +{{define "form/shadowsocks"}} + + + + [[ method ]] + + + + + + + + tcp+udp + tcp + udp + + + +{{end}} \ No newline at end of file diff --git a/web/html/xui/form/protocol/socks.html b/web/html/xui/form/protocol/socks.html new file mode 100644 index 00000000..35c1c0b5 --- /dev/null +++ b/web/html/xui/form/protocol/socks.html @@ -0,0 +1,24 @@ +{{define "form/socks"}} + + + + + + + + + + + + + +{{end}} \ No newline at end of file diff --git a/web/html/xui/form/protocol/trojan.html b/web/html/xui/form/protocol/trojan.html new file mode 100644 index 00000000..69c67052 --- /dev/null +++ b/web/html/xui/form/protocol/trojan.html @@ -0,0 +1,141 @@ +{{define "form/trojan"}} + + + + + + Account is (Expired|Traffic Ended) And Disabled + + + + Email + + + + + + + + + + + + + + + none + [[ key ]] + + + + + {{ i18n "pages.inbounds.totalFlow" }}(GB) + + + + + + + + + + {{ i18n "pages.inbounds.expireDate" }} + + + + + + + + + + + + + + + [[ sizeFormat(getUpStats(trojan.email)) ]] / [[ sizeFormat(getDownStats(trojan.email)) ]] + used : [[ sizeFormat(getUpStats(trojan.email) + getDownStats(trojan.email)) ]] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + fallback[[ index + 1 ]] + + + + + + + + + + + + + + + + + + + +{{end}} \ No newline at end of file diff --git a/web/html/xui/form/protocol/vless.html b/web/html/xui/form/protocol/vless.html new file mode 100644 index 00000000..e858906e --- /dev/null +++ b/web/html/xui/form/protocol/vless.html @@ -0,0 +1,155 @@ +{{define "form/vless"}} + + + + + Account is (Expired|Traffic Ended) And Disabled + + + + + Email + + + + + + + + + + + + + + + none + [[ key ]] + + + + + none + [[ key ]] + + + + + [[ key ]] + + + + + {{ i18n "pages.inbounds.totalFlow" }}(GB) + + + + + + + + + + {{ i18n "pages.inbounds.expireDate" }} + + + + + + + + + + + + + + + [[ sizeFormat(getUpStats(vless.email)) ]] / [[ sizeFormat(getDownStats(vless.email)) ]] + used : [[ sizeFormat(getUpStats(vless.email) + getDownStats(vless.email)) ]] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + fallback[[ index + 1 ]] + + + + + + + + + + + + + + + + + + + +{{end}} \ No newline at end of file diff --git a/web/html/xui/form/protocol/vmess.html b/web/html/xui/form/protocol/vmess.html new file mode 100644 index 00000000..df532767 --- /dev/null +++ b/web/html/xui/form/protocol/vmess.html @@ -0,0 +1,119 @@ +{{define "form/vmess"}} + + + + Account is (Expired|Traffic Ended) And Disabled + + + + + Email + + + + + + + + + + + + + + + + + + {{ i18n "pages.inbounds.totalFlow" }}(GB) + + + + + + + + + + {{ i18n "pages.inbounds.expireDate" }} + + + + + + + + + + + + + + + [[ sizeFormat(getUpStats(vmess.email)) ]] / [[ sizeFormat(getDownStats(vmess.email)) ]] + used : [[ sizeFormat(getUpStats(vmess.email) + getDownStats(vmess.email)) ]] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{{end}} diff --git a/web/html/xui/form/sniffing.html b/web/html/xui/form/sniffing.html new file mode 100644 index 00000000..838c92fc --- /dev/null +++ b/web/html/xui/form/sniffing.html @@ -0,0 +1,16 @@ +{{define "form/sniffing"}} + + + + sniffing + + + + + + + + +{{end}} \ No newline at end of file diff --git a/web/html/xui/form/stream/stream_grpc.html b/web/html/xui/form/stream/stream_grpc.html new file mode 100644 index 00000000..205a4c84 --- /dev/null +++ b/web/html/xui/form/stream/stream_grpc.html @@ -0,0 +1,7 @@ +{{define "form/streamGRPC"}} + + + + + +{{end}} \ No newline at end of file diff --git a/web/html/xui/form/stream/stream_http.html b/web/html/xui/form/stream/stream_http.html new file mode 100644 index 00000000..ad30c45a --- /dev/null +++ b/web/html/xui/form/stream/stream_http.html @@ -0,0 +1,12 @@ +{{define "form/streamHTTP"}} + + + + + + + + + + +{{end}} \ No newline at end of file diff --git a/web/html/xui/form/stream/stream_kcp.html b/web/html/xui/form/stream/stream_kcp.html new file mode 100644 index 00000000..ff14d5b7 --- /dev/null +++ b/web/html/xui/form/stream/stream_kcp.html @@ -0,0 +1,38 @@ +{{define "form/streamKCP"}} + + + + none(not camouflage) + srtp(camouflage video call) + utp(camouflage BT download) + wechat-video(camouflage WeChat video) + dtls(camouflage DTLS 1.2 packages) + wireguard(camouflage wireguard packages) + + + + + + + + + + + + + + + + + + + + + + + + + + + +{{end}} \ No newline at end of file diff --git a/web/html/xui/form/stream/stream_quic.html b/web/html/xui/form/stream/stream_quic.html new file mode 100644 index 00000000..942461ad --- /dev/null +++ b/web/html/xui/form/stream/stream_quic.html @@ -0,0 +1,24 @@ +{{define "form/streamQUIC"}} + + + + none + aes-128-gcm + chacha20-poly1305 + + + + + + + + none(not camouflage) + srtp(camouflage video call) + utp(camouflage BT download) + wechat-video(camouflage WeChat video) + dtls(camouflage DTLS 1.2 packages) + wireguard(camouflage wireguard packages) + + + +{{end}} \ No newline at end of file diff --git a/web/html/xui/form/stream/stream_settings.html b/web/html/xui/form/stream/stream_settings.html new file mode 100644 index 00000000..7fc9ad2c --- /dev/null +++ b/web/html/xui/form/stream/stream_settings.html @@ -0,0 +1,45 @@ +{{define "form/streamSettings"}} + + + + + tcp + kcp + ws + http + quic + grpc + + + + + + + + + + + + + + + + + +