hiddifypanel 10.20.2__py3-none-any.whl → 10.20.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- hiddifypanel/VERSION +1 -1
- hiddifypanel/VERSION.py +1 -1
- hiddifypanel/hutils/proxy/xray.py +27 -29
- hiddifypanel/hutils/proxy/xrayjson.py +72 -35
- hiddifypanel/panel/admin/SettingAdmin.py +1 -1
- hiddifypanel/panel/user/user.py +3 -3
- hiddifypanel/templates/fake.html +0 -298
- hiddifypanel/translations/en/LC_MESSAGES/messages.mo +0 -0
- hiddifypanel/translations/en/LC_MESSAGES/messages.po +3 -3
- hiddifypanel/translations/fa/LC_MESSAGES/messages.mo +0 -0
- hiddifypanel/translations/fa/LC_MESSAGES/messages.po +3 -3
- hiddifypanel/translations/pt/LC_MESSAGES/messages.mo +0 -0
- hiddifypanel/translations/pt/LC_MESSAGES/messages.po +3 -3
- hiddifypanel/translations/ru/LC_MESSAGES/messages.mo +0 -0
- hiddifypanel/translations/ru/LC_MESSAGES/messages.po +3 -3
- hiddifypanel/translations/zh/LC_MESSAGES/messages.mo +0 -0
- hiddifypanel/translations/zh/LC_MESSAGES/messages.po +3 -3
- hiddifypanel/translations.i18n/en.json +2 -2
- hiddifypanel/translations.i18n/fa.json +2 -2
- hiddifypanel/translations.i18n/pt.json +2 -2
- hiddifypanel/translations.i18n/ru.json +2 -2
- hiddifypanel/translations.i18n/zh.json +2 -2
- {hiddifypanel-10.20.2.dist-info → hiddifypanel-10.20.3.dist-info}/METADATA +1 -1
- {hiddifypanel-10.20.2.dist-info → hiddifypanel-10.20.3.dist-info}/RECORD +28 -28
- {hiddifypanel-10.20.2.dist-info → hiddifypanel-10.20.3.dist-info}/LICENSE.md +0 -0
- {hiddifypanel-10.20.2.dist-info → hiddifypanel-10.20.3.dist-info}/WHEEL +0 -0
- {hiddifypanel-10.20.2.dist-info → hiddifypanel-10.20.3.dist-info}/entry_points.txt +0 -0
- {hiddifypanel-10.20.2.dist-info → hiddifypanel-10.20.3.dist-info}/top_level.txt +0 -0
hiddifypanel/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
10.20.
|
1
|
+
10.20.3
|
hiddifypanel/VERSION.py
CHANGED
@@ -3,7 +3,7 @@ import json
|
|
3
3
|
import copy
|
4
4
|
from flask import render_template, request, g
|
5
5
|
from hiddifypanel import hutils
|
6
|
-
from hiddifypanel.models import
|
6
|
+
from hiddifypanel.models import ProxyTransport, ProxyL3, ProxyProto, Domain, User, ConfigEnum, hconfig
|
7
7
|
from flask_babel import gettext as _
|
8
8
|
|
9
9
|
OUTBOUND_LEVEL = 8
|
@@ -145,46 +145,44 @@ def to_link(proxy: dict) -> str | dict:
|
|
145
145
|
return proxy
|
146
146
|
|
147
147
|
|
148
|
-
def make_v2ray_configs(
|
148
|
+
def make_v2ray_configs(domains: list[Domain], user: User, expire_days: int, ip_debug=None) -> str:
|
149
149
|
res = []
|
150
150
|
|
151
|
-
|
152
|
-
if hconfig(ConfigEnum.show_usage_in_sublink):
|
151
|
+
if hconfig(ConfigEnum.show_usage_in_sublink) and not g.user_agent.get('is_hiddify'):
|
153
152
|
|
154
|
-
|
153
|
+
fake_ip_for_sub_link = datetime.datetime.now().strftime(f"%H.%M--%Y.%m.%d.time:%H%M")
|
154
|
+
# if ua['app'] == "Fair1":
|
155
|
+
# res.append(f'trojan://1@{fake_ip_for_sub_link}?sni=fake_ip_for_sub_link&security=tls#{round(user.current_usage_GB,3)}/{user.usage_limit_GB}GB_Remain:{expire_days}days')
|
156
|
+
# else:
|
155
157
|
|
156
|
-
|
157
|
-
# if ua['app'] == "Fair1":
|
158
|
-
# res.append(f'trojan://1@{fake_ip_for_sub_link}?sni=fake_ip_for_sub_link&security=tls#{round(user.current_usage_GB,3)}/{user.usage_limit_GB}GB_Remain:{expire_days}days')
|
159
|
-
# else:
|
158
|
+
# res.append(f'trojan://1@{fake_ip_for_sub_link}?sni=fake_ip_for_sub_link&security=tls#{hutils.encode.url_encode(profile_title)}')
|
160
159
|
|
161
|
-
|
162
|
-
|
163
|
-
name
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
res.append("#No Time Limit")
|
160
|
+
name = '⏳ ' if user.is_active else '✖ '
|
161
|
+
if user.usage_limit_GB < 1000:
|
162
|
+
name += f'{round(user.current_usage_GB,3)}/{str(user.usage_limit_GB).replace(".0","")}GB'
|
163
|
+
elif user.usage_limit_GB < 100000:
|
164
|
+
name += f'{round(user.current_usage_GB/1000,3)}/{str(round(user.usage_limit_GB/1000,1)).replace(".0","")}TB'
|
165
|
+
else:
|
166
|
+
res.append("#No Usage Limit")
|
167
|
+
name += " 📅 "
|
168
|
+
if expire_days < 1000:
|
169
|
+
name += _(f'%(expire_days)s days', expire_days=expire_days)
|
170
|
+
else:
|
171
|
+
res.append("#No Time Limit")
|
174
172
|
|
175
|
-
|
176
|
-
|
177
|
-
|
173
|
+
name = name.strip()
|
174
|
+
if len(name) > 3:
|
175
|
+
res.append(f'trojan://1@{fake_ip_for_sub_link}?sni=fake_ip_for_sub_link&security=tls#{hutils.encode.url_encode(name)}')
|
178
176
|
|
179
|
-
if
|
177
|
+
if g.user_agent.get('is_browser') and ip_debug:
|
180
178
|
res.append(f'#Hiddify auto ip: {ip_debug}')
|
181
179
|
|
182
|
-
if not
|
180
|
+
if not user.is_active:
|
183
181
|
|
184
182
|
if hconfig(ConfigEnum.lang) == 'fa':
|
185
|
-
res.append('trojan://1@1.1.1.1#' + hutils.encode.url_encode('
|
183
|
+
res.append('trojan://1@1.1.1.1#' + hutils.encode.url_encode('✖ بسته شما به پایان رسید'))
|
186
184
|
else:
|
187
|
-
res.append('trojan://1@1.1.1.1#' + hutils.encode.url_encode('✖
|
185
|
+
res.append('trojan://1@1.1.1.1#' + hutils.encode.url_encode('✖ Package Ended'))
|
188
186
|
return "\n".join(res)
|
189
187
|
|
190
188
|
for pinfo in hutils.proxy.get_valid_proxies(domains):
|
@@ -2,55 +2,87 @@ import json
|
|
2
2
|
import copy
|
3
3
|
from flask import render_template, g
|
4
4
|
from hiddifypanel import hutils
|
5
|
-
from hiddifypanel.models import ProxyTransport, ProxyL3, ProxyProto, Domain
|
5
|
+
from hiddifypanel.models import ProxyTransport, ProxyL3, ProxyProto, Domain, User
|
6
6
|
from flask_babel import gettext as _
|
7
|
+
from hiddifypanel.models import hconfig, ConfigEnum
|
7
8
|
from .xray import is_muxable_agent
|
8
9
|
OUTBOUND_LEVEL = 8
|
9
10
|
|
10
11
|
|
11
|
-
def configs_as_json(domains: list[Domain], remarks: str) -> str:
|
12
|
+
def configs_as_json(domains: list[Domain], user: User, expire_days: int, remarks: str) -> str:
|
12
13
|
'''Returns xray configs as json'''
|
13
|
-
outbounds = []
|
14
|
-
|
15
|
-
# TODO: check what are unsupported protocols in other apps
|
16
|
-
unsupported_protos = {}
|
17
|
-
if g.user_agent.get('is_v2rayng'):
|
18
|
-
# TODO: ensure which protocols are not supported in v2rayng
|
19
|
-
unsupported_protos = {ProxyProto.wireguard, ProxyProto.hysteria, ProxyProto.hysteria2, ProxyProto.tuic, ProxyProto.ss, ProxyProto.ssr, ProxyProto.ssh}
|
20
|
-
|
21
|
-
for proxy in hutils.proxy.get_valid_proxies(domains):
|
22
|
-
if unsupported_protos and proxy['proto'] in unsupported_protos:
|
23
|
-
continue
|
24
|
-
outbound = to_xray(proxy)
|
25
|
-
if 'msg' not in outbound:
|
26
|
-
outbounds.append(outbound)
|
27
|
-
|
28
|
-
outbounds_len = len(outbounds)
|
29
|
-
# reutrn no outbound
|
30
|
-
if outbounds_len < 1:
|
31
|
-
return ''
|
32
14
|
|
33
15
|
all_configs = []
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
16
|
+
if hconfig(ConfigEnum.show_usage_in_sublink) and not g.user_agent.get('is_hiddify'):
|
17
|
+
# determine usages
|
18
|
+
tag = '⏳ ' if user.is_active else '✖ '
|
19
|
+
if user.usage_limit_GB < 1000:
|
20
|
+
tag += f'{round(user.current_usage_GB,3)}/{str(user.usage_limit_GB).replace(".0","")}GB'
|
21
|
+
elif user.usage_limit_GB < 100000:
|
22
|
+
tag += f'{round(user.current_usage_GB/1000,3)}/{str(round(user.usage_limit_GB/1000,1)).replace(".0","")}TB'
|
23
|
+
else:
|
24
|
+
tag += '#No Usage Limit'
|
25
|
+
tag += ' 📅 '
|
26
|
+
if expire_days < 1000:
|
27
|
+
tag += _(f'%(expire_days)s days', expire_days=expire_days)
|
28
|
+
else:
|
29
|
+
tag += '#No Time Limit'
|
30
|
+
tag = tag.strip()
|
31
|
+
|
32
|
+
# add usage as a config
|
33
|
+
all_configs.append(
|
34
|
+
null_config(tag)
|
35
|
+
)
|
36
|
+
|
37
|
+
active = True
|
38
|
+
if not user.is_active:
|
39
|
+
tag = '✖ ' + (hutils.encode.url_encode('بسته شما به پایان رسید') if hconfig(ConfigEnum.lang) == 'fa' else 'Package Ended')
|
40
|
+
# add user status
|
41
|
+
all_configs.append(
|
42
|
+
null_config(tag)
|
43
|
+
)
|
44
|
+
active = False
|
45
|
+
|
46
|
+
if active:
|
47
|
+
# TODO: check what are unsupported protocols in other apps
|
48
|
+
unsupported_protos = {}
|
49
|
+
if g.user_agent.get('is_v2rayng'):
|
50
|
+
# TODO: ensure which protocols are not supported in v2rayng
|
51
|
+
unsupported_protos = {ProxyProto.wireguard, ProxyProto.hysteria, ProxyProto.hysteria2, ProxyProto.tuic, ProxyProto.ss, ProxyProto.ssr, ProxyProto.ssh}
|
52
|
+
|
53
|
+
# multiple outbounds needs multiple whole base config not just one with multiple outbounds (at least for v2rayng)
|
54
|
+
# https://github.com/2dust/v2rayNG/pull/2827#issue-2127534078
|
55
|
+
outbounds = []
|
56
|
+
for proxy in hutils.proxy.get_valid_proxies(domains):
|
57
|
+
if unsupported_protos and proxy['proto'] in unsupported_protos:
|
58
|
+
continue
|
59
|
+
outbound = to_xray(proxy)
|
60
|
+
if 'msg' not in outbound:
|
61
|
+
outbounds.append(outbound)
|
62
|
+
|
63
|
+
base_config = json.loads(render_template('base_xray_config.json.j2', remarks=remarks))
|
64
|
+
if len(outbounds) > 1:
|
65
|
+
for out in outbounds:
|
66
|
+
base_config['remarks'] = out['tag']
|
67
|
+
base_config['outbounds'].insert(0, out)
|
68
|
+
if all_configs:
|
69
|
+
all_configs.insert(0, copy.deepcopy(base_config))
|
70
|
+
else:
|
71
|
+
all_configs.append(copy.deepcopy(base_config))
|
72
|
+
del base_config['outbounds'][0]
|
73
|
+
else: # single outbound
|
74
|
+
base_config['outbounds'].insert(0, outbounds[0])
|
75
|
+
all_configs = base_config
|
76
|
+
|
77
|
+
if not all_configs:
|
78
|
+
return ''
|
47
79
|
json_configs = json.dumps(all_configs, indent=2, cls=hutils.proxy.ProxyJsonEncoder)
|
48
80
|
return json_configs
|
49
81
|
|
50
82
|
|
51
83
|
def to_xray(proxy: dict) -> dict:
|
52
84
|
outbound = {
|
53
|
-
'tag': f'{proxy["extra_info"]} {proxy["name"]}
|
85
|
+
'tag': f'{proxy["extra_info"]} {proxy["name"]}',
|
54
86
|
'protocol': str(proxy['proto']),
|
55
87
|
'settings': {},
|
56
88
|
'streamSettings': {},
|
@@ -397,3 +429,8 @@ def add_mux_to_link(proxy: dict) -> str:
|
|
397
429
|
out = {}
|
398
430
|
add_mux_to_dict(out, proxy)
|
399
431
|
return hutils.encode.convert_dict_to_url(out)
|
432
|
+
|
433
|
+
|
434
|
+
def null_config(tag: str) -> dict:
|
435
|
+
base_config = json.loads(render_template('base_xray_config.json.j2', remarks=tag))
|
436
|
+
return base_config
|
@@ -251,7 +251,7 @@ def get_config_form():
|
|
251
251
|
|
252
252
|
elif c.key == ConfigEnum.warp_sites:
|
253
253
|
validators = [wtf.validators.Length(max=2048),
|
254
|
-
wtf.validators.Regexp(r'^[\w.-]+\.\w+(?:\.\w+)?(?:\r?\n|$)',
|
254
|
+
wtf.validators.Regexp(r'^(?:[\w.-]+\.\w+(?:\.\w+)?(?:\r?\n|$)|^$)', 0, _("config.invalid-pattern-for-warp-sites") + f' {c.key}')
|
255
255
|
]
|
256
256
|
render_kw = {'class': "ltr", 'maxlength': 2048}
|
257
257
|
field = wtf.TextAreaField(_(f'config.{c.key}.label'), validators, default=c.value,
|
hiddifypanel/panel/user/user.py
CHANGED
@@ -57,8 +57,8 @@ class UserView(FlaskView):
|
|
57
57
|
@route("/xray")
|
58
58
|
@login_required(roles={Role.user})
|
59
59
|
def xray(self):
|
60
|
-
c =
|
61
|
-
configs = hutils.proxy.xrayjson.configs_as_json(c['domains'], c['profile_title'])
|
60
|
+
c = get_common_data(g.account.uuid, mode="new")
|
61
|
+
configs = hutils.proxy.xrayjson.configs_as_json(c['domains'], c['user'], c['expire_days'], c['profile_title'])
|
62
62
|
return add_headers(configs, c, 'application/json')
|
63
63
|
|
64
64
|
@route("/singbox/")
|
@@ -230,7 +230,7 @@ class UserView(FlaskView):
|
|
230
230
|
resp = ""
|
231
231
|
else:
|
232
232
|
# render_template('all_configs.txt', **c, base64=hutils.encode.do_base_64)
|
233
|
-
resp = hutils.proxy.xray.make_v2ray_configs(
|
233
|
+
resp = hutils.proxy.xray.make_v2ray_configs(c['domains'], c['user'], c['expire_days'], c['ip_debug'])
|
234
234
|
|
235
235
|
if base64:
|
236
236
|
resp = hutils.encode.do_base_64(resp)
|
hiddifypanel/templates/fake.html
CHANGED
@@ -1,298 +0,0 @@
|
|
1
|
-
{{_("config.dbvalues.label")}}
|
2
|
-
{{_("config.dbvalues.description")}}
|
3
|
-
{{_("config.create_easysetup_link.label")}}
|
4
|
-
{{_("config.create_easysetup_link.description")}}
|
5
|
-
{{_("config.wireguard_enable.label")}}
|
6
|
-
{{_("config.wireguard_enable.description")}}
|
7
|
-
{{_("config.wireguard_port.label")}}
|
8
|
-
{{_("config.wireguard_port.description")}}
|
9
|
-
{{_("config.wireguard_ipv6.label")}}
|
10
|
-
{{_("config.wireguard_ipv6.description")}}
|
11
|
-
{{_("config.wireguard_ipv4.label")}}
|
12
|
-
{{_("config.wireguard_ipv4.description")}}
|
13
|
-
{{_("config.wireguard_private_key.label")}}
|
14
|
-
{{_("config.wireguard_private_key.description")}}
|
15
|
-
{{_("config.wireguard_public_key.label")}}
|
16
|
-
{{_("config.wireguard_public_key.description")}}
|
17
|
-
{{_("config.wireguard_noise_trick.label")}}
|
18
|
-
{{_("config.wireguard_noise_trick.description")}}
|
19
|
-
{{_("config.ssh_server_redis_url.label")}}
|
20
|
-
{{_("config.ssh_server_redis_url.description")}}
|
21
|
-
{{_("config.ssh_server_port.label")}}
|
22
|
-
{{_("config.ssh_server_port.description")}}
|
23
|
-
{{_("config.ssh_server_enable.label")}}
|
24
|
-
{{_("config.ssh_server_enable.description")}}
|
25
|
-
{{_("config.first_setup.label")}}
|
26
|
-
{{_("config.first_setup.description")}}
|
27
|
-
{{_("config.core_type.label")}}
|
28
|
-
{{_("config.core_type.description")}}
|
29
|
-
{{_("config.warp_enable.label")}}
|
30
|
-
{{_("config.warp_enable.description")}}
|
31
|
-
{{_("config.warp_mode.label")}}
|
32
|
-
{{_("config.warp_mode.description")}}
|
33
|
-
{{_("config.warp_plus_code.label")}}
|
34
|
-
{{_("config.warp_plus_code.description")}}
|
35
|
-
{{_("config.warp_sites.label")}}
|
36
|
-
{{_("config.warp_sites.description")}}
|
37
|
-
{{_("config.dns_server.label")}}
|
38
|
-
{{_("config.dns_server.description")}}
|
39
|
-
{{_("config.reality_fallback_domain.label")}}
|
40
|
-
{{_("config.reality_fallback_domain.description")}}
|
41
|
-
{{_("config.reality_server_names.label")}}
|
42
|
-
{{_("config.reality_server_names.description")}}
|
43
|
-
{{_("config.reality_short_ids.label")}}
|
44
|
-
{{_("config.reality_short_ids.description")}}
|
45
|
-
{{_("config.reality_private_key.label")}}
|
46
|
-
{{_("config.reality_private_key.description")}}
|
47
|
-
{{_("config.reality_public_key.label")}}
|
48
|
-
{{_("config.reality_public_key.description")}}
|
49
|
-
{{_("config.reality_port.label")}}
|
50
|
-
{{_("config.reality_port.description")}}
|
51
|
-
{{_("config.restls1_2_domain.label")}}
|
52
|
-
{{_("config.restls1_2_domain.description")}}
|
53
|
-
{{_("config.restls1_3_domain.label")}}
|
54
|
-
{{_("config.restls1_3_domain.description")}}
|
55
|
-
{{_("config.show_usage_in_sublink.label")}}
|
56
|
-
{{_("config.show_usage_in_sublink.description")}}
|
57
|
-
{{_("config.cloudflare.label")}}
|
58
|
-
{{_("config.cloudflare.description")}}
|
59
|
-
{{_("config.license.label")}}
|
60
|
-
{{_("config.license.description")}}
|
61
|
-
{{_("config.country.label")}}
|
62
|
-
{{_("config.country.description")}}
|
63
|
-
{{_("config.package_mode.label")}}
|
64
|
-
{{_("config.package_mode.description")}}
|
65
|
-
{{_("config.utls.label")}}
|
66
|
-
{{_("config.utls.description")}}
|
67
|
-
{{_("config.telegram_bot_token.label")}}
|
68
|
-
{{_("config.telegram_bot_token.description")}}
|
69
|
-
{{_("config.is_parent.label")}}
|
70
|
-
{{_("config.is_parent.description")}}
|
71
|
-
{{_("config.parent_panel.label")}}
|
72
|
-
{{_("config.parent_panel.description")}}
|
73
|
-
{{_("config.parent_domain.label")}}
|
74
|
-
{{_("config.parent_domain.description")}}
|
75
|
-
{{_("config.parent_admin_proxy_path.label")}}
|
76
|
-
{{_("config.parent_admin_proxy_path.description")}}
|
77
|
-
{{_("config.panel_mode.label")}}
|
78
|
-
{{_("config.panel_mode.description")}}
|
79
|
-
{{_("config.log_level.label")}}
|
80
|
-
{{_("config.log_level.description")}}
|
81
|
-
{{_("config.unique_id.label")}}
|
82
|
-
{{_("config.unique_id.description")}}
|
83
|
-
{{_("config.last_hash.label")}}
|
84
|
-
{{_("config.last_hash.description")}}
|
85
|
-
{{_("config.cdn_forced_host.label")}}
|
86
|
-
{{_("config.cdn_forced_host.description")}}
|
87
|
-
{{_("config.lang.label")}}
|
88
|
-
{{_("config.lang.description")}}
|
89
|
-
{{_("config.admin_lang.label")}}
|
90
|
-
{{_("config.admin_lang.description")}}
|
91
|
-
{{_("config.admin_secret.label")}}
|
92
|
-
{{_("config.admin_secret.description")}}
|
93
|
-
{{_("config.tls_ports.label")}}
|
94
|
-
{{_("config.tls_ports.description")}}
|
95
|
-
{{_("config.tls_fragment_enable.label")}}
|
96
|
-
{{_("config.tls_fragment_enable.description")}}
|
97
|
-
{{_("config.tls_fragment_size.label")}}
|
98
|
-
{{_("config.tls_fragment_size.description")}}
|
99
|
-
{{_("config.tls_fragment_sleep.label")}}
|
100
|
-
{{_("config.tls_fragment_sleep.description")}}
|
101
|
-
{{_("config.tls_mixed_case.label")}}
|
102
|
-
{{_("config.tls_mixed_case.description")}}
|
103
|
-
{{_("config.tls_padding_enable.label")}}
|
104
|
-
{{_("config.tls_padding_enable.description")}}
|
105
|
-
{{_("config.tls_padding_length.label")}}
|
106
|
-
{{_("config.tls_padding_length.description")}}
|
107
|
-
{{_("config.mux_enable.label")}}
|
108
|
-
{{_("config.mux_enable.description")}}
|
109
|
-
{{_("config.mux_protocol.label")}}
|
110
|
-
{{_("config.mux_protocol.description")}}
|
111
|
-
{{_("config.mux_max_connections.label")}}
|
112
|
-
{{_("config.mux_max_connections.description")}}
|
113
|
-
{{_("config.mux_min_streams.label")}}
|
114
|
-
{{_("config.mux_min_streams.description")}}
|
115
|
-
{{_("config.mux_max_streams.label")}}
|
116
|
-
{{_("config.mux_max_streams.description")}}
|
117
|
-
{{_("config.mux_padding_enable.label")}}
|
118
|
-
{{_("config.mux_padding_enable.description")}}
|
119
|
-
{{_("config.mux_brutal_enable.label")}}
|
120
|
-
{{_("config.mux_brutal_enable.description")}}
|
121
|
-
{{_("config.mux_brutal_up_mbps.label")}}
|
122
|
-
{{_("config.mux_brutal_up_mbps.description")}}
|
123
|
-
{{_("config.mux_brutal_down_mbps.label")}}
|
124
|
-
{{_("config.mux_brutal_down_mbps.description")}}
|
125
|
-
{{_("config.http_ports.label")}}
|
126
|
-
{{_("config.http_ports.description")}}
|
127
|
-
{{_("config.kcp_ports.label")}}
|
128
|
-
{{_("config.kcp_ports.description")}}
|
129
|
-
{{_("config.kcp_enable.label")}}
|
130
|
-
{{_("config.kcp_enable.description")}}
|
131
|
-
{{_("config.decoy_domain.label")}}
|
132
|
-
{{_("config.decoy_domain.description")}}
|
133
|
-
{{_("config.proxy_path.label")}}
|
134
|
-
{{_("config.proxy_path.description")}}
|
135
|
-
{{_("config.proxy_path_admin.label")}}
|
136
|
-
{{_("config.proxy_path_admin.description")}}
|
137
|
-
{{_("config.proxy_path_client.label")}}
|
138
|
-
{{_("config.proxy_path_client.description")}}
|
139
|
-
{{_("config.firewall.label")}}
|
140
|
-
{{_("config.firewall.description")}}
|
141
|
-
{{_("config.netdata.label")}}
|
142
|
-
{{_("config.netdata.description")}}
|
143
|
-
{{_("config.http_proxy_enable.label")}}
|
144
|
-
{{_("config.http_proxy_enable.description")}}
|
145
|
-
{{_("config.block_iran_sites.label")}}
|
146
|
-
{{_("config.block_iran_sites.description")}}
|
147
|
-
{{_("config.allow_invalid_sni.label")}}
|
148
|
-
{{_("config.allow_invalid_sni.description")}}
|
149
|
-
{{_("config.auto_update.label")}}
|
150
|
-
{{_("config.auto_update.description")}}
|
151
|
-
{{_("config.speed_test.label")}}
|
152
|
-
{{_("config.speed_test.description")}}
|
153
|
-
{{_("config.only_ipv4.label")}}
|
154
|
-
{{_("config.only_ipv4.description")}}
|
155
|
-
{{_("config.shared_secret.label")}}
|
156
|
-
{{_("config.shared_secret.description")}}
|
157
|
-
{{_("config.telegram_enable.label")}}
|
158
|
-
{{_("config.telegram_enable.description")}}
|
159
|
-
{{_("config.telegram_adtag.label")}}
|
160
|
-
{{_("config.telegram_adtag.description")}}
|
161
|
-
{{_("config.telegram_lib.label")}}
|
162
|
-
{{_("config.telegram_lib.description")}}
|
163
|
-
{{_("config.telegram_fakedomain.label")}}
|
164
|
-
{{_("config.telegram_fakedomain.description")}}
|
165
|
-
{{_("config.v2ray_enable.label")}}
|
166
|
-
{{_("config.v2ray_enable.description")}}
|
167
|
-
{{_("config.torrent_block.label")}}
|
168
|
-
{{_("config.torrent_block.description")}}
|
169
|
-
{{_("config.tuic_enable.label")}}
|
170
|
-
{{_("config.tuic_enable.description")}}
|
171
|
-
{{_("config.tuic_port.label")}}
|
172
|
-
{{_("config.tuic_port.description")}}
|
173
|
-
{{_("config.hysteria_enable.label")}}
|
174
|
-
{{_("config.hysteria_enable.description")}}
|
175
|
-
{{_("config.hysteria_port.label")}}
|
176
|
-
{{_("config.hysteria_port.description")}}
|
177
|
-
{{_("config.hysteria_obfs_enable.label")}}
|
178
|
-
{{_("config.hysteria_obfs_enable.description")}}
|
179
|
-
{{_("config.hysteria_up_mbps.label")}}
|
180
|
-
{{_("config.hysteria_up_mbps.description")}}
|
181
|
-
{{_("config.hysteria_down_mbps.label")}}
|
182
|
-
{{_("config.hysteria_down_mbps.description")}}
|
183
|
-
{{_("config.shadowsocks2022_enable.label")}}
|
184
|
-
{{_("config.shadowsocks2022_enable.description")}}
|
185
|
-
{{_("config.shadowsocks2022_method.label")}}
|
186
|
-
{{_("config.shadowsocks2022_method.description")}}
|
187
|
-
{{_("config.shadowsocks2022_port.label")}}
|
188
|
-
{{_("config.shadowsocks2022_port.description")}}
|
189
|
-
{{_("config.ssfaketls_enable.label")}}
|
190
|
-
{{_("config.ssfaketls_enable.description")}}
|
191
|
-
{{_("config.ssfaketls_fakedomain.label")}}
|
192
|
-
{{_("config.ssfaketls_fakedomain.description")}}
|
193
|
-
{{_("config.shadowtls_enable.label")}}
|
194
|
-
{{_("config.shadowtls_enable.description")}}
|
195
|
-
{{_("config.shadowtls_fakedomain.label")}}
|
196
|
-
{{_("config.shadowtls_fakedomain.description")}}
|
197
|
-
{{_("config.ssr_enable.label")}}
|
198
|
-
{{_("config.ssr_enable.description")}}
|
199
|
-
{{_("config.ssr_fakedomain.label")}}
|
200
|
-
{{_("config.ssr_fakedomain.description")}}
|
201
|
-
{{_("config.vmess_enable.label")}}
|
202
|
-
{{_("config.vmess_enable.description")}}
|
203
|
-
{{_("config.domain_fronting_domain.label")}}
|
204
|
-
{{_("config.domain_fronting_domain.description")}}
|
205
|
-
{{_("config.domain_fronting_http_enable.label")}}
|
206
|
-
{{_("config.domain_fronting_http_enable.description")}}
|
207
|
-
{{_("config.domain_fronting_tls_enable.label")}}
|
208
|
-
{{_("config.domain_fronting_tls_enable.description")}}
|
209
|
-
{{_("config.ws_enable.label")}}
|
210
|
-
{{_("config.ws_enable.description")}}
|
211
|
-
{{_("config.grpc_enable.label")}}
|
212
|
-
{{_("config.grpc_enable.description")}}
|
213
|
-
{{_("config.httpupgrade_enable.label")}}
|
214
|
-
{{_("config.httpupgrade_enable.description")}}
|
215
|
-
{{_("config.vless_enable.label")}}
|
216
|
-
{{_("config.vless_enable.description")}}
|
217
|
-
{{_("config.trojan_enable.label")}}
|
218
|
-
{{_("config.trojan_enable.description")}}
|
219
|
-
{{_("config.reality_enable.label")}}
|
220
|
-
{{_("config.reality_enable.description")}}
|
221
|
-
{{_("config.tcp_enable.label")}}
|
222
|
-
{{_("config.tcp_enable.description")}}
|
223
|
-
{{_("config.quic_enable.label")}}
|
224
|
-
{{_("config.quic_enable.description")}}
|
225
|
-
{{_("config.xtls_enable.label")}}
|
226
|
-
{{_("config.xtls_enable.description")}}
|
227
|
-
{{_("config.h2_enable.label")}}
|
228
|
-
{{_("config.h2_enable.description")}}
|
229
|
-
{{_("config.db_version.label")}}
|
230
|
-
{{_("config.db_version.description")}}
|
231
|
-
{{_("config.branding_title.label")}}
|
232
|
-
{{_("config.branding_title.description")}}
|
233
|
-
{{_("config.branding_site.label")}}
|
234
|
-
{{_("config.branding_site.description")}}
|
235
|
-
{{_("config.branding_freetext.label")}}
|
236
|
-
{{_("config.branding_freetext.description")}}
|
237
|
-
{{_("config.not_found.label")}}
|
238
|
-
{{_("config.not_found.description")}}
|
239
|
-
{{_("config.path_vmess.label")}}
|
240
|
-
{{_("config.path_vmess.description")}}
|
241
|
-
{{_("config.path_vless.label")}}
|
242
|
-
{{_("config.path_vless.description")}}
|
243
|
-
{{_("config.path_trojan.label")}}
|
244
|
-
{{_("config.path_trojan.description")}}
|
245
|
-
{{_("config.path_v2ray.label")}}
|
246
|
-
{{_("config.path_v2ray.description")}}
|
247
|
-
{{_("config.path_ss.label")}}
|
248
|
-
{{_("config.path_ss.description")}}
|
249
|
-
{{_("config.path_httpupgrade.label")}}
|
250
|
-
{{_("config.path_httpupgrade.description")}}
|
251
|
-
{{_("config.path_ws.label")}}
|
252
|
-
{{_("config.path_ws.description")}}
|
253
|
-
{{_("config.path_tcp.label")}}
|
254
|
-
{{_("config.path_tcp.description")}}
|
255
|
-
{{_("config.path_grpc.label")}}
|
256
|
-
{{_("config.path_grpc.description")}}
|
257
|
-
|
258
|
-
{{_("config.admin.label")}}{{_("config.admin.description")}}
|
259
|
-
{{_("config.branding.label")}}{{_("config.branding.description")}}
|
260
|
-
{{_("config.general.label")}}{{_("config.general.description")}}
|
261
|
-
{{_("config.proxies.label")}}{{_("config.proxies.description")}}
|
262
|
-
{{_("config.domain_fronting.label")}}{{_("config.domain_fronting.description")}}
|
263
|
-
{{_("config.telegram.label")}}{{_("config.telegram.description")}}
|
264
|
-
{{_("config.http.label")}}{{_("config.http.description")}}
|
265
|
-
{{_("config.tls.label")}}{{_("config.tls.description")}}
|
266
|
-
{{_("config.mux.label")}}{{_("config.mux.description")}}
|
267
|
-
{{_("config.tls_trick.label")}}{{_("config.tls_trick.description")}}
|
268
|
-
{{_("config.ssh.label")}}{{_("config.ssh.description")}}
|
269
|
-
{{_("config.ssfaketls.label")}}{{_("config.ssfaketls.description")}}
|
270
|
-
{{_("config.shadowtls.label")}}{{_("config.shadowtls.description")}}
|
271
|
-
{{_("config.restls.label")}}{{_("config.restls.description")}}
|
272
|
-
{{_("config.tuic.label")}}{{_("config.tuic.description")}}
|
273
|
-
{{_("config.hysteria.label")}}{{_("config.hysteria.description")}}
|
274
|
-
{{_("config.ssr.label")}}{{_("config.ssr.description")}}
|
275
|
-
{{_("config.kcp.label")}}{{_("config.kcp.description")}}
|
276
|
-
{{_("config.hidden.label")}}{{_("config.hidden.description")}}
|
277
|
-
{{_("config.advanced.label")}}{{_("config.advanced.description")}}
|
278
|
-
{{_("config.too_advanced.label")}}{{_("config.too_advanced.description")}}
|
279
|
-
{{_("config.warp.label")}}{{_("config.warp.description")}}
|
280
|
-
{{_("config.reality.label")}}{{_("config.reality.description")}}
|
281
|
-
{{_("config.wireguard.label")}}{{_("config.wireguard.description")}}
|
282
|
-
{{_("config.shadowsocks.label")}}{{_("config.shadowsocks.description")}}
|
283
|
-
|
284
|
-
{{_("direct")}}
|
285
|
-
{{_("sub_link_only")}}
|
286
|
-
{{_("cdn")}}
|
287
|
-
{{_("auto_cdn_ip")}}
|
288
|
-
{{_("relay")}}
|
289
|
-
{{_("reality")}}
|
290
|
-
{{_("old_xtls_direct")}}
|
291
|
-
{{_("worker")}}
|
292
|
-
{{_("fake")}}
|
293
|
-
|
294
|
-
{{_("no_reset")}}
|
295
|
-
{{_("monthly")}}
|
296
|
-
{{_("weekly")}}
|
297
|
-
{{_("daily")}}
|
298
|
-
|
Binary file
|
@@ -11,6 +11,9 @@ msgstr "%(count)s records were successfully disabled."
|
|
11
11
|
msgid "%(count)s records were successfully enabled."
|
12
12
|
msgstr "%(count)s records were successfully enabled."
|
13
13
|
|
14
|
+
msgid "%(expire_days)s days"
|
15
|
+
msgstr "%(expire_days)s days"
|
16
|
+
|
14
17
|
msgid "%(placeholder)s"
|
15
18
|
msgstr "%(placeholder)s"
|
16
19
|
|
@@ -2815,6 +2818,3 @@ msgstr "📅 Weekly"
|
|
2815
2818
|
|
2816
2819
|
msgid "worker"
|
2817
2820
|
msgstr "✴️ Cloudflare Worker"
|
2818
|
-
|
2819
|
-
msgid "📅%(expire_days)s days"
|
2820
|
-
msgstr "📅%(expire_days)s Days Remain"
|
Binary file
|
@@ -11,6 +11,9 @@ msgstr "%(count)s رکورد با موفقیت غیرفعال شد."
|
|
11
11
|
msgid "%(count)s records were successfully enabled."
|
12
12
|
msgstr "%(count)s رکوردها با موفقیت فعال شد."
|
13
13
|
|
14
|
+
msgid "%(expire_days)s days"
|
15
|
+
msgstr ""
|
16
|
+
|
14
17
|
msgid "%(placeholder)s"
|
15
18
|
msgstr "%(placeholder)s"
|
16
19
|
|
@@ -2815,6 +2818,3 @@ msgstr "📅 هفتگی"
|
|
2815
2818
|
|
2816
2819
|
msgid "worker"
|
2817
2820
|
msgstr "✴️ ورکر کلودفلر"
|
2818
|
-
|
2819
|
-
msgid "📅%(expire_days)s days"
|
2820
|
-
msgstr "📅%(expire_days)s روز اعتبار"
|
Binary file
|
@@ -11,6 +11,9 @@ msgstr "%(count)s registros foram desativados com sucesso."
|
|
11
11
|
msgid "%(count)s records were successfully enabled."
|
12
12
|
msgstr "%(count)s registros foram ativados com sucesso."
|
13
13
|
|
14
|
+
msgid "%(expire_days)s days"
|
15
|
+
msgstr ""
|
16
|
+
|
14
17
|
msgid "%(placeholder)s"
|
15
18
|
msgstr "%(placeholder)s"
|
16
19
|
|
@@ -2708,6 +2711,3 @@ msgstr "📅 Semanal"
|
|
2708
2711
|
|
2709
2712
|
msgid "worker"
|
2710
2713
|
msgstr "✴️ Cloudflare Worker"
|
2711
|
-
|
2712
|
-
msgid "📅%(expire_days)s days"
|
2713
|
-
msgstr "📅Remanescem: %(expire_days)s dias"
|
Binary file
|
@@ -11,6 +11,9 @@ msgstr "%(count)s записей были успешно отключены."
|
|
11
11
|
msgid "%(count)s records were successfully enabled."
|
12
12
|
msgstr "%(count)s записей были успешно включены."
|
13
13
|
|
14
|
+
msgid "%(expire_days)s days"
|
15
|
+
msgstr ""
|
16
|
+
|
14
17
|
msgid "%(placeholder)s"
|
15
18
|
msgstr "%(placeholder)s"
|
16
19
|
|
@@ -2815,6 +2818,3 @@ msgstr "📅 Еженедельно"
|
|
2815
2818
|
|
2816
2819
|
msgid "worker"
|
2817
2820
|
msgstr "✴️ Cloudflare Worker"
|
2818
|
-
|
2819
|
-
msgid "📅%(expire_days)s days"
|
2820
|
-
msgstr "Осталось 📅%(expire_days)s дней"
|
Binary file
|
@@ -11,6 +11,9 @@ msgstr "%(count)s 条记录已成功禁用。"
|
|
11
11
|
msgid "%(count)s records were successfully enabled."
|
12
12
|
msgstr "%(count)s 条记录已成功启用。"
|
13
13
|
|
14
|
+
msgid "%(expire_days)s days"
|
15
|
+
msgstr ""
|
16
|
+
|
14
17
|
msgid "%(placeholder)s"
|
15
18
|
msgstr "%(placeholder)s"
|
16
19
|
|
@@ -2626,6 +2629,3 @@ msgstr "📅每周"
|
|
2626
2629
|
|
2627
2630
|
msgid "worker"
|
2628
2631
|
msgstr "✴️ Cloudflare 工作人员"
|
2629
|
-
|
2630
|
-
msgid "📅%(expire_days)s days"
|
2631
|
-
msgstr "📅%(expire_days)s 天剩余"
|
@@ -2,6 +2,7 @@
|
|
2
2
|
" Search Settings": " Search Settings",
|
3
3
|
"%(count)s records were successfully disabled.": "%(count)s records were successfully disabled.",
|
4
4
|
"%(count)s records were successfully enabled.": "%(count)s records were successfully enabled.",
|
5
|
+
"%(expire_days)s days": "%(expire_days)s days",
|
5
6
|
"%(placeholder)s": "%(placeholder)s",
|
6
7
|
"0 - Last day": "Last Day",
|
7
8
|
"Access Denied!": "Access Denied",
|
@@ -1171,6 +1172,5 @@
|
|
1171
1172
|
"user.home.select os": "Please Select Your Operating System.",
|
1172
1173
|
"user.home.select tool": "Please select the item.",
|
1173
1174
|
"weekly": "📅 Weekly",
|
1174
|
-
"worker": "✴️ Cloudflare Worker"
|
1175
|
-
"📅%(expire_days)s days": "📅%(expire_days)s Days Remain"
|
1175
|
+
"worker": "✴️ Cloudflare Worker"
|
1176
1176
|
}
|
@@ -2,6 +2,7 @@
|
|
2
2
|
" Search Settings": " تنظیمات جستجو",
|
3
3
|
"%(count)s records were successfully disabled.": "%(count)s رکورد با موفقیت غیرفعال شد.",
|
4
4
|
"%(count)s records were successfully enabled.": "%(count)s رکوردها با موفقیت فعال شد.",
|
5
|
+
"%(expire_days)s days": "",
|
5
6
|
"%(placeholder)s": "%(placeholder)s",
|
6
7
|
"0 - Last day": "آخرین روز",
|
7
8
|
"Access Denied!": "دسترسی غیرمجاز",
|
@@ -1171,6 +1172,5 @@
|
|
1171
1172
|
"user.home.select os": "لطفا سیستم عامل خود را انتخاب کنید.",
|
1172
1173
|
"user.home.select tool": "لطفا یکی از موارد زیر را انتخاب کنید.",
|
1173
1174
|
"weekly": "📅 هفتگی",
|
1174
|
-
"worker": "✴️ ورکر کلودفلر"
|
1175
|
-
"📅%(expire_days)s days": "📅%(expire_days)s روز اعتبار"
|
1175
|
+
"worker": "✴️ ورکر کلودفلر"
|
1176
1176
|
}
|
@@ -2,6 +2,7 @@
|
|
2
2
|
" Search Settings": " Configurações de pesquisa",
|
3
3
|
"%(count)s records were successfully disabled.": "%(count)s registros foram desativados com sucesso.",
|
4
4
|
"%(count)s records were successfully enabled.": "%(count)s registros foram ativados com sucesso.",
|
5
|
+
"%(expire_days)s days": "",
|
5
6
|
"%(placeholder)s": "%(placeholder)s",
|
6
7
|
"0 - Last day": "Último dia",
|
7
8
|
"Access Denied!": "Acesso negado",
|
@@ -1171,6 +1172,5 @@
|
|
1171
1172
|
"user.home.select os": "Selecione seu sistema operacional.",
|
1172
1173
|
"user.home.select tool": "Selecione o item.",
|
1173
1174
|
"weekly": "📅 Semanal",
|
1174
|
-
"worker": "✴️ Cloudflare Worker"
|
1175
|
-
"📅%(expire_days)s days": "📅Remanescem: %(expire_days)s dias"
|
1175
|
+
"worker": "✴️ Cloudflare Worker"
|
1176
1176
|
}
|
@@ -2,6 +2,7 @@
|
|
2
2
|
" Search Settings": " Настройки поиска",
|
3
3
|
"%(count)s records were successfully disabled.": "%(count)s записей были успешно отключены.",
|
4
4
|
"%(count)s records were successfully enabled.": "%(count)s записей были успешно включены.",
|
5
|
+
"%(expire_days)s days": "",
|
5
6
|
"%(placeholder)s": "%(placeholder)s",
|
6
7
|
"0 - Last day": "Последний день",
|
7
8
|
"Access Denied!": "Доступ запрещен",
|
@@ -1171,6 +1172,5 @@
|
|
1171
1172
|
"user.home.select os": "Пожалуйста, выберите вашу операционную систему",
|
1172
1173
|
"user.home.select tool": "Пожалуйста, выберите",
|
1173
1174
|
"weekly": "📅 Еженедельно",
|
1174
|
-
"worker": "✴️ Cloudflare Worker"
|
1175
|
-
"📅%(expire_days)s days": "Осталось 📅%(expire_days)s дней"
|
1175
|
+
"worker": "✴️ Cloudflare Worker"
|
1176
1176
|
}
|
@@ -2,6 +2,7 @@
|
|
2
2
|
" Search Settings": "搜索设置",
|
3
3
|
"%(count)s records were successfully disabled.": "%(count)s 条记录已成功禁用。",
|
4
4
|
"%(count)s records were successfully enabled.": "%(count)s 条记录已成功启用。",
|
5
|
+
"%(expire_days)s days": "",
|
5
6
|
"%(placeholder)s": "%(placeholder)s",
|
6
7
|
"0 - Last day": "最后一天",
|
7
8
|
"Access Denied!": "拒绝访问",
|
@@ -1171,6 +1172,5 @@
|
|
1171
1172
|
"user.home.select os": "请选择您的操作系统。",
|
1172
1173
|
"user.home.select tool": "请选择该项目。",
|
1173
1174
|
"weekly": "📅每周",
|
1174
|
-
"worker": "✴️ Cloudflare 工作人员"
|
1175
|
-
"📅%(expire_days)s days": "📅%(expire_days)s 天剩余"
|
1175
|
+
"worker": "✴️ Cloudflare 工作人员"
|
1176
1176
|
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
hiddifypanel/Events.py,sha256=AlnRdjVul0jP-NCT4-zoaQgowoOo-JhdQB4ytetAFKA,723
|
2
|
-
hiddifypanel/VERSION,sha256=
|
3
|
-
hiddifypanel/VERSION.py,sha256=
|
2
|
+
hiddifypanel/VERSION,sha256=IO52j1jVy4Bis2Net3pg7wjvnYTileI1AjndAMUY60k,8
|
3
|
+
hiddifypanel/VERSION.py,sha256=xehpyJ2UmcW72n7u0fwzKPpwiK3LY3qZXZ1bW7Y4RNI,113
|
4
4
|
hiddifypanel/__init__.py,sha256=aLukp3ORszdcH4G9J-MlxhjHN6yFlOuOE6mm-L3aG_g,266
|
5
5
|
hiddifypanel/__main__.py,sha256=IVchnXpK6bm8T3N--mN17HBQNLMeLAjyP7iwzULexB4,218
|
6
6
|
hiddifypanel/auth.py,sha256=5GUwwKCRY90RS0WTKPfqzuOYuLuwGLpNLpnKmubf7DE,7405
|
@@ -38,8 +38,8 @@ hiddifypanel/hutils/proxy/__init__.py,sha256=xXBa83kjYT_b-BNseEykfQYyJBQHTq1Zosf
|
|
38
38
|
hiddifypanel/hutils/proxy/clash.py,sha256=ERyiuUZibOUYvkyC1HPLCRPNB1lrZpuuafey2St7XtI,5820
|
39
39
|
hiddifypanel/hutils/proxy/shared.py,sha256=w6RWpPrcZpOauXotfbzC70QTrrvO26tyNbTDrtFyXIk,21801
|
40
40
|
hiddifypanel/hutils/proxy/singbox.py,sha256=ssaO5lCK6CmZ3BIHgAdlD7GcMZljJSF8DaMissgw_Jw,10800
|
41
|
-
hiddifypanel/hutils/proxy/xray.py,sha256=
|
42
|
-
hiddifypanel/hutils/proxy/xrayjson.py,sha256=
|
41
|
+
hiddifypanel/hutils/proxy/xray.py,sha256=AlhgNgGS-D2TPrZvhlk2-wWVR1wpt4o0Aa4hNpult1o,10630
|
42
|
+
hiddifypanel/hutils/proxy/xrayjson.py,sha256=GTtGkWiZHmOsIyg267f_VcmxcyBR3durIP1iIvGlFtM,14910
|
43
43
|
hiddifypanel/models/__init__.py,sha256=W7lWG_7jNNPn-cdXV5wMmuPv1unHUFVlMd9OmwDn2gM,860
|
44
44
|
hiddifypanel/models/admin.py,sha256=W1C0R9fhLtwjnIzgPgiVcaNXc6YzzIolAsyy4QaqQKw,6936
|
45
45
|
hiddifypanel/models/base_account.py,sha256=T2vllZo1QTGzYos3njgdYtAlnYB77LYrfzpEoO8yRk8,3060
|
@@ -75,7 +75,7 @@ hiddifypanel/panel/admin/DomainAdmin.py,sha256=n6vNX58Bc7LxYwkXcAIOKf8GZuES3-AgW
|
|
75
75
|
hiddifypanel/panel/admin/NodeAdmin.py,sha256=QAHQjF7e7F4KqsWNWpMt7SoLANlFEborVtWQV9OXJ2E,3102
|
76
76
|
hiddifypanel/panel/admin/ProxyAdmin.py,sha256=e-tCTfsEjqjbRezhVJvFyQZHh-uluvHFZXXwc4aFRDE,5319
|
77
77
|
hiddifypanel/panel/admin/QuickSetup.py,sha256=X8d492PLQu8vNtabh-X2R2IDZVs_5pmWeyn-Qz5_qXk,7560
|
78
|
-
hiddifypanel/panel/admin/SettingAdmin.py,sha256=
|
78
|
+
hiddifypanel/panel/admin/SettingAdmin.py,sha256=NJr4ow2bTGf8w2mDmTlct_B4-2dd3w2E7BoJdepb1mQ,19115
|
79
79
|
hiddifypanel/panel/admin/Terminal.py,sha256=fjLVLspXYHOwZGyMU_KbytWe1zf-m6KbmvBPEDps45w,1737
|
80
80
|
hiddifypanel/panel/admin/UserAdmin.py,sha256=pAiZRoDxQRjcZOUhGu5nRqglTuippeXgiGxTOf-Thv4,17145
|
81
81
|
hiddifypanel/panel/admin/__init__.py,sha256=hb0A2HuK_nBZRCNPumwahXX-25FMxODKYlNbk2ItF08,3015
|
@@ -177,7 +177,7 @@ hiddifypanel/panel/common_bp/login.py,sha256=eDynKaUI6Q015E8cByMNT9twBw7xIiFL6TD
|
|
177
177
|
hiddifypanel/panel/common_bp/templates/login.html,sha256=jDl9-Nh2qMuCsLQmXm7e5jvSaRAlBxReVVCbNSTTHJw,1312
|
178
178
|
hiddifypanel/panel/user/__init__.py,sha256=E9RxA2YGc0eXLGjfJbyryeLG3bXEWJ3DoVOyIpVaDIo,1859
|
179
179
|
hiddifypanel/panel/user/link_maker.html,sha256=g420NAm_fUI8asYjyfCiXyUOIwEQfDPonZA9xh3p0-8,177
|
180
|
-
hiddifypanel/panel/user/user.py,sha256=
|
180
|
+
hiddifypanel/panel/user/user.py,sha256=3xtEdHjogJomrgDflhSDG7_QERi9S9v6YO-KSjU0r6Q,13946
|
181
181
|
hiddifypanel/panel/user/templates/all_configs copy.txt,sha256=u5jhAgjhH07_0csdIisuXy2HNCC9SWlP0whBAGFXA78,564
|
182
182
|
hiddifypanel/panel/user/templates/all_configs.txt,sha256=i8I6g9ujOr3RIuRoGRqY2Q75I89mbHko_JVPvQt4E_g,1260
|
183
183
|
hiddifypanel/panel/user/templates/base_singbox_config.json.j2,sha256=xhvQpm0fp2w3VA8N7zXbYs8RWlRgdyApiedFH_sRTfM,7107
|
@@ -810,7 +810,7 @@ hiddifypanel/templates/admin-layout.html,sha256=LEoZUJQNpIruNM9ET57PCy4E2RZ2BmVQ
|
|
810
810
|
hiddifypanel/templates/admin.ht.old,sha256=e9FBo9YPi7zFVidg8jS6JhOOsYdBbNPxfpTWG1dbIeg,8384
|
811
811
|
hiddifypanel/templates/donation.html,sha256=Oft3WENpSnwpbDgMw3MnhQIlQhuN_TDKm54qd4_FwIk,741
|
812
812
|
hiddifypanel/templates/error.html,sha256=Tnu3mMZ6zvFcATU6_OY1stljVPd9Djnxm3LV7Zx4zck,476
|
813
|
-
hiddifypanel/templates/fake.html,sha256=
|
813
|
+
hiddifypanel/templates/fake.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
814
814
|
hiddifypanel/templates/flaskadmin-layout.html,sha256=PkF74ld3HZ-j5_nVzVxmispnmmo3ni4WII7OXnN9VOs,7612
|
815
815
|
hiddifypanel/templates/github_issue_body.j2,sha256=6Z4QF-cOAaUxDtRQXT8H4O9SrZ3TGoxgpjnfIpGbsxo,474
|
816
816
|
hiddifypanel/templates/lte-master.html,sha256=jYhcNj8SuMOPT35OEG4e1sLWm03Vq53n4ynf3SdOWj4,1585
|
@@ -820,24 +820,24 @@ hiddifypanel/templates/redirect.html,sha256=K9x_O4P96vEkqBhOXIhoGrWw1KIqd2bL0BjI
|
|
820
820
|
hiddifypanel/templates/static.html,sha256=jp6q4wtx-k2A_cjqJoNiMS7Ee30arE45qI3ev4d5ky4,165
|
821
821
|
hiddifypanel/templates/hiddify-flask-admin/actions.html,sha256=2NeITe2e-lPKCk_o511tCIqVtrPu8LYHE1wTCtrFUrI,1331
|
822
822
|
hiddifypanel/templates/hiddify-flask-admin/list.html,sha256=MBGrTqZpzNLe4sZy0RozvXNr8seFUQc2C6v88BJtNWc,11095
|
823
|
-
hiddifypanel/translations/en/LC_MESSAGES/messages.mo,sha256=
|
824
|
-
hiddifypanel/translations/en/LC_MESSAGES/messages.po,sha256=
|
825
|
-
hiddifypanel/translations/fa/LC_MESSAGES/messages.mo,sha256=
|
826
|
-
hiddifypanel/translations/fa/LC_MESSAGES/messages.po,sha256=
|
827
|
-
hiddifypanel/translations/pt/LC_MESSAGES/messages.mo,sha256=
|
828
|
-
hiddifypanel/translations/pt/LC_MESSAGES/messages.po,sha256=
|
829
|
-
hiddifypanel/translations/ru/LC_MESSAGES/messages.mo,sha256=
|
830
|
-
hiddifypanel/translations/ru/LC_MESSAGES/messages.po,sha256=
|
831
|
-
hiddifypanel/translations/zh/LC_MESSAGES/messages.mo,sha256=
|
832
|
-
hiddifypanel/translations/zh/LC_MESSAGES/messages.po,sha256=
|
833
|
-
hiddifypanel/translations.i18n/en.json,sha256=
|
834
|
-
hiddifypanel/translations.i18n/fa.json,sha256=
|
835
|
-
hiddifypanel/translations.i18n/pt.json,sha256=
|
836
|
-
hiddifypanel/translations.i18n/ru.json,sha256=
|
837
|
-
hiddifypanel/translations.i18n/zh.json,sha256=
|
838
|
-
hiddifypanel-10.20.
|
839
|
-
hiddifypanel-10.20.
|
840
|
-
hiddifypanel-10.20.
|
841
|
-
hiddifypanel-10.20.
|
842
|
-
hiddifypanel-10.20.
|
843
|
-
hiddifypanel-10.20.
|
823
|
+
hiddifypanel/translations/en/LC_MESSAGES/messages.mo,sha256=G5s5HSSAXl_gS7XiO3wLQctGxIe_AJ37RIVRId1JQv0,74678
|
824
|
+
hiddifypanel/translations/en/LC_MESSAGES/messages.po,sha256=8tJG6Ax9Pufa8Mf80afoWBIAN8zomLn_HxEi-Y_MhWw,77864
|
825
|
+
hiddifypanel/translations/fa/LC_MESSAGES/messages.mo,sha256=2KbsrcjDAGp1RDsNb8lw48VPajvbuq-in-OTuMMJhys,96401
|
826
|
+
hiddifypanel/translations/fa/LC_MESSAGES/messages.po,sha256=QNcaCNYTAn5HgZLdSal9Oxp9wpXANcfgRpBFJaCcHPk,101078
|
827
|
+
hiddifypanel/translations/pt/LC_MESSAGES/messages.mo,sha256=mNYRmlCiWtc8eJIrQopCSFpMTFGN8k76O-0XDrVCfwo,60534
|
828
|
+
hiddifypanel/translations/pt/LC_MESSAGES/messages.po,sha256=6-lVK4mB0qvYLwaduBpgxY1DE_DDKFVNZ-dUBPsOhJo,69887
|
829
|
+
hiddifypanel/translations/ru/LC_MESSAGES/messages.mo,sha256=QnHAVqrFSoJhp8Rbt1Q78DHyAzndvGViT5mk4B-vToY,95456
|
830
|
+
hiddifypanel/translations/ru/LC_MESSAGES/messages.po,sha256=2Xd_RMn2dvdHmL9KCwY2-DN-W76OuMTISQD_a0KToyc,102016
|
831
|
+
hiddifypanel/translations/zh/LC_MESSAGES/messages.mo,sha256=KvM9AX0EuWWhqKdFvRKOwPTbTkw6zrh_oDUGIMHQLHU,60807
|
832
|
+
hiddifypanel/translations/zh/LC_MESSAGES/messages.po,sha256=oE-v6foE3j8oECylwq1ovNkpoL7v6gDoLzjozZ2KmX0,69065
|
833
|
+
hiddifypanel/translations.i18n/en.json,sha256=Qr2eumDQXKhcppbJuo9psZ_cJHVCTtj6ZOflGNig6dk,67830
|
834
|
+
hiddifypanel/translations.i18n/fa.json,sha256=R9As455CkWu9d89_MYiypZvT-j2w282zje3Ygm_3qYA,91044
|
835
|
+
hiddifypanel/translations.i18n/pt.json,sha256=DgHKvk-p0mJzm8RwHB7m0-JiOkgmv5YK65Wv3iydJqY,60174
|
836
|
+
hiddifypanel/translations.i18n/ru.json,sha256=6NavdAs1-19oKWQfrIpkf0tKdP4vN4pwEx1c1r2nfYQ,91982
|
837
|
+
hiddifypanel/translations.i18n/zh.json,sha256=jRezlHlG4PjDa4RxvIvsU_ByswoyQ1prn5O7KSFpGDM,59598
|
838
|
+
hiddifypanel-10.20.3.dist-info/LICENSE.md,sha256=oDrt-cUsyiDGnRPjEJh-3dH2ddAuK_bIVBD8ntkOtZw,19807
|
839
|
+
hiddifypanel-10.20.3.dist-info/METADATA,sha256=VM2mK04Tgzp0xICK9uVCUQJfUd434naibQ3dtkAyiPQ,4009
|
840
|
+
hiddifypanel-10.20.3.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
841
|
+
hiddifypanel-10.20.3.dist-info/entry_points.txt,sha256=Xzpqlh3nwBtZhoV9AANJykano056VJvYzaujxPztJaM,60
|
842
|
+
hiddifypanel-10.20.3.dist-info/top_level.txt,sha256=rv-b3qFWUZQTBy0kyBfsr7L6tPpeO7AaQlLHXn-HI5M,13
|
843
|
+
hiddifypanel-10.20.3.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|