hiddifypanel 10.80.0__py3-none-any.whl → 10.80.0.dev1__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/base.py +129 -43
- hiddifypanel/cache.py +1 -1
- hiddifypanel/database.py +0 -7
- hiddifypanel/hutils/flask.py +3 -3
- hiddifypanel/hutils/proxy/__init__.py +0 -1
- hiddifypanel/hutils/proxy/clash.py +2 -2
- hiddifypanel/hutils/proxy/shared.py +6 -6
- hiddifypanel/hutils/proxy/singbox.py +1 -1
- hiddifypanel/hutils/proxy/xray.py +2 -2
- hiddifypanel/hutils/proxy/xrayjson.py +7 -10
- hiddifypanel/models/config.py +1 -4
- hiddifypanel/models/config_enum.py +2 -2
- hiddifypanel/models/proxy.py +1 -1
- hiddifypanel/panel/__init__.py +8 -8
- hiddifypanel/panel/admin/AdminstratorAdmin.py +8 -7
- hiddifypanel/panel/admin/DomainAdmin.py +98 -132
- hiddifypanel/panel/admin/QuickSetup.py +8 -8
- hiddifypanel/panel/admin/UserAdmin.py +33 -58
- hiddifypanel/panel/admin/templates/index.html +4 -6
- hiddifypanel/panel/admin/templates/model/user_list.html +3 -11
- hiddifypanel/panel/cli.py +2 -11
- hiddifypanel/panel/commercial/restapi/v1/tgbot.py +1 -19
- hiddifypanel/panel/commercial/restapi/v2/admin/system_actions.py +1 -5
- hiddifypanel/panel/commercial/restapi/v2/admin/user_api.py +1 -2
- hiddifypanel/panel/common.py +1 -1
- hiddifypanel/panel/init_db.py +16 -19
- hiddifypanel/panel/usage.py +3 -13
- hiddifypanel/panel/user/user.py +18 -12
- hiddifypanel/templates/fake.html +320 -0
- hiddifypanel/translations/en/LC_MESSAGES/messages.mo +0 -0
- hiddifypanel/translations/en/LC_MESSAGES/messages.po +13 -82
- hiddifypanel/translations/fa/LC_MESSAGES/messages.mo +0 -0
- hiddifypanel/translations/fa/LC_MESSAGES/messages.po +12 -81
- hiddifypanel/translations/pt/LC_MESSAGES/messages.mo +0 -0
- hiddifypanel/translations/pt/LC_MESSAGES/messages.po +4 -73
- hiddifypanel/translations/ru/LC_MESSAGES/messages.mo +0 -0
- hiddifypanel/translations/ru/LC_MESSAGES/messages.po +9 -79
- hiddifypanel/translations/zh/LC_MESSAGES/messages.mo +0 -0
- hiddifypanel/translations/zh/LC_MESSAGES/messages.po +4 -73
- hiddifypanel/translations.i18n/en.json +7 -50
- hiddifypanel/translations.i18n/fa.json +6 -49
- hiddifypanel/translations.i18n/fr.json +2 -2
- hiddifypanel/translations.i18n/my.json +2 -2
- hiddifypanel/translations.i18n/pt.json +4 -47
- hiddifypanel/translations.i18n/ru.json +7 -50
- hiddifypanel/translations.i18n/zh.json +4 -47
- {hiddifypanel-10.80.0.dist-info → hiddifypanel-10.80.0.dev1.dist-info}/METADATA +6 -13
- {hiddifypanel-10.80.0.dist-info → hiddifypanel-10.80.0.dev1.dist-info}/RECORD +53 -69
- hiddifypanel/apps/__init__.py +0 -0
- hiddifypanel/apps/asgi_app.py +0 -7
- hiddifypanel/apps/celery_app.py +0 -3
- hiddifypanel/apps/wsgi_app.py +0 -5
- hiddifypanel/base_setup.py +0 -82
- hiddifypanel/celery.py +0 -45
- hiddifypanel/hutils/proxy/wireguard.py +0 -34
- hiddifypanel/panel/hlogger.py +0 -32
- hiddifypanel/panel/node/__init__.py +0 -9
- hiddifypanel/panel/node/a.py +0 -14
- hiddifypanel/panel/node/hello.py +0 -14
- hiddifypanel/panel/node/test.proto +0 -13
- hiddifypanel/panel/node/test_grpc.py +0 -40
- hiddifypanel/panel/node/test_pb2.py +0 -40
- hiddifypanel/panel/node/test_pb2.pyi +0 -17
- hiddifypanel/panel/node/test_pb2_grpc.py +0 -97
- {hiddifypanel-10.80.0.dist-info → hiddifypanel-10.80.0.dev1.dist-info}/LICENSE.md +0 -0
- {hiddifypanel-10.80.0.dist-info → hiddifypanel-10.80.0.dev1.dist-info}/WHEEL +0 -0
- {hiddifypanel-10.80.0.dist-info → hiddifypanel-10.80.0.dev1.dist-info}/entry_points.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: hiddifypanel
|
3
|
-
Version: 10.80.0
|
3
|
+
Version: 10.80.0.dev1
|
4
4
|
Summary: hiddifypanel multi proxy panel
|
5
5
|
Home-page: https://hiddify.com
|
6
6
|
License: LICENSE.md
|
@@ -14,18 +14,15 @@ Classifier: Programming Language :: Python :: 3.11
|
|
14
14
|
Classifier: Programming Language :: Python :: 3.12
|
15
15
|
Classifier: Programming Language :: Python :: 3.13
|
16
16
|
Requires-Dist: ansi2html (==1.9.2)
|
17
|
-
Requires-Dist: apiflask
|
18
|
-
Requires-Dist: asgiref (>=3.8.1,<4.0.0)
|
17
|
+
Requires-Dist: apiflask (==2.2.1)
|
19
18
|
Requires-Dist: babel (==2.16.0)
|
20
19
|
Requires-Dist: bjoern (==3.2.2)
|
21
20
|
Requires-Dist: bleach (==6.2.0)
|
22
21
|
Requires-Dist: bootstrap-flask (==2.4.1)
|
23
22
|
Requires-Dist: cachecontrol[filecache] (<0.15.0)
|
24
|
-
Requires-Dist: celery (>=5.4.0,<6.0.0)
|
25
23
|
Requires-Dist: click (==8.1.7)
|
26
24
|
Requires-Dist: cloudflare (==3.1.0)
|
27
25
|
Requires-Dist: cryptography (<42)
|
28
|
-
Requires-Dist: dynaconf (>=3.2.6,<4.0.0)
|
29
26
|
Requires-Dist: fastenumplus (==1.4.0)
|
30
27
|
Requires-Dist: flask (==3.0.3)
|
31
28
|
Requires-Dist: flask-admin (==1.6.1)
|
@@ -38,16 +35,13 @@ Requires-Dist: flask-restful (==0.3.10)
|
|
38
35
|
Requires-Dist: flask-session (==0.8.0)
|
39
36
|
Requires-Dist: flask-sqlalchemy (==3.1.1)
|
40
37
|
Requires-Dist: flask-wtf (==1.2.2)
|
41
|
-
Requires-Dist: json5 (>=0.9.28,<0.10.0)
|
42
38
|
Requires-Dist: loguru (==0.7.2)
|
43
39
|
Requires-Dist: markupsafe (==3.0.2)
|
44
40
|
Requires-Dist: maxminddb (==2.6.2)
|
45
41
|
Requires-Dist: mysqlclient (==2.2.5)
|
46
42
|
Requires-Dist: netifaces (==0.11.0)
|
47
43
|
Requires-Dist: ping3 (==4.0.8)
|
48
|
-
Requires-Dist: protobuf (>=5.26.1,<6.0.0)
|
49
44
|
Requires-Dist: psutil (==6.1.0)
|
50
|
-
Requires-Dist: pydantic (==2.9.2)
|
51
45
|
Requires-Dist: pymysql (==1.1.1)
|
52
46
|
Requires-Dist: pytelegrambotapi (==4.23.0)
|
53
47
|
Requires-Dist: python-dateutil (==2.9.0.post0)
|
@@ -57,15 +51,14 @@ Requires-Dist: python-slugify (==8.0.4)
|
|
57
51
|
Requires-Dist: pyyaml (==6.0.2)
|
58
52
|
Requires-Dist: redis (==5.2.0)
|
59
53
|
Requires-Dist: requests (==2.32.3)
|
60
|
-
Requires-Dist:
|
61
|
-
Requires-Dist: sqlalchemy-serializer (
|
54
|
+
Requires-Dist: sqlalchemy (==2.0.29)
|
55
|
+
Requires-Dist: sqlalchemy-serializer (==1.4.22)
|
62
56
|
Requires-Dist: sqlalchemy-utils (==0.41.2)
|
63
|
-
Requires-Dist: sqlalchemy[asyncio] (>=2.0.29,<3.0.0)
|
64
57
|
Requires-Dist: strenum (==0.4.15)
|
65
58
|
Requires-Dist: user-agents (==2.2.0)
|
66
|
-
Requires-Dist: werkzeug (==3.
|
59
|
+
Requires-Dist: werkzeug (==3.1.2)
|
67
60
|
Requires-Dist: wtforms (==3.1.2)
|
68
|
-
Requires-Dist: xtlsapi (==3.
|
61
|
+
Requires-Dist: xtlsapi (==3.1.2)
|
69
62
|
Project-URL: Documentation, https://hiddify.com/manager
|
70
63
|
Project-URL: Repository, https://github.com/hiddify/hiddify-manager/
|
71
64
|
Description-Content-Type: text/markdown
|
@@ -1,18 +1,12 @@
|
|
1
1
|
hiddifypanel/Events.py,sha256=AlnRdjVul0jP-NCT4-zoaQgowoOo-JhdQB4ytetAFKA,723
|
2
|
-
hiddifypanel/VERSION,sha256=
|
3
|
-
hiddifypanel/VERSION.py,sha256=
|
2
|
+
hiddifypanel/VERSION,sha256=t_MxRuDNZppSCbNeueGq4lwfeBufx4hc4Ior5kDnkuw,13
|
3
|
+
hiddifypanel/VERSION.py,sha256=G2z6CI5cYO9YWFcm6sWSeB9-hzGeUnPQnscgqATc5iA,227
|
4
4
|
hiddifypanel/__init__.py,sha256=kigwDO8d9jXyPZLvJAWd6zo-GX3pG_xWf-q2aStz80Y,377
|
5
5
|
hiddifypanel/__main__.py,sha256=IVchnXpK6bm8T3N--mN17HBQNLMeLAjyP7iwzULexB4,218
|
6
|
-
hiddifypanel/apps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
7
|
-
hiddifypanel/apps/asgi_app.py,sha256=6noDHvMGk3yNCLXOLD8L0VIR727pzsl5B3KmsDODux0,178
|
8
|
-
hiddifypanel/apps/celery_app.py,sha256=OlyAUzOOdTNLtNOT_V9hZgCCnTdFOppQaF6lqW58k7g,79
|
9
|
-
hiddifypanel/apps/wsgi_app.py,sha256=tARdZInbeVuqEcZisCfdJb0K-sfT9MAXEffbVrYOezw,116
|
10
6
|
hiddifypanel/auth.py,sha256=LJmH4ROqZv5ej_4m1b0xvbEw2meJTzDR1mFCDm523kE,8041
|
11
|
-
hiddifypanel/base.py,sha256=
|
12
|
-
hiddifypanel/
|
13
|
-
hiddifypanel/
|
14
|
-
hiddifypanel/celery.py,sha256=9pmNtaxbPBmx3ZZbGq0e5K311VWscV_ULSJ4ArHYp0c,1383
|
15
|
-
hiddifypanel/database.py,sha256=vAKm1TTqdZSuuysfZz2xfvUCZtKhV5j5BL1MHPRI164,830
|
7
|
+
hiddifypanel/base.py,sha256=3SGGggE6CrCrltLxsaPm66ep1MAQfzn1pTchX7yc7-4,6151
|
8
|
+
hiddifypanel/cache.py,sha256=q5X9Wob1RXFji_ce38LAb0MD3BCH3OSz1sMNP5BYYJQ,1490
|
9
|
+
hiddifypanel/database.py,sha256=14sfbGEG-NCqkfUtyLvcO2JbkQ3-Fzs-MezPNkNbvgk,717
|
16
10
|
hiddifypanel/drivers/abstract_driver.py,sha256=HpWkgbWVWF8n3WhDe0BlxsIF1WTWO57AQEAEb2ZVCPM,223
|
17
11
|
hiddifypanel/drivers/singbox_api.py,sha256=5HtKdV_k4PbvtcS6OynLfYATS23ka1pdavB1vBaQrao,2305
|
18
12
|
hiddifypanel/drivers/ssh_liberty_bridge_api.py,sha256=J6NvRW3GQbIc2PH3aVZr73YnTGECnWE9M9iFUhVrM20,2242
|
@@ -24,7 +18,7 @@ hiddifypanel/hutils/auth.py,sha256=Ci3_lBfLXx1yi2M6HvYX3ceHYtOf-cfX092evcs8528,3
|
|
24
18
|
hiddifypanel/hutils/convert.py,sha256=mPEDzR64hKeQ4B_tZRk2Ci8-Ybod0bjX0BbxLHOmLZA,2075
|
25
19
|
hiddifypanel/hutils/crypto.py,sha256=mUnK6CF8--hnv4ROvRsykt01TckDB62ONyZU9GoTQS0,2562
|
26
20
|
hiddifypanel/hutils/encode.py,sha256=XUq7NSrV11WeVIZFyfik8sqI82R0lKRm5mqKrxNoLrQ,834
|
27
|
-
hiddifypanel/hutils/flask.py,sha256=
|
21
|
+
hiddifypanel/hutils/flask.py,sha256=49RkFykcpAqB8n92Lx0X-d9AoLG_j1XpxqQXB5ntOvQ,11926
|
28
22
|
hiddifypanel/hutils/github_issue.py,sha256=LSJCDVC_UEFDIXG4JdQReLDUnF_WmfhH7eFB-iZKwdg,6609
|
29
23
|
hiddifypanel/hutils/importer/__init__.py,sha256=kjl4ePaQodEXhliZmunCMQ-j7MsQbVYL_Zyd_35009A,18
|
30
24
|
hiddifypanel/hutils/importer/xui.py,sha256=TtmF4KJ263k3ByUvOeVKPlsGfj0tHLdlSdUQsLe8Fq4,5405
|
@@ -38,13 +32,12 @@ hiddifypanel/hutils/node/api_client.py,sha256=Gr2532czQEE3YBh3sbeK036QI5gXDigUFl
|
|
38
32
|
hiddifypanel/hutils/node/child.py,sha256=oAyKlEHHn9FHcpZ9jBi3nYH-GHs8H7Gi2hzkmtO5IA8,6714
|
39
33
|
hiddifypanel/hutils/node/parent.py,sha256=UbyfvfP4fTSn6HN9oZDjYsKYIejiqW6eApKIfP0Mz5U,3749
|
40
34
|
hiddifypanel/hutils/node/shared.py,sha256=FDSj3e-i3pb3mEv5vcUeX0Km1nxYg1CeAruIq7RwFmU,2540
|
41
|
-
hiddifypanel/hutils/proxy/__init__.py,sha256=
|
42
|
-
hiddifypanel/hutils/proxy/clash.py,sha256=
|
43
|
-
hiddifypanel/hutils/proxy/shared.py,sha256=
|
44
|
-
hiddifypanel/hutils/proxy/singbox.py,sha256=
|
45
|
-
hiddifypanel/hutils/proxy/
|
46
|
-
hiddifypanel/hutils/proxy/
|
47
|
-
hiddifypanel/hutils/proxy/xrayjson.py,sha256=g3i97P4TUNLzPx6nthn_Yr3_DmKV-mLTjpTeUseM6vM,15062
|
35
|
+
hiddifypanel/hutils/proxy/__init__.py,sha256=xXBa83kjYT_b-BNseEykfQYyJBQHTq1ZosfR8ZrQHkI,106
|
36
|
+
hiddifypanel/hutils/proxy/clash.py,sha256=7Qs2b9KCV3uzku_QWAgKNDGwW1k5bRyKVutYO1NBhfA,7073
|
37
|
+
hiddifypanel/hutils/proxy/shared.py,sha256=C9DSa1LxeEP8jB5pP-p8OyPU4-QiD7guPwqSxSX7dbM,22227
|
38
|
+
hiddifypanel/hutils/proxy/singbox.py,sha256=B-MXmd4dGMkD_hbr1cE01N1MgP7khD4suq1SPntBkZ0,11726
|
39
|
+
hiddifypanel/hutils/proxy/xray.py,sha256=MYcS-kxh3P5soG3G90FeVxrSvfQVDfgB4_7UWQQ14gM,10816
|
40
|
+
hiddifypanel/hutils/proxy/xrayjson.py,sha256=kdM1tEH1fGEVW0wk6EquPSL_5kBmbkqiYOBvQeoWnwU,15006
|
48
41
|
hiddifypanel/hutils/random.py,sha256=KrsarmRNL05PYzwMxDaDyv-_QcKS0YsZR2z7BnllAqI,1789
|
49
42
|
hiddifypanel/hutils/system.py,sha256=nX7ZvmXKfHu6_cFVOGZRG-7ch2glqgzQL2iWraQc4S0,4350
|
50
43
|
hiddifypanel/hutils/utils.py,sha256=qOvyBFQxBFAV9HYtZn8XVgIauNbVIE2A6WGSpf-NyQM,2349
|
@@ -52,28 +45,28 @@ hiddifypanel/models/__init__.py,sha256=PngFjQL9WvQP4EioNHRz1tTeyIgLoNvZ7WpmAhwKH
|
|
52
45
|
hiddifypanel/models/admin.py,sha256=Ocvb9x1LG2rG36euoSoVvxUXf1LPBLieEPTghcXjOBk,7598
|
53
46
|
hiddifypanel/models/base_account.py,sha256=RkdGy6KmbX1E-VDNtVNE2RYxhvPuWg18Grm5H9Dv1-k,3561
|
54
47
|
hiddifypanel/models/child.py,sha256=ZFJaH-GWTKAGD0BGMH0iKEMipi37_cAk59OeJKt2IKA,3039
|
55
|
-
hiddifypanel/models/config.py,sha256=
|
56
|
-
hiddifypanel/models/config_enum.py,sha256=
|
48
|
+
hiddifypanel/models/config.py,sha256=goWQugd1yelIP3z1nkTkh4Uvh4Ak1rEXS33Ru_kTpsg,6373
|
49
|
+
hiddifypanel/models/config_enum.py,sha256=tE22TGm0alr8QZQi6EDXrzCDeBBSgrVXl3y_F9kMzEE,16713
|
57
50
|
hiddifypanel/models/domain.py,sha256=0tAPHR6XukN35CoyOxR3zXDNjXR-w_Ezd89jxk2H-xc,8308
|
58
51
|
hiddifypanel/models/parent_domain.py,sha256=bs5F1neOAQu9XHEk3QQTBM4p2iuebM4cnAQqwfNjCtg,2291
|
59
|
-
hiddifypanel/models/proxy.py,sha256=
|
52
|
+
hiddifypanel/models/proxy.py,sha256=czKeDz_MVUSHuX2Lf9H2Ys_kgkggtzEiUx3HZPjJCXQ,3327
|
60
53
|
hiddifypanel/models/report.py,sha256=33h9k12SAEWkwZsc3-jUdIIpFL66cEOTHQqVXd07NWY,1001
|
61
54
|
hiddifypanel/models/role.py,sha256=V93_AhOcgbIiAaRYUaNIWKsKZ704ANl0hq-uAJFQCUo,269
|
62
55
|
hiddifypanel/models/usage.py,sha256=BCZtYhmgru-bF8O2dGwJgcN7qtZ29a3arQEK9EVPdtE,4362
|
63
56
|
hiddifypanel/models/user.py,sha256=GXVcxP1kgAIqb0OLC_6vhu4kKMTkS5OBT7oPrfD59hg,14802
|
64
|
-
hiddifypanel/panel/__init__.py,sha256=
|
57
|
+
hiddifypanel/panel/__init__.py,sha256=YDC8OatzZ2PoGrOARauce7OimcFsbTEvIq8AcNl1_-s,180
|
65
58
|
hiddifypanel/panel/admin/Actions.py,sha256=o_ENbphriVrbRJkx9nvrkpaliuMIfp34sscMkZJ3P5s,8578
|
66
|
-
hiddifypanel/panel/admin/AdminstratorAdmin.py,sha256=
|
59
|
+
hiddifypanel/panel/admin/AdminstratorAdmin.py,sha256=n2Ma-bWmSKy004u_Fkz4TMsHQ-7y_6HPDAsRtolKp_0,10457
|
67
60
|
hiddifypanel/panel/admin/Backup.py,sha256=BKSoAZgw1j16P1Jh9vMqGj7ZfB2m-WafDK0C5vil5FY,3634
|
68
61
|
hiddifypanel/panel/admin/ConfigAdmin.py,sha256=0hnLY-8BxrpVnrAcQaedWjHnRUq1X_Styi_ZCZ2ivds,2876
|
69
62
|
hiddifypanel/panel/admin/Dashboard.py,sha256=JOqZLHxPOYKQYQVJ7AtHAkilH-anJZQyK1rQrgCJUeA,3798
|
70
|
-
hiddifypanel/panel/admin/DomainAdmin.py,sha256=
|
63
|
+
hiddifypanel/panel/admin/DomainAdmin.py,sha256=0g9AEk_YVCEZZMscgVDLsqQAAk0QBMW1h6Tt2kW2yS4,15829
|
71
64
|
hiddifypanel/panel/admin/NodeAdmin.py,sha256=QAHQjF7e7F4KqsWNWpMt7SoLANlFEborVtWQV9OXJ2E,3102
|
72
65
|
hiddifypanel/panel/admin/ProxyAdmin.py,sha256=HtuYHkZ8LCrYtjF2xO2i7lyw_KtOTBYCPu0bNWR4fOs,5364
|
73
|
-
hiddifypanel/panel/admin/QuickSetup.py,sha256=
|
66
|
+
hiddifypanel/panel/admin/QuickSetup.py,sha256=o9-zgVuyySlHFDKR4r3BBuuGbTVfnjcsmC0BjPBuQ78,12661
|
74
67
|
hiddifypanel/panel/admin/SettingAdmin.py,sha256=SCzhsZh9QrmYNPPhutQfMRuB_q6RNCXv9hy-uLjlrd0,19893
|
75
68
|
hiddifypanel/panel/admin/Terminal.py,sha256=rzZWRjMhjVnAvC65rfE3HJT3boUDznI6fl-htzKp7sI,1712
|
76
|
-
hiddifypanel/panel/admin/UserAdmin.py,sha256=
|
69
|
+
hiddifypanel/panel/admin/UserAdmin.py,sha256=4soRZqc75b92P2Q4YHVgtXkgDKa2yO4R8vrTq3MOwmY,18175
|
77
70
|
hiddifypanel/panel/admin/__init__.py,sha256=hb0A2HuK_nBZRCNPumwahXX-25FMxODKYlNbk2ItF08,3015
|
78
71
|
hiddifypanel/panel/admin/adminlte.py,sha256=TrUUu6WYUM-rpgvW2C2KBq3bXkvKe3Pa3cEPjpWCJuk,758
|
79
72
|
hiddifypanel/panel/admin/commercial_info.py,sha256=_fBJcR6zTlMs5Wx4NQJYxq5LvMHY8qfoh73-eCNJyb8,278
|
@@ -110,12 +103,12 @@ hiddifypanel/panel/admin/templates/fake_for_translation/Flask-AdminLTE3/template
|
|
110
103
|
hiddifypanel/panel/admin/templates/fake_for_translation/Flask-AdminLTE3/templates/flask-admin/rediscli/console.html,sha256=m0lQD8cwGUMfzRjiPeGFlV3cdKqtArxhSzPXOBd7myM,909
|
111
104
|
hiddifypanel/panel/admin/templates/fake_for_translation/Flask-AdminLTE3/templates/flask-admin/rediscli/response.html,sha256=FekGe9v4RIMoGZlnk9TwqOFjSUVaRweLeZf-oFCVOck,965
|
112
105
|
hiddifypanel/panel/admin/templates/fake_for_translation/Flask-AdminLTE3/templates/flask-admin/static.html,sha256=S-_WCUQPTU4zWO7C2fJ8uxf47Q7QroSrKkIHstBDfTU,94
|
113
|
-
hiddifypanel/panel/admin/templates/index.html,sha256=
|
106
|
+
hiddifypanel/panel/admin/templates/index.html,sha256=4QPq8ATHmzaEpMjLkxCRpTTaZZ1XN4Z1ve87ODQCgl4,13811
|
114
107
|
hiddifypanel/panel/admin/templates/ltemaster.html,sha256=KE_HsUOIR__BG1fW8DZ05rhgckQ8ls0a-ho6dWtmuX4,1080
|
115
108
|
hiddifypanel/panel/admin/templates/model/admin_list.html,sha256=lpjiAl7kR5xb0fLpI5-kmf9uA6CVSAFuNE-2WZ152yQ,690
|
116
109
|
hiddifypanel/panel/admin/templates/model/domain_list.html,sha256=gl-LnCQCPve5OHH0ber0bwV9vAguZB_PXv0qgpx0qaE,288
|
117
110
|
hiddifypanel/panel/admin/templates/model/proxydetail_list.html,sha256=5VVFPZkcGhfKVq842CWggv1Wte6CQodrbGxO4AJ9Bo0,206
|
118
|
-
hiddifypanel/panel/admin/templates/model/user_list.html,sha256=
|
111
|
+
hiddifypanel/panel/admin/templates/model/user_list.html,sha256=TNmANkDiQWDrwXPoD_u-Oo9sswg9XlWUOJcdFfTkd1o,5790
|
119
112
|
hiddifypanel/panel/admin/templates/parent_dash.html,sha256=kAVBwv287oaQFfNmvTxBqgaZOaAf1Nz6jPXfEZMfTXQ,1814
|
120
113
|
hiddifypanel/panel/admin/templates/proxy.html,sha256=Q-Flp_O1LuuJnwWbodte2yr96MGzDoqgU50kB4dcsf0,1777
|
121
114
|
hiddifypanel/panel/admin/templates/quick_setup.html,sha256=tYZnRBH682eThl6lQcnLNKIdCQDTWRZWccIZSiNxSlA,2101
|
@@ -127,14 +120,14 @@ hiddifypanel/panel/admin_2.py,sha256=23fKDbYlME0hNUALU76JZZbL9L4lWrHtFZ1IO6h_Zjo
|
|
127
120
|
hiddifypanel/panel/asset.py,sha256=sp3NJVsTYycVgM2NbXX_KnOENGDmRB72CRKZwhd7f-4,500
|
128
121
|
hiddifypanel/panel/auth_back.py,sha256=ft2YlK1Ke87fvKTpGLIHnLVpnBRn1Stlc_-6aEzudvk,3964
|
129
122
|
hiddifypanel/panel/auth_back2.py,sha256=8-MkPi4WAxO7gAeChQ7ceCx0QhuEQlrYazZ9qDnm_Mc,8983
|
130
|
-
hiddifypanel/panel/cli.py,sha256=
|
123
|
+
hiddifypanel/panel/cli.py,sha256=IBccBWYr6bt4eU0CZNZySCkTzwwhalVXOqLVgzlGvlk,8711
|
131
124
|
hiddifypanel/panel/commercial/ParentDomainAdmin.py,sha256=fg5jQQsFXfbFRdfwKiqK3FyFmDitkb1JhZRhIzX6MNI,4756
|
132
125
|
hiddifypanel/panel/commercial/ProxyDetailsAdmin.py,sha256=lRYsR-oLd45DO0sH3_Ar6i3EZVG7WwoWE6YLdKjb19c,3258
|
133
126
|
hiddifypanel/panel/commercial/__init__.py,sha256=oanPV36n6MXiVhiq_NYL6K9ENhQXZGQM5r4c9oPO0CQ,2322
|
134
127
|
hiddifypanel/panel/commercial/restapi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
135
128
|
hiddifypanel/panel/commercial/restapi/v1/__init__.py,sha256=p7KxjATIX71uT1JQJrg9LKn5RgYJS2k6urX4MlOCb7E,1229
|
136
129
|
hiddifypanel/panel/commercial/restapi/v1/resources.py,sha256=D7HTLAW-KA_Ikm9VArN2FSARfyCPKHxr3WEs_y4_HTM,4691
|
137
|
-
hiddifypanel/panel/commercial/restapi/v1/tgbot.py,sha256=
|
130
|
+
hiddifypanel/panel/commercial/restapi/v1/tgbot.py,sha256=uRPGg96A3rUDaIrB3sQuSSIY66DYZnPkTuCQfXyITqk,2370
|
138
131
|
hiddifypanel/panel/commercial/restapi/v1/tgmsg.py,sha256=bUERY88cNvcDQ-SxoL4oNn6fiIKj8souyS1kSYnQmuU,3033
|
139
132
|
hiddifypanel/panel/commercial/restapi/v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
140
133
|
hiddifypanel/panel/commercial/restapi/v2/admin/__init__.py,sha256=Q0nvBCzTIHb0BNTBUjbVN2_j4e6MJhDWHE6_RNBleso,1871
|
@@ -144,8 +137,8 @@ hiddifypanel/panel/commercial/restapi/v2/admin/admin_user_api.py,sha256=04v98Wme
|
|
144
137
|
hiddifypanel/panel/commercial/restapi/v2/admin/admin_users_api.py,sha256=aPk7LaOWG2rPo2RT-8xuBnEr6ECpdnAgEJElA56FnLo,1200
|
145
138
|
hiddifypanel/panel/commercial/restapi/v2/admin/schema.py,sha256=x5lIjbda8FuhEqcv6H3eTXWUf3Q954Wgyci6MJTOS2c,6912
|
146
139
|
hiddifypanel/panel/commercial/restapi/v2/admin/server_status_api.py,sha256=hNAqC7LvrStkkhYdjo08VcUgm8NBvGkRHT5nQDp5gO8,1148
|
147
|
-
hiddifypanel/panel/commercial/restapi/v2/admin/system_actions.py,sha256=
|
148
|
-
hiddifypanel/panel/commercial/restapi/v2/admin/user_api.py,sha256=
|
140
|
+
hiddifypanel/panel/commercial/restapi/v2/admin/system_actions.py,sha256=2qMJwxapjb0Q4UXIEZXYHF2Q9K24qRV9rOqgGXH9mIo,841
|
141
|
+
hiddifypanel/panel/commercial/restapi/v2/admin/user_api.py,sha256=S25Q01CTFwjvDPjdnkgAro3DdbuOXS1GOxUf1SvUbQs,2347
|
149
142
|
hiddifypanel/panel/commercial/restapi/v2/admin/users_api.py,sha256=bhQFtwkx1IU9va1Dowl59oDuDdgYy3tKyJovnAsRbJU,1389
|
150
143
|
hiddifypanel/panel/commercial/restapi/v2/child/__init__.py,sha256=etsiHNqbnAbElBWJRWmKm9JiOVtFqaMP2_H3-fK-4dM,862
|
151
144
|
hiddifypanel/panel/commercial/restapi/v2/child/actions.py,sha256=W6v9gaM8BYwVecJbRnknSM_umy_DCp9W3a38uvX1d1w,2014
|
@@ -175,24 +168,15 @@ hiddifypanel/panel/commercial/telegrambot/admin.py,sha256=32nDhJfR-CgvGarEOSI0Np
|
|
175
168
|
hiddifypanel/panel/commercial/telegrambot/information.py,sha256=EZojYFzBZr03kUYL38rqbDABhtuP_3GPdTD1cgFr2LQ,3449
|
176
169
|
hiddifypanel/panel/commercial/templates/configc.html,sha256=zUcjzAgYfEd_wsZm8ZXUSNzNteh7sV8b5r4jUV0zCbQ,1569
|
177
170
|
hiddifypanel/panel/commercial/templates/parent_dash.html,sha256=TpoEcEN8qHSDdT9pVxrB2wBKVbEIK9EsldLcH_lQLrc,2007
|
178
|
-
hiddifypanel/panel/common.py,sha256=
|
171
|
+
hiddifypanel/panel/common.py,sha256=j4U1FtvWNhdrRHhUypmpUQpSIP_MZsYPK3kumPnpbyA,7832
|
179
172
|
hiddifypanel/panel/common_bp/__init__.py,sha256=yskFFbWMJzmlMeT_rV1Dio4l1kcPMQr5K7SeDiyri9w,379
|
180
173
|
hiddifypanel/panel/common_bp/login.py,sha256=afYntJBqiVeQjYCzXCYGImJ780ASGOztkfuRgk1i_6s,6652
|
181
174
|
hiddifypanel/panel/common_bp/templates/login.html,sha256=jDl9-Nh2qMuCsLQmXm7e5jvSaRAlBxReVVCbNSTTHJw,1312
|
182
175
|
hiddifypanel/panel/custom_widgets.py,sha256=_zA0WZRZOCyh6Z1gW62aRQLMAOM_m85B2oZoIOU59Ys,2637
|
183
176
|
hiddifypanel/panel/hiddify.py,sha256=-GBmkEXnGsIhZtjRomYJsqmnEToZwSXzd8ltS6Slgrc,15615
|
184
|
-
hiddifypanel/panel/
|
185
|
-
hiddifypanel/panel/init_db.py,sha256=fgKZ27xFb1p1m3vqph3EUv6Gh7_fqFCaTmbWFNWAJY0,37305
|
186
|
-
hiddifypanel/panel/node/__init__.py,sha256=gGwtD5XczIpB1OP7Fb3JLxb8kGxn5zNgeHQ-MgGg01g,189
|
187
|
-
hiddifypanel/panel/node/a.py,sha256=KTzfA-RYRGNGtjFlXcYgH7N1gJRqrdneksXr0XmivvU,330
|
188
|
-
hiddifypanel/panel/node/hello.py,sha256=P6htWmqwk7uixDrl0bSgRocV_zlatSBNAx_RnivN0aQ,519
|
189
|
-
hiddifypanel/panel/node/test.proto,sha256=m-ziP3e7uL6u3N7SGwYX5YTBNHlUmFjGDOGBMr421QQ,187
|
190
|
-
hiddifypanel/panel/node/test_grpc.py,sha256=k4l904FBtfj21sKB5yRK0PbhpmBTeTwUh6pbedl14X8,1237
|
191
|
-
hiddifypanel/panel/node/test_pb2.py,sha256=Fxcu3REroklfdn37zX6V-4T0tTLA9pXxSv1n7_JJYNY,1645
|
192
|
-
hiddifypanel/panel/node/test_pb2.pyi,sha256=sI0yOrvFXBmBz_f3d2-7LxMlAa1yfqng7THCmCVO604,561
|
193
|
-
hiddifypanel/panel/node/test_pb2_grpc.py,sha256=zYjrhrXsAYBv_sgT45HDvNd_8W8fVSQngU7JB_rbz00,3538
|
177
|
+
hiddifypanel/panel/init_db.py,sha256=w3iV9xVU-VfHSad9KnppvwwFKMoS1bUske_PTm3EfEA,37098
|
194
178
|
hiddifypanel/panel/run_commander.py,sha256=D9y-My0xSe2adHWXKV5UPYGl-9WwKURzniq55MRu6tE,3259
|
195
|
-
hiddifypanel/panel/usage.py,sha256=
|
179
|
+
hiddifypanel/panel/usage.py,sha256=Nx69zUXhi2OveWIa_oRJXmuafgfI0u3E_A1ODcJDKuY,7168
|
196
180
|
hiddifypanel/panel/user/__init__.py,sha256=E9RxA2YGc0eXLGjfJbyryeLG3bXEWJ3DoVOyIpVaDIo,1859
|
197
181
|
hiddifypanel/panel/user/link_maker.html,sha256=g420NAm_fUI8asYjyfCiXyUOIwEQfDPonZA9xh3p0-8,177
|
198
182
|
hiddifypanel/panel/user/templates/all_configs copy.txt,sha256=u5jhAgjhH07_0csdIisuXy2HNCC9SWlP0whBAGFXA78,564
|
@@ -226,7 +210,7 @@ hiddifypanel/panel/user/templates/home/windows.html,sha256=MbOTheea2aRRh6mwoAXCu
|
|
226
210
|
hiddifypanel/panel/user/templates/new.html,sha256=or4miAM0izxSB1KyyRDcXuaK68aKnxV7sjWhH921PYQ,1300
|
227
211
|
hiddifypanel/panel/user/templates/redirect_to_new_format.html,sha256=vIS0BdUzpmAiD2c2EBdGON2bCM8equvG_DO39ugXgAM,597
|
228
212
|
hiddifypanel/panel/user/templates/singbox_config.json,sha256=X6hBbJ4DOoNesSOIxwRwZHJW2GwFR19Q8RS81d17idI,5746
|
229
|
-
hiddifypanel/panel/user/user.py,sha256=
|
213
|
+
hiddifypanel/panel/user/user.py,sha256=Oe_6L6SPijn8MK_oW68aaZgfYVdJDPyzbDIW8559Aj8,16727
|
230
214
|
hiddifypanel/static/a.txt,sha256=zhVsuRCoCxgmASQJL80X4VLr7Xy_T-PXs50mVre0IKk,1542
|
231
215
|
hiddifypanel/static/apps-icon/foxray.ico,sha256=EoudrtNVW9S18kbzNPYFc5iF3bLh3MZWivGeAV7ts9I,8243
|
232
216
|
hiddifypanel/static/apps-icon/hiddify_android.ico,sha256=eco2sCrLUMM9vDJNNsH7VIFbvsAJayCNcO0y6S82uIE,34179
|
@@ -829,7 +813,7 @@ hiddifypanel/templates/admin-layout.html,sha256=OzEUQ4gxx_pdF2-dPbm-pincmakcEGfi
|
|
829
813
|
hiddifypanel/templates/admin.ht.old,sha256=e9FBo9YPi7zFVidg8jS6JhOOsYdBbNPxfpTWG1dbIeg,8384
|
830
814
|
hiddifypanel/templates/donation.html,sha256=Oft3WENpSnwpbDgMw3MnhQIlQhuN_TDKm54qd4_FwIk,741
|
831
815
|
hiddifypanel/templates/error.html,sha256=Tnu3mMZ6zvFcATU6_OY1stljVPd9Djnxm3LV7Zx4zck,476
|
832
|
-
hiddifypanel/templates/fake.html,sha256=
|
816
|
+
hiddifypanel/templates/fake.html,sha256=XdGFRlRuCxeHuKY791eYUGeeASvArpzfB8uExr4dCUA,13107
|
833
817
|
hiddifypanel/templates/flaskadmin-layout.html,sha256=PkF74ld3HZ-j5_nVzVxmispnmmo3ni4WII7OXnN9VOs,7612
|
834
818
|
hiddifypanel/templates/github_issue_body.j2,sha256=6Z4QF-cOAaUxDtRQXT8H4O9SrZ3TGoxgpjnfIpGbsxo,474
|
835
819
|
hiddifypanel/templates/hiddify-flask-admin/actions.html,sha256=2NeITe2e-lPKCk_o511tCIqVtrPu8LYHE1wTCtrFUrI,1331
|
@@ -839,25 +823,25 @@ hiddifypanel/templates/macros.html,sha256=HlnXbIMN8i37fVusBdfw0QfVkImnFpZw9zbmtp
|
|
839
823
|
hiddifypanel/templates/master.html,sha256=MduWpnW-_ksXxPb1fSOYJC0SKEYnAJ8i4XwX7AUZj38,21865
|
840
824
|
hiddifypanel/templates/redirect.html,sha256=K9x_O4P96vEkqBhOXIhoGrWw1KIqd2bL0BjIqmnpZi0,412
|
841
825
|
hiddifypanel/templates/static.html,sha256=jp6q4wtx-k2A_cjqJoNiMS7Ee30arE45qI3ev4d5ky4,165
|
842
|
-
hiddifypanel/translations/en/LC_MESSAGES/messages.mo,sha256=
|
843
|
-
hiddifypanel/translations/en/LC_MESSAGES/messages.po,sha256=
|
844
|
-
hiddifypanel/translations/fa/LC_MESSAGES/messages.mo,sha256=
|
845
|
-
hiddifypanel/translations/fa/LC_MESSAGES/messages.po,sha256=
|
846
|
-
hiddifypanel/translations/pt/LC_MESSAGES/messages.mo,sha256=
|
847
|
-
hiddifypanel/translations/pt/LC_MESSAGES/messages.po,sha256=
|
848
|
-
hiddifypanel/translations/ru/LC_MESSAGES/messages.mo,sha256=
|
849
|
-
hiddifypanel/translations/ru/LC_MESSAGES/messages.po,sha256=
|
850
|
-
hiddifypanel/translations/zh/LC_MESSAGES/messages.mo,sha256=
|
851
|
-
hiddifypanel/translations/zh/LC_MESSAGES/messages.po,sha256=
|
852
|
-
hiddifypanel/translations.i18n/en.json,sha256=
|
853
|
-
hiddifypanel/translations.i18n/fa.json,sha256=
|
854
|
-
hiddifypanel/translations.i18n/fr.json,sha256=
|
855
|
-
hiddifypanel/translations.i18n/my.json,sha256=
|
856
|
-
hiddifypanel/translations.i18n/pt.json,sha256=
|
857
|
-
hiddifypanel/translations.i18n/ru.json,sha256=
|
858
|
-
hiddifypanel/translations.i18n/zh.json,sha256=
|
859
|
-
hiddifypanel-10.80.0.dist-info/LICENSE.md,sha256=oDrt-cUsyiDGnRPjEJh-3dH2ddAuK_bIVBD8ntkOtZw,19807
|
860
|
-
hiddifypanel-10.80.0.dist-info/METADATA,sha256=
|
861
|
-
hiddifypanel-10.80.0.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
862
|
-
hiddifypanel-10.80.0.dist-info/entry_points.txt,sha256=fiVgmdZ7nff9Ow1XnyMFrn1y4akk9gwnDkxpN8P3Xrw,59
|
863
|
-
hiddifypanel-10.80.0.dist-info/RECORD,,
|
826
|
+
hiddifypanel/translations/en/LC_MESSAGES/messages.mo,sha256=r-Ite70sxEqvE9G7YZIoQRB3UtWDy46KCnDl8vg8LAE,77445
|
827
|
+
hiddifypanel/translations/en/LC_MESSAGES/messages.po,sha256=sxouwAap1lh36MqOkE7piqvvwg72u2MA9RZzV2TZ7xU,80676
|
828
|
+
hiddifypanel/translations/fa/LC_MESSAGES/messages.mo,sha256=3SzIoED8I-eM2KaPaeNs3A28cZvdd1s9-SxwR-JLcfI,102655
|
829
|
+
hiddifypanel/translations/fa/LC_MESSAGES/messages.po,sha256=VKw9aEMGr8YM-8uTwSIuYNmr9yetgDDKezx_81pBa-k,105876
|
830
|
+
hiddifypanel/translations/pt/LC_MESSAGES/messages.mo,sha256=YsI3ivKF4-zd10amvzpA-j_4BmtTmFJKojv3mCxVZpc,80772
|
831
|
+
hiddifypanel/translations/pt/LC_MESSAGES/messages.po,sha256=UiRV4dz_s7bivunMc_tfAr6NwMflI6UY-8m2gS-8fDg,83802
|
832
|
+
hiddifypanel/translations/ru/LC_MESSAGES/messages.mo,sha256=D2JxShzmHk7VlbF4I1Rxpxr4HiT_FqCV1-omeJGMmsA,108439
|
833
|
+
hiddifypanel/translations/ru/LC_MESSAGES/messages.po,sha256=gKyQoixO-C8_5j6t0jRFFKXlSeAA4_tU3wWUJZc5X9Y,111668
|
834
|
+
hiddifypanel/translations/zh/LC_MESSAGES/messages.mo,sha256=evkfTt5g0017AMhSBJeMXPI7HObbpAeMcvtJcFswp7w,75271
|
835
|
+
hiddifypanel/translations/zh/LC_MESSAGES/messages.po,sha256=VNnWEh_31I-MrAjqodKYfw5uUZDiVFOxKo4kah73rGw,77912
|
836
|
+
hiddifypanel/translations.i18n/en.json,sha256=truheR7B2Ycw2S1t6MmXOH_pB5rGMEH63ZpV90FdzAM,70141
|
837
|
+
hiddifypanel/translations.i18n/fa.json,sha256=Gi_MsPWTJ3Z_RnrZhHy5VIhFgbd18eFtwj769_SuGHg,95341
|
838
|
+
hiddifypanel/translations.i18n/fr.json,sha256=WlSMqMD_xSrg0APYlWu9Jo5y4th_hKSMOUacDlPkFKI,80850
|
839
|
+
hiddifypanel/translations.i18n/my.json,sha256=Z_MIHqJU3eos9lZCr4UDrcAZkiimOp5qjle9Brz_BP0,136293
|
840
|
+
hiddifypanel/translations.i18n/pt.json,sha256=tcWUpbCrJHGE-AUl8qibiBOMeN-MLLIiqrWwTLikpx4,73381
|
841
|
+
hiddifypanel/translations.i18n/ru.json,sha256=BlP7A7L25Jj1_sJk2_PLk77Tdnq6hkNa7XeH8IZfAfI,101028
|
842
|
+
hiddifypanel/translations.i18n/zh.json,sha256=ZIRGKVVAONXfkSQv8hodpHIVDmM8zuz4MONix8ghd1Q,67914
|
843
|
+
hiddifypanel-10.80.0.dev1.dist-info/LICENSE.md,sha256=oDrt-cUsyiDGnRPjEJh-3dH2ddAuK_bIVBD8ntkOtZw,19807
|
844
|
+
hiddifypanel-10.80.0.dev1.dist-info/METADATA,sha256=m9as3RY8ErtNKoo95CH-LCVS9SxHBS8duu9PjH13uJI,3650
|
845
|
+
hiddifypanel-10.80.0.dev1.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
846
|
+
hiddifypanel-10.80.0.dev1.dist-info/entry_points.txt,sha256=fiVgmdZ7nff9Ow1XnyMFrn1y4akk9gwnDkxpN8P3Xrw,59
|
847
|
+
hiddifypanel-10.80.0.dev1.dist-info/RECORD,,
|
hiddifypanel/apps/__init__.py
DELETED
File without changes
|
hiddifypanel/apps/asgi_app.py
DELETED
hiddifypanel/apps/celery_app.py
DELETED
hiddifypanel/apps/wsgi_app.py
DELETED
hiddifypanel/base_setup.py
DELETED
@@ -1,82 +0,0 @@
|
|
1
|
-
from flask import request, g
|
2
|
-
import redis
|
3
|
-
# from hiddifypanel.cache import cache
|
4
|
-
from hiddifypanel.models import *
|
5
|
-
|
6
|
-
import flask_bootstrap
|
7
|
-
from flask_babel import Babel
|
8
|
-
from flask_session import Session
|
9
|
-
|
10
|
-
import datetime
|
11
|
-
|
12
|
-
from dotenv import dotenv_values
|
13
|
-
import os
|
14
|
-
import sys
|
15
|
-
from werkzeug.middleware.proxy_fix import ProxyFix
|
16
|
-
from loguru import logger
|
17
|
-
from sonora.wsgi import grpcWSGI
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
def init_app(app):
|
22
|
-
from hiddifypanel import auth
|
23
|
-
app.config["PREFERRED_URL_SCHEME"] = "https"
|
24
|
-
app.wsgi_app = ProxyFix(
|
25
|
-
app.wsgi_app, x_for=1, x_proto=1, x_host=1, x_prefix=1,
|
26
|
-
)
|
27
|
-
|
28
|
-
|
29
|
-
app.secret_key="asdsad"
|
30
|
-
app.servers = {
|
31
|
-
'name': 'current',
|
32
|
-
'url': '',
|
33
|
-
} # type: ignore
|
34
|
-
app.info = {
|
35
|
-
'description': 'Hiddify is a free and open source software. It is as it is.',
|
36
|
-
'termsOfService': 'https://hiddify.com',
|
37
|
-
'contact': {
|
38
|
-
'name': 'API Support',
|
39
|
-
'url': 'https://www.hiddify.com/support',
|
40
|
-
'email': 'panel@hiddify.com'
|
41
|
-
},
|
42
|
-
'license': {
|
43
|
-
'name': 'Creative Commons Zero v1.0 Universal',
|
44
|
-
'url': 'https://github.com/hiddify/Hiddify-Manager/blob/main/LICENSE'
|
45
|
-
}
|
46
|
-
}
|
47
|
-
# setup flask server-side session
|
48
|
-
# app.config['APPLICATION_ROOT'] = './'
|
49
|
-
# app.config['SESSION_COOKIE_DOMAIN'] = '/'
|
50
|
-
|
51
|
-
|
52
|
-
app.jinja_env.line_statement_prefix = '%'
|
53
|
-
from hiddifypanel import hutils
|
54
|
-
app.jinja_env.filters['b64encode'] = hutils.encode.do_base_64
|
55
|
-
app.view_functions['admin.static'] = {} # fix bug in apiflask
|
56
|
-
flask_bootstrap.Bootstrap4(app)
|
57
|
-
|
58
|
-
def get_locale():
|
59
|
-
# Put your logic here. Application can store locale in
|
60
|
-
# user profile, cookie, session, etc.
|
61
|
-
if "admin" in request.base_url:
|
62
|
-
g.locale = hconfig(ConfigEnum.admin_lang) or 'en'
|
63
|
-
else:
|
64
|
-
g.locale = auth.current_account.lang or hconfig(ConfigEnum.lang) or 'en'
|
65
|
-
return g.locale
|
66
|
-
app.jinja_env.globals['get_locale'] = get_locale
|
67
|
-
babel = Babel(app, locale_selector=get_locale)
|
68
|
-
|
69
|
-
app.config['SESSION_TYPE'] = 'redis'
|
70
|
-
|
71
|
-
app.config['SESSION_REDIS'] = redis.from_url(os.environ['REDIS_URI_MAIN'])
|
72
|
-
app.config['SESSION_PERMANENT'] = True
|
73
|
-
app.config['PERMANENT_SESSION_LIFETIME'] = datetime.timedelta(days=10)
|
74
|
-
app.security_schemes = { # equals to use config SECURITY_SCHEMES
|
75
|
-
'Hiddify-API-Key': {
|
76
|
-
'type': 'apiKey',
|
77
|
-
'in': 'header',
|
78
|
-
'name': 'Hiddify-API-Key',
|
79
|
-
}
|
80
|
-
}
|
81
|
-
Session(app)
|
82
|
-
app.wsgi_app = grpcWSGI(app.wsgi_app)
|
hiddifypanel/celery.py
DELETED
@@ -1,45 +0,0 @@
|
|
1
|
-
from celery import Celery, Task
|
2
|
-
from celery.schedules import crontab
|
3
|
-
|
4
|
-
def init_app(app):
|
5
|
-
class FlaskTask(Task):
|
6
|
-
def __call__(self, *args: object, **kwargs: object) -> object:
|
7
|
-
with app.app_context():
|
8
|
-
return self.run(*args, **kwargs)
|
9
|
-
|
10
|
-
celery_app = Celery(app.name, task_cls=FlaskTask)
|
11
|
-
|
12
|
-
celery_app.config_from_object(dict(
|
13
|
-
broker_url=app.config['REDIS_URI_MAIN'],
|
14
|
-
result_backend=app.config['REDIS_URI_MAIN'],
|
15
|
-
# task_ignore_result=True,
|
16
|
-
))
|
17
|
-
app.extensions["celery"] = celery_app
|
18
|
-
|
19
|
-
|
20
|
-
# Calls test('hello') every 10 seconds.
|
21
|
-
from hiddifypanel.panel import usage
|
22
|
-
celery_app.add_periodic_task(60.0, usage.update_local_usage.s(), name='update usage')
|
23
|
-
# celery_app.conf.beat_schedule = {
|
24
|
-
# 'update_usage': {
|
25
|
-
# 'task': 'hiddifypanel.panel.usage.update_local_usage',
|
26
|
-
# 'schedule': 30.0,
|
27
|
-
|
28
|
-
# },
|
29
|
-
# }
|
30
|
-
from hiddifypanel.panel.cli import backup_task
|
31
|
-
celery_app.autodiscover_tasks()
|
32
|
-
# celery_app.add_periodic_task(30.0, backup_task.s(), name='backup task')
|
33
|
-
# celery_app.add_periodic_task(
|
34
|
-
# crontab(hour="*/6", minute=30),
|
35
|
-
# backup_task.delay(),
|
36
|
-
# )
|
37
|
-
|
38
|
-
celery_app.add_periodic_task(
|
39
|
-
crontab(hour="*/6", minute="0"),
|
40
|
-
backup_task.s(),
|
41
|
-
name="backup_task "
|
42
|
-
)
|
43
|
-
|
44
|
-
celery_app.set_default()
|
45
|
-
return celery_app
|
@@ -1,34 +0,0 @@
|
|
1
|
-
|
2
|
-
def generate_wireguard_config(proxy: dict) -> str:
|
3
|
-
"""
|
4
|
-
Generates a WireGuard configuration from a given proxy dictionary.
|
5
|
-
|
6
|
-
Args:
|
7
|
-
proxy (dict): Dictionary containing WireGuard and proxy details.
|
8
|
-
|
9
|
-
Returns:
|
10
|
-
str: A WireGuard configuration string.
|
11
|
-
"""
|
12
|
-
name=f'{proxy["extra_info"]} {proxy["name"]}'
|
13
|
-
addrs = f"{proxy['wg_ipv4']}/32"
|
14
|
-
if proxy['wg_ipv6']:
|
15
|
-
addrs += f", {proxy['wg_ipv6']}/128"
|
16
|
-
config = f"""[Interface]
|
17
|
-
# Name = {name}
|
18
|
-
Address= {addrs}
|
19
|
-
PrivateKey = {proxy["wg_pk"]}
|
20
|
-
MTU = {proxy.get("mtu", 1380)}
|
21
|
-
DNS = {proxy.get("dns", "1.1.1.1")}
|
22
|
-
|
23
|
-
[Peer]
|
24
|
-
# Name = Public Peer for {name}
|
25
|
-
Endpoint = {proxy["server"]}:{proxy["port"]}
|
26
|
-
PublicKey = {proxy["wg_server_pub"]}
|
27
|
-
PresharedKey = {proxy['wg_psk']}
|
28
|
-
#PersistentKeepalive = {proxy.get("keep_alive", 25)}
|
29
|
-
"""
|
30
|
-
|
31
|
-
#Address = {proxy.get("wg_ipv4", "0.0.0.0/32")}
|
32
|
-
#AllowedIPs = {proxy.get("allowed_ips", "0.0.0.0/0")}
|
33
|
-
|
34
|
-
return config
|
hiddifypanel/panel/hlogger.py
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
import sys
|
2
|
-
from loguru import logger
|
3
|
-
|
4
|
-
def logger_dynamic_formatter(record) -> str:
|
5
|
-
fmt = '<green>{time:YYYY-MM-DD HH:mm:ss}</green> | <level>{level: <8}</level> | <cyan>{name}</cyan>:<cyan>{function}</cyan>:<cyan>{line}</cyan> - <level>{message}</level>'
|
6
|
-
if record['extra']:
|
7
|
-
fmt += ' | <level>{extra}</level>'
|
8
|
-
return fmt + '\n'
|
9
|
-
|
10
|
-
def init_app(app):
|
11
|
-
init_logger(app,False)
|
12
|
-
|
13
|
-
def init_cli(app):
|
14
|
-
init_logger(app,True)
|
15
|
-
|
16
|
-
|
17
|
-
def init_logger(app, cli):
|
18
|
-
# configure logger
|
19
|
-
|
20
|
-
logger.remove()
|
21
|
-
logger.add(sys.stderr if cli else sys.stdout, format=logger_dynamic_formatter, level=app.config['STDOUT_LOG_LEVEL'],
|
22
|
-
colorize=True, catch=True, enqueue=True, diagnose=False, backtrace=True)
|
23
|
-
logger.trace('Logger initiated :)')
|
24
|
-
|
25
|
-
with app.app_context():
|
26
|
-
from hiddifypanel.models.config import hconfig,ConfigEnum
|
27
|
-
set_level(app,hconfig(ConfigEnum.log_level))
|
28
|
-
|
29
|
-
|
30
|
-
def set_level(app, level):
|
31
|
-
logger.add(app.config['HIDDIFY_CONFIG_PATH'] + "/log/system/panel.log", format=logger_dynamic_formatter, level=level,
|
32
|
-
colorize=True, catch=True, enqueue=True, diagnose=False, backtrace=True)
|
hiddifypanel/panel/node/a.py
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
import asyncio
|
2
|
-
from . import test_pb2_grpc
|
3
|
-
import sonora.aio
|
4
|
-
from .test_pb2 import HelloRequest
|
5
|
-
|
6
|
-
|
7
|
-
async def temp():
|
8
|
-
async with sonora.aio.insecure_web_channel(f"http://localhost:9000") as channel:
|
9
|
-
stub = test_pb2_grpc.HelloStub(channel)
|
10
|
-
print(await stub.SayHello(HelloRequest(req="F")))
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
asyncio.run(temp())
|
hiddifypanel/panel/node/hello.py
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
import grpc
|
2
|
-
|
3
|
-
# from hiddifypanel.hasync.config import BoolConfig
|
4
|
-
from hiddifypanel.models.config import hconfig
|
5
|
-
from hiddifypanel.models.config_enum import ConfigEnum
|
6
|
-
from . import test_pb2
|
7
|
-
from . import test_pb2_grpc
|
8
|
-
|
9
|
-
class HelloServicer(test_pb2_grpc.HelloServicer):
|
10
|
-
"""Missing associated documentation comment in .proto file."""
|
11
|
-
|
12
|
-
def SayHello(self, request: test_pb2.HelloRequest, context) -> test_pb2.HelloResponse:
|
13
|
-
|
14
|
-
return test_pb2.HelloResponse(res=hconfig(ConfigEnum.log_level))
|
@@ -1,40 +0,0 @@
|
|
1
|
-
# Generated by the Protocol Buffers compiler. DO NOT EDIT!
|
2
|
-
# source: hiddifypanel/async/node/test.proto
|
3
|
-
# plugin: grpclib.plugin.main
|
4
|
-
import abc
|
5
|
-
import typing
|
6
|
-
|
7
|
-
import grpclib.const
|
8
|
-
import grpclib.client
|
9
|
-
if typing.TYPE_CHECKING:
|
10
|
-
import grpclib.server
|
11
|
-
|
12
|
-
import hiddifypanel.hasync.node.test_pb2
|
13
|
-
|
14
|
-
|
15
|
-
class HelloBase(abc.ABC):
|
16
|
-
|
17
|
-
@abc.abstractmethod
|
18
|
-
async def SayHello(self, stream: 'grpclib.server.Stream[hiddifypanel.hasync.node.test_pb2.HelloRequest, hiddifypanel.hasync.node.test_pb2.HelloResponse]') -> None:
|
19
|
-
pass
|
20
|
-
|
21
|
-
def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]:
|
22
|
-
return {
|
23
|
-
'/Hello/SayHello': grpclib.const.Handler(
|
24
|
-
self.SayHello,
|
25
|
-
grpclib.const.Cardinality.UNARY_UNARY,
|
26
|
-
hiddifypanel.hasync.node.test_pb2.HelloRequest,
|
27
|
-
hiddifypanel.hasync.node.test_pb2.HelloResponse,
|
28
|
-
),
|
29
|
-
}
|
30
|
-
|
31
|
-
|
32
|
-
class HelloStub:
|
33
|
-
|
34
|
-
def __init__(self, channel: grpclib.client.Channel) -> None:
|
35
|
-
self.SayHello = grpclib.client.UnaryUnaryMethod(
|
36
|
-
channel,
|
37
|
-
'/Hello/SayHello',
|
38
|
-
hiddifypanel.hasync.node.test_pb2.HelloRequest,
|
39
|
-
hiddifypanel.hasync.node.test_pb2.HelloResponse,
|
40
|
-
)
|