hiddifypanel 10.16.0.dev3__py3-none-any.whl → 10.20.0__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 +2 -2
- hiddifypanel/hutils/flask.py +5 -3
- hiddifypanel/hutils/proxy/shared.py +9 -4
- hiddifypanel/hutils/proxy/xrayjson.py +9 -0
- hiddifypanel/models/config_enum.py +3 -3
- hiddifypanel/panel/commercial/ProxyDetailsAdmin.py +2 -7
- hiddifypanel/panel/user/user.py +3 -0
- hiddifypanel/translations/en/LC_MESSAGES/messages.mo +0 -0
- hiddifypanel/translations/fa/LC_MESSAGES/messages.mo +0 -0
- hiddifypanel/translations/pt/LC_MESSAGES/messages.mo +0 -0
- hiddifypanel/translations/ru/LC_MESSAGES/messages.mo +0 -0
- hiddifypanel/translations/zh/LC_MESSAGES/messages.mo +0 -0
- {hiddifypanel-10.16.0.dev3.dist-info → hiddifypanel-10.20.0.dist-info}/METADATA +1 -1
- {hiddifypanel-10.16.0.dev3.dist-info → hiddifypanel-10.20.0.dist-info}/RECORD +19 -19
- {hiddifypanel-10.16.0.dev3.dist-info → hiddifypanel-10.20.0.dist-info}/LICENSE.md +0 -0
- {hiddifypanel-10.16.0.dev3.dist-info → hiddifypanel-10.20.0.dist-info}/WHEEL +0 -0
- {hiddifypanel-10.16.0.dev3.dist-info → hiddifypanel-10.20.0.dist-info}/entry_points.txt +0 -0
- {hiddifypanel-10.16.0.dev3.dist-info → hiddifypanel-10.20.0.dist-info}/top_level.txt +0 -0
hiddifypanel/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
10.
|
1
|
+
10.20.0
|
hiddifypanel/VERSION.py
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
__version__='10.
|
1
|
+
__version__='10.20.0'
|
2
2
|
from datetime import datetime
|
3
|
-
__release_date__= datetime.strptime('2024-04-
|
3
|
+
__release_date__= datetime.strptime('2024-04-12','%Y-%m-%d')
|
hiddifypanel/hutils/flask.py
CHANGED
@@ -17,7 +17,8 @@ from hiddifypanel import hutils
|
|
17
17
|
|
18
18
|
|
19
19
|
def flash(message: str, category: str = "message"):
|
20
|
-
|
20
|
+
if not isinstance(message,str):
|
21
|
+
message = str(message)
|
21
22
|
return flask_flash(message, category)
|
22
23
|
|
23
24
|
|
@@ -48,7 +49,7 @@ def hurl_for(endpoint, **values):
|
|
48
49
|
def get_user_agent() -> dict:
|
49
50
|
ua = __parse_user_agent(request.user_agent.string)
|
50
51
|
|
51
|
-
if ua.get('v', 1) <
|
52
|
+
if ua.get('v', 1) < 6:
|
52
53
|
__parse_user_agent.invalidate_all() # type:ignore
|
53
54
|
ua = __parse_user_agent(request.user_agent.string)
|
54
55
|
return ua
|
@@ -68,7 +69,7 @@ def __parse_user_agent(ua: str) -> dict:
|
|
68
69
|
match = re.search(ua_version_pattern, request.user_agent.string)
|
69
70
|
generic_version = list(map(int, match.group(1).split('.'))) if match else [0, 0, 0]
|
70
71
|
res = {}
|
71
|
-
res['v'] =
|
72
|
+
res['v'] = 6
|
72
73
|
res["is_bot"] = uaa.is_bot
|
73
74
|
res["is_browser"] = re.match('^Mozilla', ua, re.IGNORECASE) and True
|
74
75
|
res['os'] = uaa.os.family
|
@@ -79,6 +80,7 @@ def __parse_user_agent(ua: str) -> dict:
|
|
79
80
|
res['is_hiddify'] = re.match('^(HiddifyNext)', ua, re.IGNORECASE) and True
|
80
81
|
res['is_streisand'] = re.match('^(Streisand)', ua, re.IGNORECASE) and True
|
81
82
|
res['is_shadowrocket'] = re.match('^(Shadowrocket)', ua, re.IGNORECASE) and True
|
83
|
+
res['is_v2rayng'] = re.match('^(v2rayNG)', ua, re.IGNORECASE) and True
|
82
84
|
|
83
85
|
if res['is_singbox']:
|
84
86
|
res['singbox_version'] = generic_version
|
@@ -107,10 +107,15 @@ def is_tls(l3) -> bool:
|
|
107
107
|
def get_proxies(child_id: int = 0, only_enabled=False) -> list['Proxy']:
|
108
108
|
proxies = Proxy.query.filter(Proxy.child_id == child_id).all()
|
109
109
|
proxies = [c for c in proxies if 'restls' not in c.transport]
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
110
|
+
|
111
|
+
if not hconfig(ConfigEnum.tuic_enable, child_id):
|
112
|
+
proxies = [c for c in proxies if c.proto != ProxyProto.tuic]
|
113
|
+
if not hconfig(ConfigEnum.wireguard_enable, child_id):
|
114
|
+
proxies = [c for c in proxies if c.proto != ProxyProto.wireguard]
|
115
|
+
if not hconfig(ConfigEnum.ssh_server_enable, child_id):
|
116
|
+
proxies = [c for c in proxies if c.proto != ProxyProto.ssh]
|
117
|
+
if not hconfig(ConfigEnum.hysteria_enable, child_id):
|
118
|
+
proxies = [c for c in proxies if c.proto != ProxyProto.hysteria2]
|
114
119
|
if not hconfig(ConfigEnum.shadowsocks2022_enable, child_id):
|
115
120
|
proxies = [c for c in proxies if 'shadowsocks' != c.transport]
|
116
121
|
|
@@ -11,7 +11,16 @@ OUTBOUND_LEVEL = 8
|
|
11
11
|
def configs_as_json(domains: list[Domain], remarks: str) -> str:
|
12
12
|
'''Returns xray configs as json'''
|
13
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
|
+
|
14
21
|
for proxy in hutils.proxy.get_valid_proxies(domains):
|
22
|
+
if unsupported_protos and proxy['proto'] in unsupported_protos:
|
23
|
+
continue
|
15
24
|
outbound = to_xray(proxy)
|
16
25
|
if 'msg' not in outbound:
|
17
26
|
outbounds.append(outbound)
|
@@ -208,11 +208,11 @@ class ConfigEnum(metaclass=FastEnum):
|
|
208
208
|
v2ray_enable = _BoolConfigDscr(ConfigCategory.hidden, ApplyMode.apply)
|
209
209
|
torrent_block = _BoolConfigDscr(ConfigCategory.general, ApplyMode.apply)
|
210
210
|
|
211
|
-
tuic_enable = _BoolConfigDscr(ConfigCategory.
|
212
|
-
tuic_port = _StrConfigDscr(ConfigCategory.
|
211
|
+
tuic_enable = _BoolConfigDscr(ConfigCategory.tuic, ApplyMode.apply)
|
212
|
+
tuic_port = _StrConfigDscr(ConfigCategory.tuic, ApplyMode.apply, hide_in_virtual_child=True)
|
213
213
|
|
214
214
|
# the hysteria is refereing to hysteria2
|
215
|
-
hysteria_enable = _BoolConfigDscr(ConfigCategory.
|
215
|
+
hysteria_enable = _BoolConfigDscr(ConfigCategory.hysteria, ApplyMode.apply)
|
216
216
|
hysteria_port = _StrConfigDscr(ConfigCategory.hidden, ApplyMode.apply, hide_in_virtual_child=True)
|
217
217
|
# if be enable hysteria2 will be use salamander as obfs
|
218
218
|
hysteria_obfs_enable = _BoolConfigDscr(ConfigCategory.hysteria, ApplyMode.apply)
|
@@ -1,18 +1,13 @@
|
|
1
1
|
from hiddifypanel.models import *
|
2
|
-
from hiddifypanel.panel import hiddify
|
3
2
|
from hiddifypanel.panel.admin.adminlte import AdminLTEModelView
|
4
3
|
from flask_babel import gettext as __
|
5
4
|
from flask_babel import lazy_gettext as _
|
6
5
|
from flask import g, redirect
|
7
6
|
from markupsafe import Markup
|
8
|
-
|
9
|
-
from hiddifypanel.hutils.flask import hurl_for, flash
|
10
7
|
from hiddifypanel.auth import login_required
|
11
|
-
from flask_admin.model.template import EndpointLinkRowAction
|
12
8
|
from flask_admin.actions import action
|
13
9
|
from flask_admin.contrib.sqla import form, filters as sqla_filters, tools
|
14
10
|
# Define a custom field type for the related domains
|
15
|
-
from flask import current_app
|
16
11
|
from hiddifypanel import hutils
|
17
12
|
|
18
13
|
|
@@ -31,7 +26,7 @@ class ProxyDetailsAdmin(AdminLTEModelView):
|
|
31
26
|
count = query.update({'enable': False})
|
32
27
|
|
33
28
|
self.session.commit()
|
34
|
-
flash(_('%(count)s records were successfully disabled.', count=count), 'success')
|
29
|
+
hutils.flask.flash(_('%(count)s records were successfully disabled.', count=count), 'success')
|
35
30
|
hutils.proxy.get_proxies.invalidate_all()
|
36
31
|
|
37
32
|
@action('enable', 'Enable', 'Are you sure you want to enable selected proxies?')
|
@@ -40,7 +35,7 @@ class ProxyDetailsAdmin(AdminLTEModelView):
|
|
40
35
|
count = query.update({'enable': True})
|
41
36
|
|
42
37
|
self.session.commit()
|
43
|
-
flash(_('%(count)s records were successfully enabled.', count=count), 'success')
|
38
|
+
hutils.flask.flash(_('%(count)s records were successfully enabled.', count=count), 'success')
|
44
39
|
hutils.proxy.get_proxies.invalidate_all()
|
45
40
|
|
46
41
|
# list_template = 'model/domain_list.html'
|
hiddifypanel/panel/user/user.py
CHANGED
@@ -111,6 +111,9 @@ class UserView(FlaskView):
|
|
111
111
|
if re.match('^(Clash|Stash)', ua, re.IGNORECASE):
|
112
112
|
return self.clash_config(meta_or_normal="normal")
|
113
113
|
|
114
|
+
if g.user_agent.get('is_v2rayng'):
|
115
|
+
return self.xray()
|
116
|
+
|
114
117
|
# if 'HiddifyNext' in ua or 'Dart' in ua:
|
115
118
|
# return self.clash_config(meta_or_normal="meta")
|
116
119
|
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -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=TNh4uo3TQlUYdAcXYC8v7huTaabCe_jxdyW0xVMYD-Y,8
|
3
|
+
hiddifypanel/VERSION.py,sha256=W2I0OxQMKbWdtTQn8EkldJYaVEGdoHF5U8q2Q2FzwcQ,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
|
@@ -18,7 +18,7 @@ hiddifypanel/hutils/auth.py,sha256=CoT25nrneWaAnRtx7qDE0v4WkdCeV3ra78VqEN48jeE,3
|
|
18
18
|
hiddifypanel/hutils/convert.py,sha256=bxkbphOC9GifVMKwgmo4lpAOyJ5rdSVRnG1eEjh8tIc,2061
|
19
19
|
hiddifypanel/hutils/crypto.py,sha256=2MDnzjM_ZJdY1zJ3eCoa2v24FYzzdKKO4viOFnvmBlI,1858
|
20
20
|
hiddifypanel/hutils/encode.py,sha256=XUq7NSrV11WeVIZFyfik8sqI82R0lKRm5mqKrxNoLrQ,834
|
21
|
-
hiddifypanel/hutils/flask.py,sha256=
|
21
|
+
hiddifypanel/hutils/flask.py,sha256=PuklxqM3rh-FSnX-M-F2E-IPpB5dyO78xNhqjsh2ras,10685
|
22
22
|
hiddifypanel/hutils/github_issue.py,sha256=oDJU-8BgefDdls9sUzhVpohH9utrD4WZLWrb3oUwV4c,6500
|
23
23
|
hiddifypanel/hutils/model.py,sha256=ajlJ-Tx0Mq68S9y5qEj0lwlDbF2xj0niZBQyw7UU670,1320
|
24
24
|
hiddifypanel/hutils/random.py,sha256=KrsarmRNL05PYzwMxDaDyv-_QcKS0YsZR2z7BnllAqI,1789
|
@@ -36,16 +36,16 @@ hiddifypanel/hutils/node/parent.py,sha256=PqrJJairSslgLhn5rBSJnHEUU2lhfcqVm4a-O5
|
|
36
36
|
hiddifypanel/hutils/node/shared.py,sha256=Zra8iC8DwwgcNz4OKzZKT25rTnOHYKQpd6SY6JMylN8,2197
|
37
37
|
hiddifypanel/hutils/proxy/__init__.py,sha256=xXBa83kjYT_b-BNseEykfQYyJBQHTq1ZosfR8ZrQHkI,106
|
38
38
|
hiddifypanel/hutils/proxy/clash.py,sha256=ERyiuUZibOUYvkyC1HPLCRPNB1lrZpuuafey2St7XtI,5820
|
39
|
-
hiddifypanel/hutils/proxy/shared.py,sha256=
|
39
|
+
hiddifypanel/hutils/proxy/shared.py,sha256=w6RWpPrcZpOauXotfbzC70QTrrvO26tyNbTDrtFyXIk,21801
|
40
40
|
hiddifypanel/hutils/proxy/singbox.py,sha256=ssaO5lCK6CmZ3BIHgAdlD7GcMZljJSF8DaMissgw_Jw,10800
|
41
41
|
hiddifypanel/hutils/proxy/xray.py,sha256=HDK4PsyY8qnnmQ51hNiP4UKJVXE-nMjIRuFjF1ZcHOY,10769
|
42
|
-
hiddifypanel/hutils/proxy/xrayjson.py,sha256=
|
42
|
+
hiddifypanel/hutils/proxy/xrayjson.py,sha256=to71KVhsh9scmRyQjgS19QYWKze2GjE4seQJM4_rIVk,13402
|
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
|
46
46
|
hiddifypanel/models/child.py,sha256=ZFJaH-GWTKAGD0BGMH0iKEMipi37_cAk59OeJKt2IKA,3039
|
47
47
|
hiddifypanel/models/config.py,sha256=AoY3gDjHscIaXNSDXPIFWASo7WS9-UjNyLd-3K2ntIE,6755
|
48
|
-
hiddifypanel/models/config_enum.py,sha256=
|
48
|
+
hiddifypanel/models/config_enum.py,sha256=3Iox3Hm3g4BOYN263bEmuzZ88jdnlLWEx_MbbL4aqGk,14631
|
49
49
|
hiddifypanel/models/domain.py,sha256=9HR7Ch3BniuzDM5TJfQNpTuoOPbkthEDhjF-exUXCuM,8499
|
50
50
|
hiddifypanel/models/parent_domain.py,sha256=bs5F1neOAQu9XHEk3QQTBM4p2iuebM4cnAQqwfNjCtg,2291
|
51
51
|
hiddifypanel/models/proxy.py,sha256=9cm5Q0ZUEPeRDWdm1lQGom0SM_Q32NCDFTNFh36OzaQ,3304
|
@@ -127,7 +127,7 @@ hiddifypanel/panel/admin/templates/model/admin_list.html,sha256=lpjiAl7kR5xb0fLp
|
|
127
127
|
hiddifypanel/panel/admin/templates/model/domain_list.html,sha256=rrPYKISPXcwYreMp2MrJb-sEL9-6dCZF_dk6ejObrm8,414
|
128
128
|
hiddifypanel/panel/admin/templates/model/user_list.html,sha256=hwKZaHClJogrIVvIKmemdY0rJMwg9yIB7cqHh_nDVqU,5830
|
129
129
|
hiddifypanel/panel/commercial/ParentDomainAdmin.py,sha256=n3X7_PuQBr2zlP6K5A0EHmtRdI9Vy49YORim_9L2QFA,4886
|
130
|
-
hiddifypanel/panel/commercial/ProxyDetailsAdmin.py,sha256=
|
130
|
+
hiddifypanel/panel/commercial/ProxyDetailsAdmin.py,sha256=s4Ep_hsHttgXM0Zq75W4HaJY0cYEeBjwZ5vtOvcvOxA,2840
|
131
131
|
hiddifypanel/panel/commercial/__init__.py,sha256=oanPV36n6MXiVhiq_NYL6K9ENhQXZGQM5r4c9oPO0CQ,2322
|
132
132
|
hiddifypanel/panel/commercial/restapi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
133
133
|
hiddifypanel/panel/commercial/restapi/v1/__init__.py,sha256=PKpT6Jdh37udexOnOdsvA681nqStGY-jqalEBB9_utU,1208
|
@@ -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=PU0PWsa4AoS1MKtr-8wvZObfIFg6385q7LD3B8xRHg8,13868
|
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
|
@@ -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=
|
823
|
+
hiddifypanel/translations/en/LC_MESSAGES/messages.mo,sha256=egWSU8sDPeuYC9r4OTj7hvdQG-6FviQmg-IsEwp-b4E,74599
|
824
824
|
hiddifypanel/translations/en/LC_MESSAGES/messages.po,sha256=JYdJWkz8ZjeqzNdbz1kOOAw11YHMpFU447R1SYaD1Sg,77783
|
825
|
-
hiddifypanel/translations/fa/LC_MESSAGES/messages.mo,sha256=
|
825
|
+
hiddifypanel/translations/fa/LC_MESSAGES/messages.mo,sha256=AUirkIh7WHL4V6QaPp80qBIdbS12bpfz7P2W_TDq0m0,96482
|
826
826
|
hiddifypanel/translations/fa/LC_MESSAGES/messages.po,sha256=c4_SjizFofBr6uNRAlD8j9HRbVv4f4SCGVlFGWxMWA8,101063
|
827
|
-
hiddifypanel/translations/pt/LC_MESSAGES/messages.mo,sha256=
|
827
|
+
hiddifypanel/translations/pt/LC_MESSAGES/messages.mo,sha256=7fpbHnQeQtfxx_KALtjKJZt0g-L_vPVSVHmn7ef_0gg,60612
|
828
828
|
hiddifypanel/translations/pt/LC_MESSAGES/messages.po,sha256=tUp3Ed-ZBDZeD99yb7o6I76wWUU_QQT2i_cQfNV_7Zk,69869
|
829
|
-
hiddifypanel/translations/ru/LC_MESSAGES/messages.mo,sha256=
|
829
|
+
hiddifypanel/translations/ru/LC_MESSAGES/messages.mo,sha256=F1MVMe02CZ0SNyTIVJEbATLPDfwEB9Qoulz1hUiCwOU,95543
|
830
830
|
hiddifypanel/translations/ru/LC_MESSAGES/messages.po,sha256=ojNL5z1gvjgiO-5hjccCLhK0Z-CeZKrwE3yiEE4ekeg,102007
|
831
|
-
hiddifypanel/translations/zh/LC_MESSAGES/messages.mo,sha256=
|
831
|
+
hiddifypanel/translations/zh/LC_MESSAGES/messages.mo,sha256=SMWF7RLppDYIFcJz1jursPzIEPWzWuMUCmALUfQtq40,60878
|
832
832
|
hiddifypanel/translations/zh/LC_MESSAGES/messages.po,sha256=f0fv1MW5_Okc5GixUoPv5BkV0XwM6wKrjK7khLeiv18,69040
|
833
833
|
hiddifypanel/translations.i18n/en.json,sha256=SEBuSZt0rP6l-IK3dkZteEEvzLs3JVMwfaWCiak_jBk,67764
|
834
834
|
hiddifypanel/translations.i18n/fa.json,sha256=Xn6sJ8o74HE8qjzOjgjW-LzHJRrHk7Aze-6EYts2Gt0,91044
|
835
835
|
hiddifypanel/translations.i18n/pt.json,sha256=Wh72C6ToJUVXgAfB_2JqJKQjw0_Rvv7gsYIp8-Nbd8Q,60171
|
836
836
|
hiddifypanel/translations.i18n/ru.json,sha256=WNSflb5-l-CWOQ71SWhDSkgQLkJVHeZ_dehn3lRyv0s,91988
|
837
837
|
hiddifypanel/translations.i18n/zh.json,sha256=17fERyiPhWV2899MMynfIeuZL6X7u-_pWd0h5n6FJUo,59588
|
838
|
-
hiddifypanel-10.
|
839
|
-
hiddifypanel-10.
|
840
|
-
hiddifypanel-10.
|
841
|
-
hiddifypanel-10.
|
842
|
-
hiddifypanel-10.
|
843
|
-
hiddifypanel-10.
|
838
|
+
hiddifypanel-10.20.0.dist-info/LICENSE.md,sha256=oDrt-cUsyiDGnRPjEJh-3dH2ddAuK_bIVBD8ntkOtZw,19807
|
839
|
+
hiddifypanel-10.20.0.dist-info/METADATA,sha256=8rcbubsh0AsuEs4PopEwkwLfdSuS8h96MyYRA792nJs,4009
|
840
|
+
hiddifypanel-10.20.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
841
|
+
hiddifypanel-10.20.0.dist-info/entry_points.txt,sha256=Xzpqlh3nwBtZhoV9AANJykano056VJvYzaujxPztJaM,60
|
842
|
+
hiddifypanel-10.20.0.dist-info/top_level.txt,sha256=rv-b3qFWUZQTBy0kyBfsr7L6tPpeO7AaQlLHXn-HI5M,13
|
843
|
+
hiddifypanel-10.20.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|