hiddifypanel 10.50.0__py3-none-any.whl → 10.50.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- hiddifypanel/VERSION +1 -1
- hiddifypanel/VERSION.py +1 -1
- hiddifypanel/hutils/proxy/shared.py +10 -10
- hiddifypanel/models/domain.py +12 -0
- hiddifypanel/panel/admin/DomainAdmin.py +2 -1
- 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.50.0.dist-info → hiddifypanel-10.50.2.dist-info}/METADATA +1 -1
- {hiddifypanel-10.50.0.dist-info → hiddifypanel-10.50.2.dist-info}/RECORD +16 -16
- {hiddifypanel-10.50.0.dist-info → hiddifypanel-10.50.2.dist-info}/LICENSE.md +0 -0
- {hiddifypanel-10.50.0.dist-info → hiddifypanel-10.50.2.dist-info}/WHEEL +0 -0
- {hiddifypanel-10.50.0.dist-info → hiddifypanel-10.50.2.dist-info}/entry_points.txt +0 -0
- {hiddifypanel-10.50.0.dist-info → hiddifypanel-10.50.2.dist-info}/top_level.txt +0 -0
hiddifypanel/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
10.50.
|
1
|
+
10.50.2
|
hiddifypanel/VERSION.py
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
from collections import defaultdict
|
2
|
+
import ipaddress
|
1
3
|
from flask import current_app, request, g
|
2
4
|
import glob
|
3
5
|
import random
|
@@ -173,7 +175,7 @@ def get_valid_proxies(domains: list[Domain]) -> list[dict]:
|
|
173
175
|
allp = []
|
174
176
|
allphttp = [p for p in request.args.get("phttp", "").split(',') if p]
|
175
177
|
allptls = [p for p in request.args.get("ptls", "").split(',') if p]
|
176
|
-
added_ip =
|
178
|
+
added_ip = defaultdict(set)
|
177
179
|
configsmap = {}
|
178
180
|
proxeismap = {}
|
179
181
|
for domain in domains:
|
@@ -181,10 +183,9 @@ def get_valid_proxies(domains: list[Domain]) -> list[dict]:
|
|
181
183
|
configsmap[domain.child_id] = get_hconfigs(domain.child_id)
|
182
184
|
proxeismap[domain.child_id] = get_proxies(domain.child_id, only_enabled=True)
|
183
185
|
hconfigs = configsmap[domain.child_id]
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
ips = [x for x in [ip, ip6] if x is not None]
|
186
|
+
ips = domain.get_cdn_ips_parsed()
|
187
|
+
if not ips:
|
188
|
+
ips = hutils.network.get_domain_ips(domain.domain)
|
188
189
|
for proxy in proxeismap[domain.child_id]:
|
189
190
|
noDomainProxies = False
|
190
191
|
if proxy.proto in [ProxyProto.ssh, ProxyProto.wireguard]:
|
@@ -193,18 +194,17 @@ def get_valid_proxies(domains: list[Domain]) -> list[dict]:
|
|
193
194
|
noDomainProxies = True
|
194
195
|
options = []
|
195
196
|
key = f'{proxy.proto}{proxy.transport}{proxy.cdn}{proxy.l3}'
|
196
|
-
|
197
|
-
added_ip[key] = {}
|
197
|
+
|
198
198
|
if proxy.proto in [ProxyProto.ssh, ProxyProto.tuic, ProxyProto.hysteria2, ProxyProto.wireguard, ProxyProto.ss]:
|
199
199
|
if noDomainProxies and all([x in added_ip[key] for x in ips]):
|
200
200
|
continue
|
201
201
|
|
202
202
|
for x in ips:
|
203
|
-
added_ip[key]
|
203
|
+
added_ip[key].add(x)
|
204
204
|
|
205
205
|
if proxy.proto in [ProxyProto.ssh, ProxyProto.wireguard, ProxyProto.ss]:
|
206
|
-
if domain.mode == 'fake':
|
207
|
-
|
206
|
+
# if domain.mode == 'fake':
|
207
|
+
# continue
|
208
208
|
if proxy.proto in [ProxyProto.ssh]:
|
209
209
|
options = [{'pport': hconfigs[ConfigEnum.ssh_server_port]}]
|
210
210
|
elif proxy.proto in [ProxyProto.wireguard]:
|
hiddifypanel/models/domain.py
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
from enum import auto
|
2
|
+
import ipaddress
|
3
|
+
import re
|
2
4
|
from typing import Dict, List
|
3
5
|
from flask import request
|
4
6
|
from flask_babel import lazy_gettext as _
|
@@ -57,6 +59,16 @@ class Domain(db.Model, SerializerMixin):
|
|
57
59
|
def __repr__(self):
|
58
60
|
return f'{self.domain}'
|
59
61
|
|
62
|
+
def get_cdn_ips_parsed(self):
|
63
|
+
ips = re.split('[ \t\r\n;,]+', self.cdn_ip.strip())
|
64
|
+
res = set()
|
65
|
+
for ip in ips:
|
66
|
+
try:
|
67
|
+
res.add(ipaddress.ip_address(ip))
|
68
|
+
except:
|
69
|
+
pass
|
70
|
+
return res
|
71
|
+
|
60
72
|
def to_dict(self, dump_ports=False, dump_child_id=False):
|
61
73
|
data = {
|
62
74
|
'domain': self.domain.lower(),
|
@@ -254,8 +254,9 @@ class DomainAdmin(AdminLTEModelView):
|
|
254
254
|
raise ValidationError(_("Domain is not REALITY friendly!") + f' {d}')
|
255
255
|
|
256
256
|
if not hutils.network.is_in_same_asn(d, server_ips[0]):
|
257
|
+
dip = next(iter(dips))
|
257
258
|
server_asn = hutils.network.get_ip_asn(server_ips[0])
|
258
|
-
domain_asn = hutils.network.get_ip_asn(
|
259
|
+
domain_asn = hutils.network.get_ip_asn(dip) # type: ignore
|
259
260
|
msg = _("domain.reality.asn_issue") + \
|
260
261
|
(f"<br> Server ASN={server_asn}<br>{d}_ASN={domain_asn}" if server_asn or domain_asn else "")
|
261
262
|
hutils.flask.flash(msg, 'warning')
|
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=DUQBdAOuAKfJ37rMnpDFMV7J2msDNY7x1Dv50pMNn0g,8
|
3
|
+
hiddifypanel/VERSION.py,sha256=iZZ7yX2w_Q3Kd4KmcGadd8ZNYUoS7wvI3OEVwDkrVTk,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=Xq0UwiFTRFmQpxnOehQGwPDlJqoelwGhPQbYZ0Xn5c0,7850
|
@@ -37,7 +37,7 @@ hiddifypanel/hutils/node/parent.py,sha256=UbyfvfP4fTSn6HN9oZDjYsKYIejiqW6eApKIfP
|
|
37
37
|
hiddifypanel/hutils/node/shared.py,sha256=FDSj3e-i3pb3mEv5vcUeX0Km1nxYg1CeAruIq7RwFmU,2540
|
38
38
|
hiddifypanel/hutils/proxy/__init__.py,sha256=xXBa83kjYT_b-BNseEykfQYyJBQHTq1ZosfR8ZrQHkI,106
|
39
39
|
hiddifypanel/hutils/proxy/clash.py,sha256=t57ywMo2TPpnAIuOn9v5gMD2os7zqS9b4NQtFX-Do5s,5813
|
40
|
-
hiddifypanel/hutils/proxy/shared.py,sha256=
|
40
|
+
hiddifypanel/hutils/proxy/shared.py,sha256=3xyRNkwlUl91asHhCExcMNrjU5-qWvHI4dtji1exvSo,21766
|
41
41
|
hiddifypanel/hutils/proxy/singbox.py,sha256=WBSsGF7QeNvDPg0SbfWitV2_CP6UQ0gcV5-Gpy4AlkY,10786
|
42
42
|
hiddifypanel/hutils/proxy/xray.py,sha256=LFHjgQhebN4Kw1XzMDRk7F_K-2DSL93wkad12XijzBA,10694
|
43
43
|
hiddifypanel/hutils/proxy/xrayjson.py,sha256=Ph1m_ZKINZ57XyWcnhp5mjASWL4ahj8ObVu3Kd7O8ZI,14452
|
@@ -47,7 +47,7 @@ hiddifypanel/models/base_account.py,sha256=TUGDGHt3q3GWqWBdWwqaZl75KXTt7bw6pxnzO
|
|
47
47
|
hiddifypanel/models/child.py,sha256=ZFJaH-GWTKAGD0BGMH0iKEMipi37_cAk59OeJKt2IKA,3039
|
48
48
|
hiddifypanel/models/config.py,sha256=-KKYqMkSEn2DabRxqBogSyA6xOU4ons6sa5CxxHAlAk,6373
|
49
49
|
hiddifypanel/models/config_enum.py,sha256=KDDXdYfNKjY3SUvmmhAJqLQ5cshFAsQjtqgZ8jbrjo8,15364
|
50
|
-
hiddifypanel/models/domain.py,sha256=
|
50
|
+
hiddifypanel/models/domain.py,sha256=0tAPHR6XukN35CoyOxR3zXDNjXR-w_Ezd89jxk2H-xc,8308
|
51
51
|
hiddifypanel/models/parent_domain.py,sha256=bs5F1neOAQu9XHEk3QQTBM4p2iuebM4cnAQqwfNjCtg,2291
|
52
52
|
hiddifypanel/models/proxy.py,sha256=9cm5Q0ZUEPeRDWdm1lQGom0SM_Q32NCDFTNFh36OzaQ,3304
|
53
53
|
hiddifypanel/models/report.py,sha256=33h9k12SAEWkwZsc3-jUdIIpFL66cEOTHQqVXd07NWY,1001
|
@@ -71,7 +71,7 @@ hiddifypanel/panel/admin/AdminstratorAdmin.py,sha256=eUUe5b8bGPj2nZstKkwK3lhqBhM
|
|
71
71
|
hiddifypanel/panel/admin/Backup.py,sha256=BKSoAZgw1j16P1Jh9vMqGj7ZfB2m-WafDK0C5vil5FY,3634
|
72
72
|
hiddifypanel/panel/admin/ConfigAdmin.py,sha256=0hnLY-8BxrpVnrAcQaedWjHnRUq1X_Styi_ZCZ2ivds,2876
|
73
73
|
hiddifypanel/panel/admin/Dashboard.py,sha256=JOqZLHxPOYKQYQVJ7AtHAkilH-anJZQyK1rQrgCJUeA,3798
|
74
|
-
hiddifypanel/panel/admin/DomainAdmin.py,sha256=
|
74
|
+
hiddifypanel/panel/admin/DomainAdmin.py,sha256=hORvsng-7m-r4bPS866g1AxI2eU1lmisrK5QD2p5py0,15790
|
75
75
|
hiddifypanel/panel/admin/NodeAdmin.py,sha256=QAHQjF7e7F4KqsWNWpMt7SoLANlFEborVtWQV9OXJ2E,3102
|
76
76
|
hiddifypanel/panel/admin/ProxyAdmin.py,sha256=jiay6e9Eyi_-VgWORBLgCAyzxLRYCAyJnlG7DtFaQIc,5243
|
77
77
|
hiddifypanel/panel/admin/QuickSetup.py,sha256=EDa_ombxF3vWDsj7JEmDnw8Kf0bKwdXU-IdISDi2hj0,11448
|
@@ -822,24 +822,24 @@ hiddifypanel/templates/redirect.html,sha256=K9x_O4P96vEkqBhOXIhoGrWw1KIqd2bL0BjI
|
|
822
822
|
hiddifypanel/templates/static.html,sha256=jp6q4wtx-k2A_cjqJoNiMS7Ee30arE45qI3ev4d5ky4,165
|
823
823
|
hiddifypanel/templates/hiddify-flask-admin/actions.html,sha256=2NeITe2e-lPKCk_o511tCIqVtrPu8LYHE1wTCtrFUrI,1331
|
824
824
|
hiddifypanel/templates/hiddify-flask-admin/list.html,sha256=MBGrTqZpzNLe4sZy0RozvXNr8seFUQc2C6v88BJtNWc,11095
|
825
|
-
hiddifypanel/translations/en/LC_MESSAGES/messages.mo,sha256=
|
825
|
+
hiddifypanel/translations/en/LC_MESSAGES/messages.mo,sha256=xKjzGhSJO71URpFNxD0DBW0BPXJLUPl-BYa7zrIjrmI,75756
|
826
826
|
hiddifypanel/translations/en/LC_MESSAGES/messages.po,sha256=96O8XWX3UEb8OCw0WL9cGTOkzyU51UupXSKt4dBMs14,78920
|
827
|
-
hiddifypanel/translations/fa/LC_MESSAGES/messages.mo,sha256=
|
827
|
+
hiddifypanel/translations/fa/LC_MESSAGES/messages.mo,sha256=oA9Ptn17rDCOuGi24lY3_MIUVr2fYYhHOYkMkcWbr2I,96092
|
828
828
|
hiddifypanel/translations/fa/LC_MESSAGES/messages.po,sha256=JdZQhrLwzFDngs0Wu3qDJaCxSoh7UJn09zwPTMKupyg,101469
|
829
|
-
hiddifypanel/translations/pt/LC_MESSAGES/messages.mo,sha256=
|
829
|
+
hiddifypanel/translations/pt/LC_MESSAGES/messages.mo,sha256=4qHrNodkt-6_zgGyRV3kuTeUc8FDwQmQCF9myyJdNoM,58649
|
830
830
|
hiddifypanel/translations/pt/LC_MESSAGES/messages.po,sha256=tEWo_g0gJAm1wlmRWfV7rKjt1w87GglPwv504K7hPyI,69401
|
831
|
-
hiddifypanel/translations/ru/LC_MESSAGES/messages.mo,sha256=
|
831
|
+
hiddifypanel/translations/ru/LC_MESSAGES/messages.mo,sha256=49qGdceJuJmi4yKqXIdyfeogPP46YDF6kkj8r6sue1Y,97620
|
832
832
|
hiddifypanel/translations/ru/LC_MESSAGES/messages.po,sha256=7gdyumMtKwmL2KtbdE6aVSZ31N5VM51GuyHhS__41ds,104624
|
833
|
-
hiddifypanel/translations/zh/LC_MESSAGES/messages.mo,sha256=
|
833
|
+
hiddifypanel/translations/zh/LC_MESSAGES/messages.mo,sha256=JJrIIN5TceGYRpwEVXI1uB-cFWUGm4Ni28SCm2QDzWU,58966
|
834
834
|
hiddifypanel/translations/zh/LC_MESSAGES/messages.po,sha256=8aP7TqaDZjDEHwiL0t8_eu5yP5PH8OrgouOND9ExH88,68629
|
835
835
|
hiddifypanel/translations.i18n/en.json,sha256=IukyU5kkY_FRkFx_xT1APP7A5PASazjFOzMzDg5aZy0,68563
|
836
836
|
hiddifypanel/translations.i18n/fa.json,sha256=ebTs9S5L4F_rFYfQxuJ8pMr6fz2PG8i8fkl4Soyxhzc,91103
|
837
837
|
hiddifypanel/translations.i18n/pt.json,sha256=YQseQvgHDlCy3HHVJo-yAvepMl_y-zCU0qPLARybDmA,59407
|
838
838
|
hiddifypanel/translations.i18n/ru.json,sha256=dCp5BI_15WoiMpV2u9_6M6feS_yL_lf22gXeyMqJDB4,94231
|
839
839
|
hiddifypanel/translations.i18n/zh.json,sha256=8iFoOhmXeoPJHWop7Fa8FMs1Ix-5jvn09gq8N9w1iUs,58875
|
840
|
-
hiddifypanel-10.50.
|
841
|
-
hiddifypanel-10.50.
|
842
|
-
hiddifypanel-10.50.
|
843
|
-
hiddifypanel-10.50.
|
844
|
-
hiddifypanel-10.50.
|
845
|
-
hiddifypanel-10.50.
|
840
|
+
hiddifypanel-10.50.2.dist-info/LICENSE.md,sha256=oDrt-cUsyiDGnRPjEJh-3dH2ddAuK_bIVBD8ntkOtZw,19807
|
841
|
+
hiddifypanel-10.50.2.dist-info/METADATA,sha256=PjgN7NVbTyxamXLihAR41ABhBBQxahWSY5pY8Q7h6pk,4039
|
842
|
+
hiddifypanel-10.50.2.dist-info/WHEEL,sha256=Z4pYXqR_rTB7OWNDYFOm1qRk0RX6GFP2o8LgvP453Hk,91
|
843
|
+
hiddifypanel-10.50.2.dist-info/entry_points.txt,sha256=Xzpqlh3nwBtZhoV9AANJykano056VJvYzaujxPztJaM,60
|
844
|
+
hiddifypanel-10.50.2.dist-info/top_level.txt,sha256=rv-b3qFWUZQTBy0kyBfsr7L6tPpeO7AaQlLHXn-HI5M,13
|
845
|
+
hiddifypanel-10.50.2.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|