hiddifypanel 10.15.0.dev1__py3-none-any.whl → 10.15.0.dev5__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 +3 -2
- hiddifypanel/panel/admin/DomainAdmin.py +4 -1
- hiddifypanel/panel/commercial/restapi/v2/user/info_api.py +1 -1
- hiddifypanel/panel/common.py +1 -2
- hiddifypanel/panel/init_db.py +10 -11
- hiddifypanel/static/images/favicon.ico +0 -0
- hiddifypanel/templates/master.html +39 -20
- 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.15.0.dev1.dist-info → hiddifypanel-10.15.0.dev5.dist-info}/METADATA +1 -1
- {hiddifypanel-10.15.0.dev1.dist-info → hiddifypanel-10.15.0.dev5.dist-info}/RECORD +20 -20
- {hiddifypanel-10.15.0.dev1.dist-info → hiddifypanel-10.15.0.dev5.dist-info}/LICENSE.md +0 -0
- {hiddifypanel-10.15.0.dev1.dist-info → hiddifypanel-10.15.0.dev5.dist-info}/WHEEL +0 -0
- {hiddifypanel-10.15.0.dev1.dist-info → hiddifypanel-10.15.0.dev5.dist-info}/entry_points.txt +0 -0
- {hiddifypanel-10.15.0.dev1.dist-info → hiddifypanel-10.15.0.dev5.dist-info}/top_level.txt +0 -0
hiddifypanel/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
10.15.0.
|
1
|
+
10.15.0.dev5
|
hiddifypanel/VERSION.py
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
__version__='10.15.0.
|
1
|
+
__version__='10.15.0.dev5'
|
2
2
|
from datetime import datetime
|
3
|
-
__release_date__= datetime.strptime('2024-04-
|
3
|
+
__release_date__= datetime.strptime('2024-04-07','%Y-%m-%d')
|
hiddifypanel/hutils/flask.py
CHANGED
@@ -2,7 +2,7 @@ from typing import List, Tuple
|
|
2
2
|
from flask import current_app, flash as flask_flash, g, request
|
3
3
|
from wtforms.validators import ValidationError
|
4
4
|
from apiflask import abort as apiflask_abort
|
5
|
-
from flask_babel import
|
5
|
+
from flask_babel import gettext as _
|
6
6
|
from flask import url_for # type: ignore
|
7
7
|
from urllib.parse import urlparse
|
8
8
|
from markupsafe import Markup
|
@@ -17,7 +17,8 @@ from hiddifypanel import hutils
|
|
17
17
|
|
18
18
|
|
19
19
|
def flash(message: str, category: str = "message"):
|
20
|
-
|
20
|
+
# if isinstance(message, LazyString)
|
21
|
+
return flask_flash(message, category)
|
21
22
|
|
22
23
|
|
23
24
|
def flash_config_success(restart_mode: ApplyMode = ApplyMode.nothing, domain_changed=True):
|
@@ -156,7 +156,10 @@ class DomainAdmin(AdminLTEModelView):
|
|
156
156
|
for td in Domain.query.filter(Domain.mode == DomainType.reality, Domain.domain != model.domain).all():
|
157
157
|
# print(td)
|
158
158
|
if td.servernames and (model.domain in td.servernames.split(",")):
|
159
|
-
raise ValidationError(_("You have used this domain in: ") + _(f"config.reality_server_names.label") +
|
159
|
+
raise ValidationError(_("You have used this domain in: ") + _(f"config.reality_server_names.label") + td.domain)
|
160
|
+
|
161
|
+
if is_created and Domain.query.filter(Domain.domain == model.domain, Domain.child_id == model.child_id).count() > 1:
|
162
|
+
raise ValidationError(_("You have used this domain in: "))
|
160
163
|
|
161
164
|
ipv4_list = hutils.network.get_ips(4)
|
162
165
|
ipv6_list = hutils.network.get_ips(6)
|
@@ -62,7 +62,7 @@ class InfoAPI(MethodView):
|
|
62
62
|
|
63
63
|
dto.doh = f"https://{request.host}/{g.proxy_path}/dns/dns-query"
|
64
64
|
dto.lang = (c['user'].lang) or Lang(hconfig(ConfigEnum.lang))
|
65
|
-
dto.brand_icon_url = "" if hconfig(ConfigEnum.branding_title) else hutils.flask.static_url_for(filename="images/
|
65
|
+
dto.brand_icon_url = "" if hconfig(ConfigEnum.branding_title) else hutils.flask.static_url_for(filename="images/favicon.ico")
|
66
66
|
# with force_locale("fa"):
|
67
67
|
dto.admin_message_html = hconfig(ConfigEnum.branding_freetext) or _("Join our Hiddify Telegram channel to get the latest updates on Hiddify.")
|
68
68
|
if not hconfig(ConfigEnum.branding_freetext) and auth.admin_session_is_exist():
|
hiddifypanel/panel/common.py
CHANGED
@@ -163,8 +163,7 @@ def init_app(app: APIFlask):
|
|
163
163
|
|
164
164
|
# setup dark mode
|
165
165
|
if request.args.get('darkmode') is not None:
|
166
|
-
session['darkmode'] = request.args.get(
|
167
|
-
'darkmode', '').lower() == 'true'
|
166
|
+
session['darkmode'] = request.args.get('darkmode', '').lower() == 'true'
|
168
167
|
g.darkmode = session.get('darkmode', False)
|
169
168
|
|
170
169
|
# setup pwa
|
hiddifypanel/panel/init_db.py
CHANGED
@@ -10,8 +10,6 @@ from hiddifypanel import Events, hutils
|
|
10
10
|
from hiddifypanel.models import *
|
11
11
|
from hiddifypanel.panel import hiddify
|
12
12
|
from hiddifypanel.database import db, db_execute
|
13
|
-
from hiddifypanel import hutils
|
14
|
-
from sqlalchemy import text
|
15
13
|
from flask import g
|
16
14
|
|
17
15
|
MAX_DB_VERSION = 90
|
@@ -540,7 +538,7 @@ def add_config_if_not_exist(key: ConfigEnum, val: str | int, child_id: int | Non
|
|
540
538
|
child_id = Child.current().id
|
541
539
|
|
542
540
|
old_val = hconfig(key, child_id)
|
543
|
-
|
541
|
+
hutils.utils.error(f'{key}, {val}, {child_id}, {old_val}')
|
544
542
|
if old_val is None:
|
545
543
|
set_hconfig(key, val)
|
546
544
|
|
@@ -559,7 +557,7 @@ def execute(query: str):
|
|
559
557
|
|
560
558
|
db_execute(query)
|
561
559
|
except BaseException as e:
|
562
|
-
|
560
|
+
hutils.utils.error(e)
|
563
561
|
pass
|
564
562
|
|
565
563
|
|
@@ -599,7 +597,7 @@ def add_new_enum_values():
|
|
599
597
|
# Add the new value to the enum column in the database
|
600
598
|
enumstr = ','.join([f"'{a}'" for a in [*existing_values, *old_values]])
|
601
599
|
|
602
|
-
db_execute(
|
600
|
+
db_execute(f"ALTER TABLE {table_name} MODIFY COLUMN `{column_name}` ENUM({enumstr});")
|
603
601
|
|
604
602
|
db.session.commit()
|
605
603
|
|
@@ -620,14 +618,14 @@ def upgrade_database():
|
|
620
618
|
if not os.path.isdir(backup_root) or len(os.listdir(backup_root)) == 0:
|
621
619
|
if os.path.isfile(sqlite_db):
|
622
620
|
os.rename(sqlite_db, sqlite_db + ".old")
|
623
|
-
|
621
|
+
hutils.utils.error("no backup found...")
|
624
622
|
return
|
625
623
|
if os.path.isfile(sqlite_db):
|
626
|
-
|
624
|
+
hutils.utils.error("Finding Old Version Database... importing configs from latest backup")
|
627
625
|
newest_file = max([(f, os.path.getmtime(os.path.join(backup_root, f)))
|
628
626
|
for f in os.listdir(backup_root) if os.path.isfile(os.path.join(backup_root, f))], key=lambda x: x[1])[0]
|
629
627
|
with open(f'{backup_root}{newest_file}', 'r') as f:
|
630
|
-
|
628
|
+
hutils.utils.error(f"importing configs from {newest_file}")
|
631
629
|
json_data = json.load(f)
|
632
630
|
hiddify.set_db_from_json(json_data,
|
633
631
|
set_users=True,
|
@@ -644,7 +642,8 @@ def upgrade_database():
|
|
644
642
|
db_version = int([d['value'] for d in json_data['hconfigs'] if d['key'] == "db_version"][0])
|
645
643
|
os.rename(sqlite_db, sqlite_db + ".old")
|
646
644
|
set_hconfig(ConfigEnum.db_version, db_version, commit=True)
|
647
|
-
|
645
|
+
|
646
|
+
hutils.utils.error("Upgrading to the new dataset succuess.")
|
648
647
|
|
649
648
|
|
650
649
|
def init_db():
|
@@ -677,7 +676,7 @@ def init_db():
|
|
677
676
|
if not db_action or (start_version == 0 and ver == 10):
|
678
677
|
continue
|
679
678
|
|
680
|
-
|
679
|
+
hutils.utils.error(f"Updating db from version {db_version} for node {child.id}")
|
681
680
|
|
682
681
|
if ver < 70:
|
683
682
|
if child.id != 0:
|
@@ -687,7 +686,7 @@ def init_db():
|
|
687
686
|
db_action(child.id)
|
688
687
|
|
689
688
|
Events.db_init_event.notify(db_version=db_version)
|
690
|
-
|
689
|
+
hutils.utils.error(f"Updated successfuly db from version {db_version} to {ver}")
|
691
690
|
|
692
691
|
db_version = ver
|
693
692
|
db.session.commit()
|
Binary file
|
@@ -20,25 +20,35 @@
|
|
20
20
|
{% else %}
|
21
21
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
22
22
|
{% endif %}
|
23
|
-
<link href="{{static_url_for(filename='images/splash/iphone5_splash.png')}}"
|
23
|
+
<link href="{{static_url_for(filename='images/splash/iphone5_splash.png')}}"
|
24
|
+
media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
|
24
25
|
rel="apple-touch-startup-image" />
|
25
|
-
<link href="{{static_url_for(filename='images/splash/iphone6_splash.png')}}"
|
26
|
+
<link href="{{static_url_for(filename='images/splash/iphone6_splash.png')}}"
|
27
|
+
media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
|
26
28
|
rel="apple-touch-startup-image" />
|
27
|
-
<link href="{{static_url_for(filename='images/splash/iphoneplus_splash.png')}}"
|
29
|
+
<link href="{{static_url_for(filename='images/splash/iphoneplus_splash.png')}}"
|
30
|
+
media="(device-width: 621px) and (device-height: 1104px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
|
28
31
|
rel="apple-touch-startup-image" />
|
29
|
-
<link href="{{static_url_for(filename='images/splash/iphonex_splash.png')}}"
|
32
|
+
<link href="{{static_url_for(filename='images/splash/iphonex_splash.png')}}"
|
33
|
+
media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
|
30
34
|
rel="apple-touch-startup-image" />
|
31
|
-
<link href="{{static_url_for(filename='images/splash/iphonexr_splash.png')}}"
|
35
|
+
<link href="{{static_url_for(filename='images/splash/iphonexr_splash.png')}}"
|
36
|
+
media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
|
32
37
|
rel="apple-touch-startup-image" />
|
33
|
-
<link href="{{static_url_for(filename='images/splash/iphonexsmax_splash.png')}}"
|
38
|
+
<link href="{{static_url_for(filename='images/splash/iphonexsmax_splash.png')}}"
|
39
|
+
media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
|
34
40
|
rel="apple-touch-startup-image" />
|
35
|
-
<link href="{{static_url_for(filename='images/splash/ipad_splash.png')}}"
|
41
|
+
<link href="{{static_url_for(filename='images/splash/ipad_splash.png')}}"
|
42
|
+
media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
|
36
43
|
rel="apple-touch-startup-image" />
|
37
|
-
<link href="{{static_url_for(filename='images/splash/ipadpro1_splash.png')}}"
|
44
|
+
<link href="{{static_url_for(filename='images/splash/ipadpro1_splash.png')}}"
|
45
|
+
media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
|
38
46
|
rel="apple-touch-startup-image" />
|
39
|
-
<link href="{{static_url_for(filename='images/splash/ipadpro3_splash.png')}}"
|
47
|
+
<link href="{{static_url_for(filename='images/splash/ipadpro3_splash.png')}}"
|
48
|
+
media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
|
40
49
|
rel="apple-touch-startup-image" />
|
41
|
-
<link href="{{static_url_for(filename='images/splash/ipadpro2_splash.png')}}"
|
50
|
+
<link href="{{static_url_for(filename='images/splash/ipadpro2_splash.png')}}"
|
51
|
+
media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
|
42
52
|
rel="apple-touch-startup-image" />
|
43
53
|
<link rel="icon" type="image/x-icon" href="{{ static_url_for( filename='images/favicon.ico')}}">
|
44
54
|
<link rel="manifest" href="{{ hurl_for('common_bp.LoginView:create_pwa_manifest',secret_uuid=g.account.uuid or '')}}">
|
@@ -60,7 +70,8 @@
|
|
60
70
|
<link rel="stylesheet" href="{{static_url_for(filename='plugins/datatables/extensions/Responsive/css/responsive.bootstrap4.min.css')}}"> -->
|
61
71
|
|
62
72
|
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.13.2/css/dataTables.bootstrap4.min.css">
|
63
|
-
<link rel="stylesheet" type="text/css"
|
73
|
+
<link rel="stylesheet" type="text/css"
|
74
|
+
href="https://cdn.datatables.net/responsive/2.4.0/css/responsive.bootstrap4.min.css">
|
64
75
|
|
65
76
|
<link rel="stylesheet" href="{{ static_url_for( filename='css/custom.css',version=5.23 ) }}">
|
66
77
|
{% if get_locale()=='fa' %}
|
@@ -77,7 +88,8 @@
|
|
77
88
|
|
78
89
|
</head>
|
79
90
|
|
80
|
-
<body class="hold-transition layout-fixed {{" dark-mode" if g.darkmode else "" }} {% block bodyclass
|
91
|
+
<body class="hold-transition layout-fixed {{" dark-mode" if g.darkmode else "" }} {% block bodyclass
|
92
|
+
%}sidebar-collapse{%endblock%}">
|
81
93
|
<div id="splash_screen">
|
82
94
|
<center>
|
83
95
|
|
@@ -148,12 +160,14 @@
|
|
148
160
|
</div>
|
149
161
|
|
150
162
|
<ul class="nav col-md-4 justify-content-end list-unstyled d-flex">
|
151
|
-
<li class="ms-3"><a class="text-secondary" href="https://github.com/hiddify/hiddify-manager/wiki"><i
|
163
|
+
<li class="ms-3"><a class="text-secondary" href="https://github.com/hiddify/hiddify-manager/wiki"><i
|
164
|
+
class="fa-brands fa-github"></i></a></li>
|
152
165
|
<li class="ms-3"><a class="text-danger" href="https://youtube.com/@hiddify/videos">
|
153
166
|
<i class="fa-brands fa-square-youtube fa-margin"></i> </a></li>
|
154
167
|
<li class="ms-3"><a class="text-primary" href="https://twitter.com/intent/follow?screen_name=hiddify_com">
|
155
168
|
<i class="fa-brands fa-square-twitter fa-margin"></i> </a></li>
|
156
|
-
<li class="ms-3"><a class="text-primary" href="https://t.me/hiddify"> <i
|
169
|
+
<li class="ms-3"><a class="text-primary" href="https://t.me/hiddify"> <i
|
170
|
+
class="fa-brands fa-telegram fa-margin"></i> </a></li>
|
157
171
|
</ul>
|
158
172
|
|
159
173
|
</footer>
|
@@ -163,7 +177,8 @@
|
|
163
177
|
</div>
|
164
178
|
<!-- ./wrapper -->
|
165
179
|
|
166
|
-
{#modal("guide-modal","","<video id='guide-video' controls
|
180
|
+
{#modal("guide-modal","","<video id='guide-video' controls
|
181
|
+
style='max-height: 100%; max-width: 100%;width: auto; height: auto;'>
|
167
182
|
<source id='guide-video-mp4' type='video/mp4'>
|
168
183
|
</video>")#}
|
169
184
|
|
@@ -182,8 +197,10 @@
|
|
182
197
|
<div class="btn-group">
|
183
198
|
<a id='qrcode-link' class="btn btn-primary copy-link" href=""><i class="fa-regular fa-copy"></i>
|
184
199
|
{{_("copy")}} </a>
|
185
|
-
<a id="share-link-redirect" class="btn btn-success copy-link" href=""><i
|
186
|
-
|
200
|
+
<a id="share-link-redirect" class="btn btn-success copy-link" href=""><i
|
201
|
+
class="fa-solid fa-share-from-square"></i> {{_('clickable copy')}}</a>
|
202
|
+
<a target="_blank" id="share-link-open" class="btn btn-secondary" href=""><i
|
203
|
+
class="fa-solid fa-arrow-up-right-from-square"></i> {{_('open')}}</a>
|
187
204
|
</div>
|
188
205
|
<br />
|
189
206
|
<div id="qrcode" style="margin:10px;padding:10px;"></div>
|
@@ -234,8 +251,10 @@
|
|
234
251
|
|
235
252
|
<script src="{{ static_url_for( filename='plugins/datatables/jquery.dataTables.min.js' ) }}"></script>
|
236
253
|
<script src="{{ static_url_for( filename='plugins/datatables/dataTables.bootstrap4.js' ) }}"></script>
|
237
|
-
<script
|
238
|
-
|
254
|
+
<script
|
255
|
+
src="{{ static_url_for( filename='plugins/datatables/extensions/Responsive/js/dataTables.responsive.min.js' ) }}"></script>
|
256
|
+
<script
|
257
|
+
src="{{ static_url_for( filename='plugins/datatables/extensions/Responsive/js/responsive.bootstrap4.min.js' ) }}"></script>
|
239
258
|
|
240
259
|
<!-- <script type="text/javascript" language="javascript" src="https://cdn.datatables.net/1.13.2/js/jquery.dataTables.min.js"></script>
|
241
260
|
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/1.13.2/js/dataTables.bootstrap4.min.js"></script>
|
@@ -307,7 +326,7 @@
|
|
307
326
|
position: "{{'topLeft' if get_locale()=='fa' else 'topRight'}}",
|
308
327
|
|
309
328
|
|
310
|
-
body: `{{msg}}`
|
329
|
+
body: `{{msg|safe}}`
|
311
330
|
})
|
312
331
|
{% endfor %}
|
313
332
|
|
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=mlFI8JzU61wms1NFXkSsMd6OXAJMo8DzqOVvH_s49AM,13
|
3
|
+
hiddifypanel/VERSION.py,sha256=FwTN8JyocNuFCR5vOak6pmSdcwC8IVSL3LoFbEL2jKw,118
|
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=o9DHfhqZPN1j7s5sVnFAFrJp0zjalVKFPQeL_w6dd9o,10584
|
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
|
@@ -60,10 +60,10 @@ hiddifypanel/panel/auth_back.py,sha256=ft2YlK1Ke87fvKTpGLIHnLVpnBRn1Stlc_-6aEzud
|
|
60
60
|
hiddifypanel/panel/auth_back2.py,sha256=8-MkPi4WAxO7gAeChQ7ceCx0QhuEQlrYazZ9qDnm_Mc,8983
|
61
61
|
hiddifypanel/panel/cf_api.py,sha256=TByR9gRiF18TGPjGmWHEwgPdB-icfczBfrf2E-8H488,1127
|
62
62
|
hiddifypanel/panel/cli.py,sha256=a2rTpUlUsjv3aEkqAK0aa8_PW3e1IzpXWaJPb4EVIyg,9368
|
63
|
-
hiddifypanel/panel/common.py,sha256=
|
63
|
+
hiddifypanel/panel/common.py,sha256=fns77UWOc5zreyqZHEOHcHc3WuEX8mZZEwRY8J0aWAo,7995
|
64
64
|
hiddifypanel/panel/custom_widgets.py,sha256=9qI_fNX8NKqB1r8ljgcaisGZaDM89_PM_rOBZbGaTYs,2506
|
65
65
|
hiddifypanel/panel/hiddify.py,sha256=K8obO2Chc8A0Dh0FwMWT2NyvPbI8eGSHY3wLpCB2XoU,14436
|
66
|
-
hiddifypanel/panel/init_db.py,sha256=
|
66
|
+
hiddifypanel/panel/init_db.py,sha256=5N-y7br2PBQ9hydT8kAHjB0ujlmEmBcjqF1e5n0FkFM,32667
|
67
67
|
hiddifypanel/panel/run_commander.py,sha256=D9y-My0xSe2adHWXKV5UPYGl-9WwKURzniq55MRu6tE,3259
|
68
68
|
hiddifypanel/panel/usage.py,sha256=zYXhd0OTGWWV7K_UErb4mCoEla2qE2f_Rzl4-C13ia4,4828
|
69
69
|
hiddifypanel/panel/admin/Actions.py,sha256=Ea2eFbHzPcXQcuGh1oihaMjlszuHcmSuE70azysaZ7M,8794
|
@@ -71,7 +71,7 @@ hiddifypanel/panel/admin/AdminstratorAdmin.py,sha256=Y0h_mHRblguJjK0VqZoyCPcn02k
|
|
71
71
|
hiddifypanel/panel/admin/Backup.py,sha256=dp74st7OBw_j3hH-4K4tf9EyP4qGuALaJ5pTcC-SWt8,3670
|
72
72
|
hiddifypanel/panel/admin/ConfigAdmin.py,sha256=0hnLY-8BxrpVnrAcQaedWjHnRUq1X_Styi_ZCZ2ivds,2876
|
73
73
|
hiddifypanel/panel/admin/Dashboard.py,sha256=cF1pUmSqvDad_4q7G-2xfFeFht-Vq9YrneRl0V8Caeg,4179
|
74
|
-
hiddifypanel/panel/admin/DomainAdmin.py,sha256=
|
74
|
+
hiddifypanel/panel/admin/DomainAdmin.py,sha256=n6vNX58Bc7LxYwkXcAIOKf8GZuES3-AgWQzbNmth4Vo,14592
|
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
|
@@ -162,7 +162,7 @@ hiddifypanel/panel/commercial/restapi/v2/parent/usage_api.py,sha256=FOvb6nFuWcuc
|
|
162
162
|
hiddifypanel/panel/commercial/restapi/v2/user/__init__.py,sha256=SxWty7krk6kt_JORT1AyQcUfgRdY_55vRb3FAxT4LB8,1230
|
163
163
|
hiddifypanel/panel/commercial/restapi/v2/user/apps_api.py,sha256=WVq8Ufjr_HpkdHG3juTD6Tfg12kE-00VRV8PrbSiqY8,20833
|
164
164
|
hiddifypanel/panel/commercial/restapi/v2/user/configs_api.py,sha256=tc2fP-neC2mbc7sRQADpLYwlIFLr5UtUjyTsOT3rVp4,4602
|
165
|
-
hiddifypanel/panel/commercial/restapi/v2/user/info_api.py,sha256=
|
165
|
+
hiddifypanel/panel/commercial/restapi/v2/user/info_api.py,sha256=Ou-3TjwLqYYECIttjSU9rpjmfjDFbgHj2_gGnwmHj5E,3918
|
166
166
|
hiddifypanel/panel/commercial/restapi/v2/user/mtproxies.py,sha256=wK6zMOw2OTVxeMkzZGVah34GYDMJa8Keq5z7jGKfFys,1676
|
167
167
|
hiddifypanel/panel/commercial/restapi/v2/user/short_api.py,sha256=rhsmDJSCiZOhX9jpJGcRS_zBVRqvjpjH3CaNaJ9gMiI,1137
|
168
168
|
hiddifypanel/panel/commercial/telegrambot/DefaultResponse.py,sha256=WgT8LuY_AsAK6QYIXWuBOmnRIDlg4rUPPokHWOrWzHQ,378
|
@@ -257,7 +257,7 @@ hiddifypanel/static/fonts/Vazir.ttf,sha256=Xpc1n9qGYzHwscPPkG4D5zR8asPnqtQsAP13v
|
|
257
257
|
hiddifypanel/static/fonts/Vazir.woff,sha256=zeOSomAuJf5MSPtfWMQlRm-bfvW6fe3TR6bKKm3wB1A,47972
|
258
258
|
hiddifypanel/static/fonts/Vazir.woff2,sha256=hiSb0YdZo_FDhmchu-X3E5e74hrd5t5TD9E9dc8SnnA,38004
|
259
259
|
hiddifypanel/static/images/WhiteLogo.png,sha256=ZvfzfBxOkmJDyaxgI8v49Hu49lFlyJe0CuHCpokiHgs,7570
|
260
|
-
hiddifypanel/static/images/favicon.ico,sha256=
|
260
|
+
hiddifypanel/static/images/favicon.ico,sha256=rqIPdpwfnqaLFqeSbP_EIiTGQwG96Wl02ghQq9JByF4,13438
|
261
261
|
hiddifypanel/static/images/hiddify-dark.png,sha256=YGz0d6SUh5NmWr45GRPqlGJSE-MiCxr6ZVhAU2JPaX4,111125
|
262
262
|
hiddifypanel/static/images/hiddify-old.png,sha256=Lq-XqNRd5QQANwv4y7orXB3v5KERJpF8auNWB2do2CA,37408
|
263
263
|
hiddifypanel/static/images/hiddify.png,sha256=oagOQAV1sbhSirE62kzzinkGOlWh9wy6w5JLOebEamU,31712
|
@@ -815,29 +815,29 @@ hiddifypanel/templates/flaskadmin-layout.html,sha256=PkF74ld3HZ-j5_nVzVxmispnmmo
|
|
815
815
|
hiddifypanel/templates/github_issue_body.j2,sha256=6Z4QF-cOAaUxDtRQXT8H4O9SrZ3TGoxgpjnfIpGbsxo,474
|
816
816
|
hiddifypanel/templates/lte-master.html,sha256=jYhcNj8SuMOPT35OEG4e1sLWm03Vq53n4ynf3SdOWj4,1585
|
817
817
|
hiddifypanel/templates/macros.html,sha256=HlnXbIMN8i37fVusBdfw0QfVkImnFpZw9zbmtpAT4p8,4139
|
818
|
-
hiddifypanel/templates/master.html,sha256=
|
818
|
+
hiddifypanel/templates/master.html,sha256=MduWpnW-_ksXxPb1fSOYJC0SKEYnAJ8i4XwX7AUZj38,21865
|
819
819
|
hiddifypanel/templates/redirect.html,sha256=K9x_O4P96vEkqBhOXIhoGrWw1KIqd2bL0BjIqmnpZi0,412
|
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=XXvSV1DAuLDJnfz2ZcvY2fWIaj8voP7tkSr2cHUArlw,74266
|
824
824
|
hiddifypanel/translations/en/LC_MESSAGES/messages.po,sha256=htfXb1yD7U4vfsyeF9ECctKBrfJOwnaAfPp8cUiZvTE,77415
|
825
|
-
hiddifypanel/translations/fa/LC_MESSAGES/messages.mo,sha256=
|
825
|
+
hiddifypanel/translations/fa/LC_MESSAGES/messages.mo,sha256=f_1m-jxIAH5ZWhwOENl4uY32w4MgE5h46x-hv4pcpCQ,94799
|
826
826
|
hiddifypanel/translations/fa/LC_MESSAGES/messages.po,sha256=kfaTzdmS1eJCb0NjrHLfltd_y-FGXI2LCQxDEannE4E,99980
|
827
|
-
hiddifypanel/translations/pt/LC_MESSAGES/messages.mo,sha256=
|
827
|
+
hiddifypanel/translations/pt/LC_MESSAGES/messages.mo,sha256=xhkh2E_5aSh2VgTnunc7EMlEaubMSTr8gnraFybRp00,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=c6s4TDY5Xc2RZZRtRKwZCjDbVunfwMIO7BTGF524dsE,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=mu4Na-njeTRjjgA-SwzefngIPFzPMxoUy_NEGTnQMvY,60878
|
832
832
|
hiddifypanel/translations/zh/LC_MESSAGES/messages.po,sha256=f0fv1MW5_Okc5GixUoPv5BkV0XwM6wKrjK7khLeiv18,69040
|
833
833
|
hiddifypanel/translations.i18n/en.json,sha256=07z5rKyF0AADkYOPjJVAN9aFrbtj4V8ZAQM5wK4f4bc,67420
|
834
834
|
hiddifypanel/translations.i18n/fa.json,sha256=M5-D3rdRCbrWQqT3N4hw0OEmjfsBAIWOLeLmqSshyCw,89976
|
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.15.0.
|
839
|
-
hiddifypanel-10.15.0.
|
840
|
-
hiddifypanel-10.15.0.
|
841
|
-
hiddifypanel-10.15.0.
|
842
|
-
hiddifypanel-10.15.0.
|
843
|
-
hiddifypanel-10.15.0.
|
838
|
+
hiddifypanel-10.15.0.dev5.dist-info/LICENSE.md,sha256=oDrt-cUsyiDGnRPjEJh-3dH2ddAuK_bIVBD8ntkOtZw,19807
|
839
|
+
hiddifypanel-10.15.0.dev5.dist-info/METADATA,sha256=hM82DUn9eAqmoSiovDN_xM_lZj_PB7M9C8V9zWMgxU8,4013
|
840
|
+
hiddifypanel-10.15.0.dev5.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
841
|
+
hiddifypanel-10.15.0.dev5.dist-info/entry_points.txt,sha256=Xzpqlh3nwBtZhoV9AANJykano056VJvYzaujxPztJaM,60
|
842
|
+
hiddifypanel-10.15.0.dev5.dist-info/top_level.txt,sha256=rv-b3qFWUZQTBy0kyBfsr7L6tPpeO7AaQlLHXn-HI5M,13
|
843
|
+
hiddifypanel-10.15.0.dev5.dist-info/RECORD,,
|
File without changes
|
File without changes
|
{hiddifypanel-10.15.0.dev1.dist-info → hiddifypanel-10.15.0.dev5.dist-info}/entry_points.txt
RENAMED
File without changes
|
File without changes
|