hiddifypanel 7.1.9__py3-none-any.whl → 8.0.0.dev0__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/base.py +18 -15
- hiddifypanel/cache.py +11 -0
- hiddifypanel/drivers/abstract_driver.py +5 -0
- hiddifypanel/drivers/singbox_api.py +52 -0
- hiddifypanel/drivers/ssh_liberty_bridge_api.py +53 -0
- hiddifypanel/drivers/user_driver.py +30 -0
- hiddifypanel/drivers/xray_api.py +113 -0
- hiddifypanel/models/config.py +3 -1
- hiddifypanel/models/config_enum.py +7 -1
- hiddifypanel/models/proxy.py +3 -0
- hiddifypanel/models/user.py +3 -0
- hiddifypanel/panel/admin/UserAdmin.py +6 -6
- hiddifypanel/panel/commercial/restapi/resources.py +2 -2
- hiddifypanel/panel/custom_widgets.py +10 -10
- hiddifypanel/panel/hiddify.py +23 -1
- hiddifypanel/panel/init_db.py +27 -1
- hiddifypanel/panel/usage.py +6 -17
- hiddifypanel/panel/user/link_maker.py +1 -1
- hiddifypanel/panel/user/templates/home/all-configs.html +104 -91
- hiddifypanel/panel/user/templates/singbox_config.json +110 -0
- hiddifypanel/panel/user/user.py +32 -26
- hiddifypanel/templates/fake.html +4 -0
- hiddifypanel/translations/en/LC_MESSAGES/messages.mo +0 -0
- hiddifypanel/translations/en/LC_MESSAGES/messages.po +72 -18
- hiddifypanel/translations/fa/LC_MESSAGES/messages.mo +0 -0
- hiddifypanel/translations/fa/LC_MESSAGES/messages.po +62 -18
- hiddifypanel/translations/pt/LC_MESSAGES/messages.mo +0 -0
- hiddifypanel/translations/pt/LC_MESSAGES/messages.po +62 -18
- hiddifypanel/translations/zh/LC_MESSAGES/messages.mo +0 -0
- hiddifypanel/translations/zh/LC_MESSAGES/messages.po +62 -18
- {hiddifypanel-7.1.9.dist-info → hiddifypanel-8.0.0.dev0.dist-info}/METADATA +3 -1
- {hiddifypanel-7.1.9.dist-info → hiddifypanel-8.0.0.dev0.dist-info}/RECORD +38 -33
- hiddifypanel/singbox_api.py +0 -55
- hiddifypanel/xray_api.py +0 -115
- {hiddifypanel-7.1.9.dist-info → hiddifypanel-8.0.0.dev0.dist-info}/LICENSE.md +0 -0
- {hiddifypanel-7.1.9.dist-info → hiddifypanel-8.0.0.dev0.dist-info}/WHEEL +0 -0
- {hiddifypanel-7.1.9.dist-info → hiddifypanel-8.0.0.dev0.dist-info}/entry_points.txt +0 -0
- {hiddifypanel-7.1.9.dist-info → hiddifypanel-8.0.0.dev0.dist-info}/top_level.txt +0 -0
@@ -1,21 +1,25 @@
|
|
1
1
|
hiddifypanel/Events.py,sha256=mkIsfz4YQqegdeFgH4quxvLIx7AundtjAW6HBSP9I-M,719
|
2
|
-
hiddifypanel/VERSION,sha256=
|
3
|
-
hiddifypanel/VERSION.py,sha256=
|
2
|
+
hiddifypanel/VERSION,sha256=6iYN83MyZHV5RUvNLkZSEvVydxeOJFTwYj-USd84qIY,10
|
3
|
+
hiddifypanel/VERSION.py,sha256=aNO_MF7Pch_0F5TJCQFYt8KtqFJPOeYy5hTFDeSozrs,115
|
4
4
|
hiddifypanel/__init__.py,sha256=b4nIILUBiDaAWF1Mnkew84MxzR5OeWogcVbR-gpnbrA,217
|
5
5
|
hiddifypanel/__main__.py,sha256=GaHLsnu3y4zNTh6x-9kuZLOYaShltkG96rRAHOuMLak,270
|
6
|
-
hiddifypanel/base.py,sha256=
|
7
|
-
hiddifypanel/
|
8
|
-
hiddifypanel/
|
6
|
+
hiddifypanel/base.py,sha256=choHdG5ctEX-jftutIb9hh3Kdu5oV3HOJpQv9KQBt24,2640
|
7
|
+
hiddifypanel/cache.py,sha256=DGKDhu8McbTBkQMJlkEWeUSPTSjD80TNqO0y809aFAw,287
|
8
|
+
hiddifypanel/drivers/abstract_driver.py,sha256=wm86arsDRGWYSDPWG87bX1iUvTmERrGtpFWovQ3EIW0,67
|
9
|
+
hiddifypanel/drivers/singbox_api.py,sha256=vSZ9BrX4Xb7hrSxpWtydxQHHjukrXvjWlpDm6y6meSc,1606
|
10
|
+
hiddifypanel/drivers/ssh_liberty_bridge_api.py,sha256=UhuSc-GQ8LUexxIDzMzkei0BTsGbsMgBLxVaXNUmM5Q,1641
|
11
|
+
hiddifypanel/drivers/user_driver.py,sha256=RZK6cvVO2OqgPxXhSCC50vutWT5lkVue82h5_fXOniI,655
|
12
|
+
hiddifypanel/drivers/xray_api.py,sha256=r0L8ReHXY6gd3x1O5yzp-0Yv7PHMUAuL7YO_Mnx2BC4,3991
|
9
13
|
hiddifypanel/models/__init__.py,sha256=zj_Rjc808mt_Zr2XtHqeEW1nXviZCgK82BBxjbOvUaM,988
|
10
14
|
hiddifypanel/models/admin.py,sha256=7MqFmI76rK-jYdZeDccSoGLIFV418Zl9ZuPcK2Giusw,5638
|
11
15
|
hiddifypanel/models/child.py,sha256=HVKasfftcYJNgvNF-VGe3M5UX-Me6AwFWLnYM9WckOk,1137
|
12
|
-
hiddifypanel/models/config.py,sha256=
|
13
|
-
hiddifypanel/models/config_enum.py,sha256=
|
16
|
+
hiddifypanel/models/config.py,sha256=YED-gVnyGcLQVB7_wAEINDm15otIbuiO9vo2ceuK3ZI,4729
|
17
|
+
hiddifypanel/models/config_enum.py,sha256=Vw6xcDiKO_cT_-wGFpTx4UBHwgdnn0Nk9xnoBLESpnQ,11151
|
14
18
|
hiddifypanel/models/domain.py,sha256=mHxKPedR5TC2RMz8Lmqo62EJlfda2kJhde638bM12ec,6406
|
15
19
|
hiddifypanel/models/parent_domain.py,sha256=yfcC_OM9xiyMHQBSRIeXpR8WLT2SNtE0CYhM5ouQJiw,2478
|
16
|
-
hiddifypanel/models/proxy.py,sha256=
|
20
|
+
hiddifypanel/models/proxy.py,sha256=K7rjSaCZoLiU7QsA6qxibQxgvLB0ev8zsvIlt0tUqqQ,2824
|
17
21
|
hiddifypanel/models/usage.py,sha256=z09tM56OU8ZHYZ_-MFyJUoizhI3sHXf5OAcQ1ObO26A,4175
|
18
|
-
hiddifypanel/models/user.py,sha256=
|
22
|
+
hiddifypanel/models/user.py,sha256=JvvB4BkZ6AzTvC6SfDlCqfM3uqThtla8bQdAuqu9IiA,11721
|
19
23
|
hiddifypanel/panel/__init__.py,sha256=njms9QqmFhfzKdCBwqH_J_bue1GYGlfg7QdXDS6j1Wo,126
|
20
24
|
hiddifypanel/panel/admin_2.py,sha256=ikpkTEjEcmKivFOqPZv0mi-9aMLf5HeTHjZuSqaJySU,1039
|
21
25
|
hiddifypanel/panel/asset.py,sha256=mb3PWCHIcZnuV0wEN0DgKtLANbV9iAFYtZVuOzGX-Oo,461
|
@@ -23,11 +27,11 @@ hiddifypanel/panel/cf_api.py,sha256=CacbS0dbjeJXOXCCQoEGBv5LoHo0bJU7dwYaFtAIokU,
|
|
23
27
|
hiddifypanel/panel/clean_ip.py,sha256=STV29eCeYPxJacufjGytrHPoDtms2mPpiSqJ0lpT9WA,4308
|
24
28
|
hiddifypanel/panel/cli.py,sha256=TPuXgZEqA9vVDVBuy_HbZHu2tJYvRjI8JEXdlA9rMqQ,7517
|
25
29
|
hiddifypanel/panel/common.py,sha256=lJkCRm78SkDmYmwCy3w5CbMsR6QKafi74uQiUcDnFHg,4778
|
26
|
-
hiddifypanel/panel/custom_widgets.py,sha256=
|
30
|
+
hiddifypanel/panel/custom_widgets.py,sha256=GrLc5klxOJhO9bPdl_RHI7RjiG_JK2rG0p-f0k88BJw,2483
|
27
31
|
hiddifypanel/panel/database.py,sha256=TpvGFDD0Kx1ADxVJjj20i3aQRtNXmodUGrUqi2zGjqY,296
|
28
|
-
hiddifypanel/panel/hiddify.py,sha256=
|
29
|
-
hiddifypanel/panel/init_db.py,sha256=
|
30
|
-
hiddifypanel/panel/usage.py,sha256=
|
32
|
+
hiddifypanel/panel/hiddify.py,sha256=pvgYlUL2XGNMLE7wr-8zpWelnFkcASTbJp9NQUJQJ6k,24432
|
33
|
+
hiddifypanel/panel/init_db.py,sha256=DRJsKQm-JBmv2Z30CnAqRnPchOxwlFBCXp0bqvWYopk,17708
|
34
|
+
hiddifypanel/panel/usage.py,sha256=Fu2bjbeAcTWa5eQvUmGBoAEU9qjGZ1ej87tQ_0_rSJk,4136
|
31
35
|
hiddifypanel/panel/admin/Actions.py,sha256=JwgRCk4_Avu4ToX70ux1e0AQ1GFwyaT_oHX9s4C-BkM,10797
|
32
36
|
hiddifypanel/panel/admin/AdminstratorAdmin.py,sha256=ZtFkqdIh_eDgdwqxrfQSXZ2QHVybd9UJIJcSHQgIabs,10674
|
33
37
|
hiddifypanel/panel/admin/Backup.py,sha256=WLKN33AqfP7fHtq1tzMPYqvbLdiJdmqkjgZ0ucwICZU,3230
|
@@ -39,7 +43,7 @@ hiddifypanel/panel/admin/ProxyAdmin.py,sha256=jr-cpN_WeyEYUmmKqp0wiYppCgbAcNGpWo
|
|
39
43
|
hiddifypanel/panel/admin/QuickSetup.py,sha256=w7LhwuKZqAHduBbTC73v3SngHhZnkxkcofPuKAvzNsQ,7954
|
40
44
|
hiddifypanel/panel/admin/SettingAdmin.py,sha256=zyEy5nIc4TlqZM3n89_5rEYa8D3kFuD_WvaSP9bkpJs,14885
|
41
45
|
hiddifypanel/panel/admin/Terminal.py,sha256=_IMSULpEXShox2Qqj37z1cPI1iZa8oABmcQmIS7pKgI,1748
|
42
|
-
hiddifypanel/panel/admin/UserAdmin.py,sha256=
|
46
|
+
hiddifypanel/panel/admin/UserAdmin.py,sha256=F79gLxbMiq1-k-ZbBQ6sFn_SPgT2aML_nWnRUbL6KsY,14473
|
43
47
|
hiddifypanel/panel/admin/__init__.py,sha256=F9NDywH5xaAhQtJ1_PIsayx5wLtx8uYg5JEeUwQkxdM,2739
|
44
48
|
hiddifypanel/panel/admin/adminlte.py,sha256=kyw4kjwmZlX2ZQ8hNODdbzvViw_pLYtopgbd3XElVWE,570
|
45
49
|
hiddifypanel/panel/admin/commercial_info.py,sha256=QrekjGbNdU5MTO05h92VUM1iMmrazMckFMxRWOZhsuE,587
|
@@ -64,7 +68,7 @@ hiddifypanel/panel/commercial/ParentDomainAdmin.py,sha256=syUgdNaDmUaLEcwghPMYXr
|
|
64
68
|
hiddifypanel/panel/commercial/ProxyDetailsAdmin.py,sha256=YxXSuC2jza_3izSop6pzAuILWupSPdDPmjqc28hXRtU,1510
|
65
69
|
hiddifypanel/panel/commercial/__init__.py,sha256=3wiNqVsEbX76SwOG3mrXasVU5PlZYOYByXCKAuUHBMM,1954
|
66
70
|
hiddifypanel/panel/commercial/restapi/__init__.py,sha256=WRS-RhzFAgKopBZuEi8ikjjqeONAiTvDXcsjlETex_c,612
|
67
|
-
hiddifypanel/panel/commercial/restapi/resources.py,sha256=
|
71
|
+
hiddifypanel/panel/commercial/restapi/resources.py,sha256=FsptBWUns-fFpIQKvyCVLSQAm_jqFroa-WsvPkjPtxM,3046
|
68
72
|
hiddifypanel/panel/commercial/restapi/tgbot.py,sha256=6g1buMB-Xv5jbFB6dRwCijc5fTcjG0QSHyi5iPZaYQQ,1978
|
69
73
|
hiddifypanel/panel/commercial/restapi/tgmsg.py,sha256=KIzzwUCML3K12k2tBGonu5Lfnq7oC1rB48uLzEYG89w,2242
|
70
74
|
hiddifypanel/panel/commercial/telegrambot/DefaultResponse.py,sha256=WgT8LuY_AsAK6QYIXWuBOmnRIDlg4rUPPokHWOrWzHQ,378
|
@@ -76,15 +80,16 @@ hiddifypanel/panel/commercial/templates/configc.html,sha256=WCQtEXf-Vf1s8mhTlECd
|
|
76
80
|
hiddifypanel/panel/commercial/templates/parent_dash.html,sha256=pMZRHQRxb2blYe0fv0vrbBaHfnBZB_TXln_QavoCiog,1917
|
77
81
|
hiddifypanel/panel/user/__init__.py,sha256=C1oDWpEwa_bNdrff9I33_m9h2F_ma0_Ruu6T1QfMlMI,1047
|
78
82
|
hiddifypanel/panel/user/link_maker.html,sha256=g420NAm_fUI8asYjyfCiXyUOIwEQfDPonZA9xh3p0-8,177
|
79
|
-
hiddifypanel/panel/user/link_maker.py,sha256=
|
80
|
-
hiddifypanel/panel/user/user.py,sha256=
|
83
|
+
hiddifypanel/panel/user/link_maker.py,sha256=NDtVGVybakuRa0KGuaoP9o3evtDCg4T82J6kPKDAZ8Q,19572
|
84
|
+
hiddifypanel/panel/user/user.py,sha256=7UGh9VX--cNfcyeodUMHkF1sCHZI1bV-xGin-MDyxxk,10066
|
81
85
|
hiddifypanel/panel/user/templates/all_configs copy.txt,sha256=ivn6fiOLnn4R7WLoKiPFbW-oOu-v1hdSqOW-sSeYmXA,510
|
82
86
|
hiddifypanel/panel/user/templates/all_configs.txt,sha256=q_Is8KCiiQcowf9-xsPj34YFILgk3cyAGULBfrf7vdg,1126
|
83
87
|
hiddifypanel/panel/user/templates/clash_config copy.yml,sha256=_BIDTWAe6St7f0Q3KhNAYuQsVqQDmx_5ayElt5Gs-fw,7537
|
84
88
|
hiddifypanel/panel/user/templates/clash_config.yml,sha256=lI4gYtr51qpqXqob4Ws6HWJRuYT9KcctPyWRZAgQISc,5111
|
85
89
|
hiddifypanel/panel/user/templates/clash_proxies copy.yml,sha256=PpAL5ViC28PjDsEnzHEsIJ3jJ2QUAD4HWv2jYOGzqoo,12229
|
86
90
|
hiddifypanel/panel/user/templates/clash_proxies.yml,sha256=0idJKLrNdvlFQmhILVQQGQsL_ZcYBqv_HQiorn1q4mU,1543
|
87
|
-
hiddifypanel/panel/user/templates/
|
91
|
+
hiddifypanel/panel/user/templates/singbox_config.json,sha256=NQDetjk2TicGD5Nd0m6HiFw4StJmVrC9xr0QgzzqZFU,1930
|
92
|
+
hiddifypanel/panel/user/templates/home/all-configs.html,sha256=_nyy7vZx9KCNpfLmwtKZl_GW15Rfd8e1C7hBasjW0Ls,5425
|
88
93
|
hiddifypanel/panel/user/templates/home/all-configs_old.html,sha256=To58Sl3G11Ty0FSXKNHWGapT1joIz0DmOrSkU8-TZuo,3326
|
89
94
|
hiddifypanel/panel/user/templates/home/android.html,sha256=DbAp4hT6ylj2xBZx6WACEWz7wKiNyCZU67Jd8AQUej8,4010
|
90
95
|
hiddifypanel/panel/user/templates/home/base2.html,sha256=BlvxXFVhvUGt7ew6soN9fr-jReLWTcqwVpKEsXDJzG0,3988
|
@@ -666,24 +671,24 @@ hiddifypanel/templates/admin-layout.html,sha256=fSYxVXkY7q_xvhcHL_2vny_-YWxlkpKE
|
|
666
671
|
hiddifypanel/templates/admin.ht.old,sha256=3hMqCXEw4-hFrDGKlENcPOHbZ_iIygm9ilIHgsIW54w,8404
|
667
672
|
hiddifypanel/templates/donation.html,sha256=ZucHTSpafwqySlt7lRfgKAY2KmIpc5zaT9q7Ez1kZQo,735
|
668
673
|
hiddifypanel/templates/error.html,sha256=gzCuFhVnO3EG94yHJgj9xA-dnzhD2pKbWJ_K_co8HuM,436
|
669
|
-
hiddifypanel/templates/fake.html,sha256=
|
674
|
+
hiddifypanel/templates/fake.html,sha256=qrtWpWveynfksFEAxC2msUpkX3xGA16X-1hdqjMf-_o,7009
|
670
675
|
hiddifypanel/templates/flaskadmin-layout.html,sha256=G5iy48cdaTirlQ4q0C0vGNKqWaXunpttb2z5Smx-79M,5875
|
671
676
|
hiddifypanel/templates/lte-master.html,sha256=Rvxzbl7YwnheFwvzOkBtcSMwGtSRJAI8dOkWOZaw-qQ,1630
|
672
677
|
hiddifypanel/templates/macros.html,sha256=lvw_I1hYTx5mq5e9j9kwbNp5n_WDdjFgwKzI3Jl64SA,4082
|
673
678
|
hiddifypanel/templates/master.html,sha256=VDhR902TCiMu6pnGrHDlsGYCR8PKKvBZcgiX00D4SP8,20817
|
674
679
|
hiddifypanel/templates/static.html,sha256=jp6q4wtx-k2A_cjqJoNiMS7Ee30arE45qI3ev4d5ky4,165
|
675
680
|
hiddifypanel/templates/hiddify-flask-admin/list.html,sha256=St0TD6-ZIJ24A6Akbh51JNkTEOpimFq2iiRydcUjQlA,13642
|
676
|
-
hiddifypanel/translations/en/LC_MESSAGES/messages.mo,sha256=
|
677
|
-
hiddifypanel/translations/en/LC_MESSAGES/messages.po,sha256=
|
678
|
-
hiddifypanel/translations/fa/LC_MESSAGES/messages.mo,sha256=
|
679
|
-
hiddifypanel/translations/fa/LC_MESSAGES/messages.po,sha256=
|
680
|
-
hiddifypanel/translations/pt/LC_MESSAGES/messages.mo,sha256=
|
681
|
-
hiddifypanel/translations/pt/LC_MESSAGES/messages.po,sha256
|
682
|
-
hiddifypanel/translations/zh/LC_MESSAGES/messages.mo,sha256=
|
683
|
-
hiddifypanel/translations/zh/LC_MESSAGES/messages.po,sha256
|
684
|
-
hiddifypanel-
|
685
|
-
hiddifypanel-
|
686
|
-
hiddifypanel-
|
687
|
-
hiddifypanel-
|
688
|
-
hiddifypanel-
|
689
|
-
hiddifypanel-
|
681
|
+
hiddifypanel/translations/en/LC_MESSAGES/messages.mo,sha256=YGj7q0VHfZy5dSP5MZmYaPJ4em-3gI6zf1RCLh-IlSA,56211
|
682
|
+
hiddifypanel/translations/en/LC_MESSAGES/messages.po,sha256=S53G7uW-ul5xjfq1UIMxOZms7PEEoGtTCIeTfUwTLYs,153354
|
683
|
+
hiddifypanel/translations/fa/LC_MESSAGES/messages.mo,sha256=14OJGQ674yi2QWfuQ1xsNwdGhOQlHtfchbLfULRBrW0,74896
|
684
|
+
hiddifypanel/translations/fa/LC_MESSAGES/messages.po,sha256=GgZUyPTvjD6-rBSJ7Vvk1C0cx5Zhj4cnrdFt1NWfPLQ,175272
|
685
|
+
hiddifypanel/translations/pt/LC_MESSAGES/messages.mo,sha256=cMI4dGMI2HWVvIHzl2fLMTx1r8Jk49y5lC_VbFhySWA,57475
|
686
|
+
hiddifypanel/translations/pt/LC_MESSAGES/messages.po,sha256=1ilYmFQiQbzWesDdZjIw4Ra1tLaLWyd105vrdGOP9Q4,151104
|
687
|
+
hiddifypanel/translations/zh/LC_MESSAGES/messages.mo,sha256=FVTB-ueGJcJDvfUOn8-1_gX7Oq51FPj5eqy1KZzECv0,47481
|
688
|
+
hiddifypanel/translations/zh/LC_MESSAGES/messages.po,sha256=-qExpiwwnjuHqMMZPeJRdm5unZBmfIuJeylpTECIMng,146438
|
689
|
+
hiddifypanel-8.0.0.dev0.dist-info/LICENSE.md,sha256=oDrt-cUsyiDGnRPjEJh-3dH2ddAuK_bIVBD8ntkOtZw,19807
|
690
|
+
hiddifypanel-8.0.0.dev0.dist-info/METADATA,sha256=eIu17V3Kbl-kzgzzngwgJYHwMaPjT8BK3LmUJZl2AIc,2816
|
691
|
+
hiddifypanel-8.0.0.dev0.dist-info/WHEEL,sha256=AtBG6SXL3KF_v0NxLf0ehyVOh0cold-JbJYXNGorC6Q,92
|
692
|
+
hiddifypanel-8.0.0.dev0.dist-info/entry_points.txt,sha256=Xzpqlh3nwBtZhoV9AANJykano056VJvYzaujxPztJaM,60
|
693
|
+
hiddifypanel-8.0.0.dev0.dist-info/top_level.txt,sha256=rv-b3qFWUZQTBy0kyBfsr7L6tPpeO7AaQlLHXn-HI5M,13
|
694
|
+
hiddifypanel-8.0.0.dev0.dist-info/RECORD,,
|
hiddifypanel/singbox_api.py
DELETED
@@ -1,55 +0,0 @@
|
|
1
|
-
import xtlsapi
|
2
|
-
from hiddifypanel.models import *
|
3
|
-
|
4
|
-
|
5
|
-
def get_singbox_client():
|
6
|
-
if hconfig(ConfigEnum.is_parent):
|
7
|
-
return
|
8
|
-
return xtlsapi.SingboxClient('127.0.0.1', 10086)
|
9
|
-
|
10
|
-
|
11
|
-
def get_enabled_users():
|
12
|
-
if hconfig(ConfigEnum.is_parent):
|
13
|
-
return
|
14
|
-
|
15
|
-
|
16
|
-
def get_inbound_tags():
|
17
|
-
if hconfig(ConfigEnum.is_parent):
|
18
|
-
return
|
19
|
-
try:
|
20
|
-
xray_client = get_singbox_client()
|
21
|
-
inbounds = [inb.name.split(">>>")[1] for inb in xray_client.stats_query('inbound')]
|
22
|
-
print(f"Success in get inbound tags {inbounds}")
|
23
|
-
except Exception as e:
|
24
|
-
print(f"error in get inbound tags {e}")
|
25
|
-
inbounds = []
|
26
|
-
return list(set(inbounds))
|
27
|
-
|
28
|
-
|
29
|
-
def add_client(uuid):
|
30
|
-
if hconfig(ConfigEnum.is_parent):
|
31
|
-
return
|
32
|
-
raise NotImplementedError()
|
33
|
-
|
34
|
-
|
35
|
-
def remove_client(uuid):
|
36
|
-
if hconfig(ConfigEnum.is_parent):
|
37
|
-
return
|
38
|
-
raise NotImplementedError()
|
39
|
-
|
40
|
-
|
41
|
-
def get_usage(uuid, reset=False):
|
42
|
-
if hconfig(ConfigEnum.is_parent):
|
43
|
-
return
|
44
|
-
xray_client = get_singbox_client()
|
45
|
-
d = xray_client.get_client_download_traffic(f'{uuid}@hiddify.com', reset=reset)
|
46
|
-
u = xray_client.get_client_upload_traffic(f'{uuid}@hiddify.com', reset=reset)
|
47
|
-
print(f"Success {uuid} d={d} u={u}")
|
48
|
-
res = None
|
49
|
-
if d is None:
|
50
|
-
res = u
|
51
|
-
elif u is None:
|
52
|
-
res = d
|
53
|
-
else:
|
54
|
-
res = d + u
|
55
|
-
return res
|
hiddifypanel/xray_api.py
DELETED
@@ -1,115 +0,0 @@
|
|
1
|
-
import xtlsapi
|
2
|
-
from hiddifypanel.models import *
|
3
|
-
|
4
|
-
|
5
|
-
def get_xray_client():
|
6
|
-
if hconfig(ConfigEnum.is_parent):
|
7
|
-
return
|
8
|
-
return xtlsapi.XrayClient('127.0.0.1', 10085)
|
9
|
-
|
10
|
-
|
11
|
-
def get_enabled_users():
|
12
|
-
if hconfig(ConfigEnum.is_parent):
|
13
|
-
return
|
14
|
-
xray_client = get_xray_client()
|
15
|
-
users = User.query.all()
|
16
|
-
t = "xtls"
|
17
|
-
protocol = "vless"
|
18
|
-
enabled = {}
|
19
|
-
for u in users:
|
20
|
-
uuid = u.uuid
|
21
|
-
try:
|
22
|
-
xray_client.add_client(t, f'{uuid}', f'{uuid}@hiddify.com', protocol=protocol, flow='xtls-rprx-vision', alter_id=0, cipher='chacha20_poly1305')
|
23
|
-
xray_client.remove_client(t, f'{uuid}@hiddify.com')
|
24
|
-
enabled[uuid] = 0
|
25
|
-
except xtlsapi.exceptions.EmailAlreadyExists as e:
|
26
|
-
enabled[uuid] = 1
|
27
|
-
except Exception as e:
|
28
|
-
print(f"error {e}")
|
29
|
-
enabled[uuid] = e
|
30
|
-
return enabled
|
31
|
-
|
32
|
-
|
33
|
-
def get_inbound_tags():
|
34
|
-
if hconfig(ConfigEnum.is_parent):
|
35
|
-
return
|
36
|
-
try:
|
37
|
-
xray_client = get_xray_client()
|
38
|
-
inbounds = [inb.name.split(">>>")[1] for inb in xray_client.stats_query('inbound')]
|
39
|
-
print(f"Success in get inbound tags {inbounds}")
|
40
|
-
except Exception as e:
|
41
|
-
print(f"error in get inbound tags {e}")
|
42
|
-
inbounds = []
|
43
|
-
return list(set(inbounds))
|
44
|
-
|
45
|
-
|
46
|
-
def add_client(uuid):
|
47
|
-
if hconfig(ConfigEnum.is_parent):
|
48
|
-
return
|
49
|
-
xray_client = get_xray_client()
|
50
|
-
tags = get_inbound_tags()
|
51
|
-
proto_map = {
|
52
|
-
'vless': 'vless',
|
53
|
-
'realityin': 'vless',
|
54
|
-
'xtls': 'vless',
|
55
|
-
'quic': 'vless',
|
56
|
-
'trojan': 'trojan',
|
57
|
-
'vmess': 'vmess',
|
58
|
-
'ss': 'shadowsocks',
|
59
|
-
'v2ray': 'shadowsocks',
|
60
|
-
'kcp': 'vless',
|
61
|
-
'dispatcher': 'trojan',
|
62
|
-
}
|
63
|
-
|
64
|
-
def proto(t):
|
65
|
-
res = '', ''
|
66
|
-
for p, protocol in proto_map.items():
|
67
|
-
if p in t:
|
68
|
-
res = p, protocol
|
69
|
-
break
|
70
|
-
return res
|
71
|
-
for t in tags:
|
72
|
-
try:
|
73
|
-
p, protocol = proto(t)
|
74
|
-
if not p:
|
75
|
-
continue
|
76
|
-
if protocol == "vless" and p != "xtls" and p != "realityin":
|
77
|
-
xray_client.add_client(t, f'{uuid}', f'{uuid}@hiddify.com', protocol=protocol, flow='\0',)
|
78
|
-
else:
|
79
|
-
xray_client.add_client(t, f'{uuid}', f'{uuid}@hiddify.com', protocol=protocol, flow='xtls-rprx-vision', alter_id=0, cipher='chacha20_poly1305')
|
80
|
-
print(f"Success add {uuid} {t}")
|
81
|
-
except Exception as e:
|
82
|
-
print(f"error in add {uuid} {t} {e}")
|
83
|
-
pass
|
84
|
-
|
85
|
-
|
86
|
-
def remove_client(uuid):
|
87
|
-
if hconfig(ConfigEnum.is_parent):
|
88
|
-
return
|
89
|
-
xray_client = get_xray_client()
|
90
|
-
tags = get_inbound_tags()
|
91
|
-
|
92
|
-
for t in tags:
|
93
|
-
try:
|
94
|
-
xray_client.remove_client(t, f'{uuid}@hiddify.com')
|
95
|
-
print(f"Success remove {uuid} {t}")
|
96
|
-
except Exception as e:
|
97
|
-
print(f"error in remove {uuid} {t} {e}")
|
98
|
-
pass
|
99
|
-
|
100
|
-
|
101
|
-
def get_usage(uuid, reset=False):
|
102
|
-
if hconfig(ConfigEnum.is_parent):
|
103
|
-
return
|
104
|
-
xray_client = get_xray_client()
|
105
|
-
d = xray_client.get_client_download_traffic(f'{uuid}@hiddify.com', reset=reset)
|
106
|
-
u = xray_client.get_client_upload_traffic(f'{uuid}@hiddify.com', reset=reset)
|
107
|
-
print(f"Success {uuid} d={d} u={u}")
|
108
|
-
res = None
|
109
|
-
if d is None:
|
110
|
-
res = u
|
111
|
-
elif u is None:
|
112
|
-
res = d
|
113
|
-
else:
|
114
|
-
res = d + u
|
115
|
-
return res
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|