hiddifypanel 10.70.0.dev0__py3-none-any.whl → 10.70.0.dev2__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.
Files changed (29) hide show
  1. hiddifypanel/VERSION +1 -1
  2. hiddifypanel/VERSION.py +2 -2
  3. hiddifypanel/hutils/proxy/clash.py +9 -8
  4. hiddifypanel/hutils/proxy/singbox.py +3 -1
  5. hiddifypanel/hutils/proxy/xrayjson.py +16 -12
  6. hiddifypanel/models/config_enum.py +1 -1
  7. hiddifypanel/panel/admin/SettingAdmin.py +4 -4
  8. hiddifypanel/panel/init_db.py +5 -0
  9. hiddifypanel/translations/en/LC_MESSAGES/messages.mo +0 -0
  10. hiddifypanel/translations/en/LC_MESSAGES/messages.po +3 -3
  11. hiddifypanel/translations/fa/LC_MESSAGES/messages.mo +0 -0
  12. hiddifypanel/translations/fa/LC_MESSAGES/messages.po +2 -2
  13. hiddifypanel/translations/pt/LC_MESSAGES/messages.mo +0 -0
  14. hiddifypanel/translations/pt/LC_MESSAGES/messages.po +2 -2
  15. hiddifypanel/translations/ru/LC_MESSAGES/messages.mo +0 -0
  16. hiddifypanel/translations/ru/LC_MESSAGES/messages.po +2 -2
  17. hiddifypanel/translations/zh/LC_MESSAGES/messages.mo +0 -0
  18. hiddifypanel/translations/zh/LC_MESSAGES/messages.po +2 -2
  19. hiddifypanel/translations.i18n/en.json +3 -3
  20. hiddifypanel/translations.i18n/fa.json +2 -2
  21. hiddifypanel/translations.i18n/pt.json +2 -2
  22. hiddifypanel/translations.i18n/ru.json +2 -2
  23. hiddifypanel/translations.i18n/zh.json +2 -2
  24. {hiddifypanel-10.70.0.dev0.dist-info → hiddifypanel-10.70.0.dev2.dist-info}/METADATA +1 -1
  25. {hiddifypanel-10.70.0.dev0.dist-info → hiddifypanel-10.70.0.dev2.dist-info}/RECORD +29 -29
  26. {hiddifypanel-10.70.0.dev0.dist-info → hiddifypanel-10.70.0.dev2.dist-info}/LICENSE.md +0 -0
  27. {hiddifypanel-10.70.0.dev0.dist-info → hiddifypanel-10.70.0.dev2.dist-info}/WHEEL +0 -0
  28. {hiddifypanel-10.70.0.dev0.dist-info → hiddifypanel-10.70.0.dev2.dist-info}/entry_points.txt +0 -0
  29. {hiddifypanel-10.70.0.dev0.dist-info → hiddifypanel-10.70.0.dev2.dist-info}/top_level.txt +0 -0
hiddifypanel/VERSION CHANGED
@@ -1 +1 @@
1
- 10.70.0.dev0
1
+ 10.70.0.dev2
hiddifypanel/VERSION.py CHANGED
@@ -1,3 +1,3 @@
1
- __version__='10.70.0.dev0'
1
+ __version__='10.70.0.dev2'
2
2
  from datetime import datetime
3
- __release_date__= datetime.strptime('2024-07-26','%Y-%m-%d')
3
+ __release_date__= datetime.strptime('2024-07-28','%Y-%m-%d')
@@ -29,17 +29,18 @@ def get_all_clash_configs(meta_or_normal, domains: list[Domain]):
29
29
  def to_clash(proxy, meta_or_normal):
30
30
 
31
31
  name = proxy['name']
32
- if proxy['l3'] == "kcp":
33
- return {'name': name, 'msg': "clash does not support kcp", 'type': 'debug'}
34
- if proxy['proto'] == "ssh":
35
- return {'name': name, 'msg': "clash does not support ssh", 'type': 'debug'}
32
+
33
+ if proxy['l3'] in ["kcp", ProxyL3.h3_quic]:
34
+ return {'name': name, 'msg': f"clash does not support {proxy['l3']}", 'type': 'debug'}
35
+ if proxy['proto'] in ["ssh", "wireguard", "tuic", "hysteria"]:
36
+ return {'name': name, 'msg': f"clash does not support {proxy['proto']}", 'type': 'debug'}
37
+ if proxy.get('flow'):
38
+ return {'name': name, 'msg': "xtls not supported in clash", 'type': 'debug'}
36
39
  if meta_or_normal == "normal":
37
40
  if proxy['proto'] in ["vless", 'tuic', 'hysteria2']:
38
41
  return {'name': name, 'msg': f"{proxy['proto']} not supported in clash", 'type': 'debug'}
39
- if proxy.get('flow'):
40
- return {'name': name, 'msg': "xtls not supported in clash", 'type': 'debug'}
41
- if proxy['transport'] == "shadowtls":
42
- return {'name': name, 'msg': "shadowtls not supported in clash", 'type': 'debug'}
42
+ if proxy['transport'] in ["shadowtls", "splithttp"]:
43
+ return {'name': name, 'msg': f"{proxy['transport']} not supported in clash", 'type': 'debug'}
43
44
  if proxy['l3'] == ProxyL3.tls_h2 and proxy['proto'] in [ProxyProto.vmess, ProxyProto.vless] and proxy['dbe'].cdn == ProxyCDN.direct:
44
45
  return {'name': name, 'msg': "bug tls_h2 vmess and vless in clash meta", 'type': 'warning'}
45
46
  base = {}
@@ -64,7 +64,9 @@ def to_singbox(proxy: dict) -> list[dict] | dict:
64
64
  if is_xray_proxy(proxy):
65
65
  if hutils.flask.is_client_version(hutils.flask.ClientVersion.hiddify_next, 1, 9, 0):
66
66
  base['type'] = "xray"
67
- base['xray_outbound_raw'] = to_xray(proxy)
67
+ xp = to_xray(proxy)
68
+ xp['streamSettings']['sockopt'] = {}
69
+ base['xray_outbound_raw'] = xp
68
70
  return all_base
69
71
  return {'name': name, 'msg': "xray proxy does not support in this client version", 'type': 'debug'}
70
72
  base["type"] = str(proxy["proto"])
@@ -94,10 +94,10 @@ def to_xray(proxy: dict) -> dict:
94
94
  'protocol': str(proxy['proto']),
95
95
  'settings': {},
96
96
  'streamSettings': {},
97
- 'mux': { # default value
98
- 'enabled': False,
99
- 'concurrency': -1
100
- }
97
+ # 'mux': { # default value
98
+ # # 'enabled': False,
99
+ # # 'concurrency': -1
100
+ # }
101
101
  }
102
102
  outbound['protocol'] = 'shadowsocks' if outbound['protocol'] == 'ss' else outbound['protocol']
103
103
  # add multiplex to outbound
@@ -216,7 +216,7 @@ def add_stream_settings(base: dict, proxy: dict):
216
216
  # security
217
217
  if proxy['l3'] == ProxyL3.reality:
218
218
  ss['security'] = 'reality'
219
- elif proxy['l3'] in [ProxyL3.tls, ProxyL3.tls_h2, ProxyL3.tls_h2_h1]:
219
+ elif proxy['l3'] in [ProxyL3.tls, ProxyL3.tls_h2, ProxyL3.tls_h2_h1, ProxyL3.h3_quic]:
220
220
  ss['security'] = 'tls'
221
221
 
222
222
  # network and transport settings
@@ -226,7 +226,8 @@ def add_stream_settings(base: dict, proxy: dict):
226
226
  if ss['security'] == 'reality':
227
227
  ss['network'] = proxy['transport']
228
228
  add_reality_stream(ss, proxy)
229
- elif ss['security'] == 'tls' or 'xtls' and proxy['proto'] != ProxyProto.ss:
229
+ elif ss['security'] in ['tls', "xtls"] and proxy['proto'] != ProxyProto.ss:
230
+
230
231
  ss['tlsSettings'] = {
231
232
  'serverName': proxy['sni'],
232
233
  'allowInsecure': proxy['allow_insecure'],
@@ -341,7 +342,9 @@ def add_splithttp_stream(ss: dict, proxy: dict):
341
342
  ss['splithttpSettings'] = {
342
343
  'path': proxy['path'],
343
344
  'host': proxy['host'],
344
- # 'acceptProxyProtocol': '', for inbounds only
345
+ "headers": {
346
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36"
347
+ }
345
348
  }
346
349
 
347
350
 
@@ -366,8 +369,8 @@ def add_kcp_stream(ss: dict, proxy: dict):
366
369
 
367
370
  def add_quic_stream(ss: dict, proxy: dict):
368
371
  # TODO: fix server side configs first
369
- ss['quicSettings'] = {}
370
372
  return
373
+
371
374
  ss['quicSettings'] = {
372
375
  'security': 'chacha20-poly1305',
373
376
  'key': proxy['path'],
@@ -411,10 +414,11 @@ def add_multiplex(base: dict, proxy: dict):
411
414
 
412
415
  concurrency = proxy['mux_max_connections']
413
416
  if concurrency and concurrency > 0:
414
- base['mux']['enabled'] = True
415
- base['mux']['concurrency'] = concurrency
416
- base['mux']['xudpConcurrency'] = concurrency
417
- base['mux']['xudpProxyUDP443'] = 'reject'
417
+ base['mux'] = {'enabled': True,
418
+ 'concurrency': concurrency,
419
+ 'xudpConcurrency': concurrency,
420
+ 'xudpProxyUDP443': 'reject',
421
+ }
418
422
 
419
423
 
420
424
  def null_config(tag: str) -> dict:
@@ -245,7 +245,7 @@ class ConfigEnum(metaclass=FastEnum):
245
245
  trojan_enable = _BoolConfigDscr(ConfigCategory.proxies, ApplyMode.apply_config)
246
246
  reality_enable = _BoolConfigDscr(ConfigCategory.proxies, ApplyMode.apply_config)
247
247
  tcp_enable = _BoolConfigDscr(ConfigCategory.proxies, ApplyMode.apply_config)
248
- quic_enable = _BoolConfigDscr(ConfigCategory.hidden, ApplyMode.apply_config)
248
+ quic_enable = _BoolConfigDscr(ConfigCategory.proxies, ApplyMode.apply_config)
249
249
  xtls_enable = _BoolConfigDscr(ConfigCategory.hidden, ApplyMode.apply_config)
250
250
  h2_enable = _BoolConfigDscr(ConfigCategory.proxies, ApplyMode.apply_config)
251
251
 
@@ -16,7 +16,8 @@ from flask_bootstrap import SwitchField
16
16
  # from gettext import gettext as _
17
17
  from flask_classful import FlaskView
18
18
  from flask_wtf import FlaskForm
19
- from bleach import clean as bleach_clean
19
+ from bleach import clean as bleach_clean, ALLOWED_TAGS as BLEACH_ALLOWED_TAGS
20
+ ALLOWED_TAGS = set([*BLEACH_ALLOWED_TAGS, "h1", "h2", "h3", "h4", "p"])
20
21
 
21
22
 
22
23
  from hiddifypanel.models import BoolConfig, StrConfig, ConfigEnum, hconfig, ConfigCategory
@@ -94,9 +95,8 @@ class SettingAdmin(FlaskView):
94
95
 
95
96
  for k, v in changed_configs.items():
96
97
  # html inputs santitizing
97
- san_items = {ConfigEnum.branding_title, ConfigEnum.branding_site, ConfigEnum.branding_freetext}
98
- if k in san_items:
99
- v = bleach_clean(v)
98
+ if k in {ConfigEnum.branding_title, ConfigEnum.branding_site, ConfigEnum.branding_freetext}:
99
+ v = bleach_clean(v, tags=ALLOWED_TAGS)
100
100
  set_hconfig(k, v, commit=False)
101
101
 
102
102
  db.session.commit()
@@ -17,6 +17,11 @@ from loguru import logger
17
17
  MAX_DB_VERSION = 100
18
18
 
19
19
 
20
+ def _v93(child_id):
21
+ set_hconfig(ConfigEnum.quic_enable, True)
22
+ set_hconfig(ConfigEnum.splithttp_enable, True)
23
+
24
+
20
25
  def _v92(child_id):
21
26
  db.session.bulk_save_objects(get_proxy_rows_v1())
22
27
 
@@ -1649,7 +1649,7 @@ msgid "config.path_splithttp.description"
1649
1649
  msgstr "This option defines the Path for Split HTTP"
1650
1650
 
1651
1651
  msgid "config.path_splithttp.label"
1652
- msgstr "Path for SplitHTTP"
1652
+ msgstr "Path for Split HTTP"
1653
1653
 
1654
1654
  msgid "config.path_ss.description"
1655
1655
  msgstr "Shadowsocks Path in the Links"
@@ -1872,10 +1872,10 @@ msgid "config.speed_test.label"
1872
1872
  msgstr "🚀 Speed Test"
1873
1873
 
1874
1874
  msgid "config.splithttp_enable.description"
1875
- msgstr "This option activates Split HTTP"
1875
+ msgstr "This Protocol send and receive information in individual channels "
1876
1876
 
1877
1877
  msgid "config.splithttp_enable.label"
1878
- msgstr "Enabling Split HTTP"
1878
+ msgstr "Split HTTP"
1879
1879
 
1880
1880
  msgid "config.ssfaketls.description"
1881
1881
  msgstr ""
@@ -1871,10 +1871,10 @@ msgid "config.speed_test.label"
1871
1871
  msgstr "🚀 تست سرعت"
1872
1872
 
1873
1873
  msgid "config.splithttp_enable.description"
1874
- msgstr "این گزینه Split HTTP را فعال می کند"
1874
+ msgstr "این پروتکل اطلاعات را در کانال های جداگانه ارسال و دریافت می کند "
1875
1875
 
1876
1876
  msgid "config.splithttp_enable.label"
1877
- msgstr "فعال کردن Split HTTP"
1877
+ msgstr "Split HTTP"
1878
1878
 
1879
1879
  msgid "config.ssfaketls.description"
1880
1880
  msgstr ""
@@ -1797,10 +1797,10 @@ msgid "config.speed_test.label"
1797
1797
  msgstr "🚀 Teste de velocidade"
1798
1798
 
1799
1799
  msgid "config.splithttp_enable.description"
1800
- msgstr "Esta opção ativa Split HTTP"
1800
+ msgstr "Este protocolo envia e recebe informações em canais individuais "
1801
1801
 
1802
1802
  msgid "config.splithttp_enable.label"
1803
- msgstr "Habilitando Split HTTP"
1803
+ msgstr "Split HTTP"
1804
1804
 
1805
1805
  msgid "config.ssfaketls.description"
1806
1806
  msgstr ""
@@ -1883,10 +1883,10 @@ msgid "config.speed_test.label"
1883
1883
  msgstr "🚀 Тест скорости"
1884
1884
 
1885
1885
  msgid "config.splithttp_enable.description"
1886
- msgstr "Эта опция активирует Split HTTP."
1886
+ msgstr "Этот протокол отправляет и получает информацию по отдельным каналам. "
1887
1887
 
1888
1888
  msgid "config.splithttp_enable.label"
1889
- msgstr "Включение Split HTTP"
1889
+ msgstr "Split HTTP"
1890
1890
 
1891
1891
  msgid "config.ssfaketls.description"
1892
1892
  msgstr ""
@@ -1767,10 +1767,10 @@ msgid "config.speed_test.label"
1767
1767
  msgstr "🚀 速度测试"
1768
1768
 
1769
1769
  msgid "config.splithttp_enable.description"
1770
- msgstr "此选项激活 Split HTTP"
1770
+ msgstr "该协议通过单独的渠道发送和接收信息 "
1771
1771
 
1772
1772
  msgid "config.splithttp_enable.label"
1773
- msgstr "启用 Split HTTP"
1773
+ msgstr "HTTP"
1774
1774
 
1775
1775
  msgid "config.ssfaketls.description"
1776
1776
  msgstr "Shadowsocks FakeTLS 是一个简单的混淆工具,将日期封装在 tls 数据包中"
@@ -642,7 +642,7 @@
642
642
  },
643
643
  "path_splithttp": {
644
644
  "description": "This option defines the Path for Split HTTP",
645
- "label": "Path for SplitHTTP"
645
+ "label": "Path for Split HTTP"
646
646
  },
647
647
  "path_ss": {
648
648
  "description": "Shadowsocks Path in the Links",
@@ -777,8 +777,8 @@
777
777
  "label": "🚀 Speed Test"
778
778
  },
779
779
  "splithttp_enable": {
780
- "description": "This option activates Split HTTP",
781
- "label": "Enabling Split HTTP"
780
+ "description": "This Protocol send and receive information in individual channels ",
781
+ "label": "Split HTTP"
782
782
  },
783
783
  "ssfaketls": {
784
784
  "description": "Shadowsocks FakeTLS is a simple obfusacting tool that encapsulate the date In tls packet",
@@ -777,8 +777,8 @@
777
777
  "label": "🚀 تست سرعت"
778
778
  },
779
779
  "splithttp_enable": {
780
- "description": "این گزینه Split HTTP را فعال می کند",
781
- "label": "فعال کردن Split HTTP"
780
+ "description": "این پروتکل اطلاعات را در کانال های جداگانه ارسال و دریافت می کند ",
781
+ "label": "Split HTTP"
782
782
  },
783
783
  "ssfaketls": {
784
784
  "description": "شادوساکس FakeTLS یک روش مبهم سازی ساده هست که دیتا را در بسته TLS کپسوله میکند تا فیلترچی فریب بخورد.",
@@ -777,8 +777,8 @@
777
777
  "label": "🚀 Teste de velocidade"
778
778
  },
779
779
  "splithttp_enable": {
780
- "description": "Esta opção ativa Split HTTP",
781
- "label": "Habilitando Split HTTP"
780
+ "description": "Este protocolo envia e recebe informações em canais individuais ",
781
+ "label": "Split HTTP"
782
782
  },
783
783
  "ssfaketls": {
784
784
  "description": "Shadowsocks FakeTLS é uma ferramenta de ofuscação simples que encapsula a data In tls package",
@@ -777,8 +777,8 @@
777
777
  "label": "🚀 Тест скорости"
778
778
  },
779
779
  "splithttp_enable": {
780
- "description": "Эта опция активирует Split HTTP.",
781
- "label": "Включение Split HTTP"
780
+ "description": "Этот протокол отправляет и получает информацию по отдельным каналам. ",
781
+ "label": "Split HTTP"
782
782
  },
783
783
  "ssfaketls": {
784
784
  "description": "Shadowsocks FakeTLS — это простой инструмент для запутывания, который инкапсулирует данные в пакете tls.",
@@ -777,8 +777,8 @@
777
777
  "label": "🚀 速度测试"
778
778
  },
779
779
  "splithttp_enable": {
780
- "description": "此选项激活 Split HTTP",
781
- "label": "启用 Split HTTP"
780
+ "description": "该协议通过单独的渠道发送和接收信息 ",
781
+ "label": "HTTP"
782
782
  },
783
783
  "ssfaketls": {
784
784
  "description": "Shadowsocks FakeTLS 是一个简单的混淆工具,将日期封装在 tls 数据包中",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hiddifypanel
3
- Version: 10.70.0.dev0
3
+ Version: 10.70.0.dev2
4
4
  Summary: hiddifypanel multi proxy panel
5
5
  Home-page: https://github.com/hiddify/hiddify-manager/
6
6
  Author: hiddify
@@ -1,6 +1,6 @@
1
1
  hiddifypanel/Events.py,sha256=AlnRdjVul0jP-NCT4-zoaQgowoOo-JhdQB4ytetAFKA,723
2
- hiddifypanel/VERSION,sha256=JhumrB_eWx7aMlskhPQ7VV523GVkDZxJILZL5dmC-oU,13
3
- hiddifypanel/VERSION.py,sha256=eYBn1zvx3WN9ffQ6H-iUmmdJRXzrdhVlCBk-PCU1me4,118
2
+ hiddifypanel/VERSION,sha256=nyxLQUiAXjMuNgwmkbZZ9un5ol0OVlAxSHPX0LYOHwE,13
3
+ hiddifypanel/VERSION.py,sha256=pnsCs8jxjOyI2TcrjOskYRTN3nT6Zhde2oQWYUWnFzs,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=Xq0UwiFTRFmQpxnOehQGwPDlJqoelwGhPQbYZ0Xn5c0,7850
@@ -36,17 +36,17 @@ hiddifypanel/hutils/node/child.py,sha256=oAyKlEHHn9FHcpZ9jBi3nYH-GHs8H7Gi2hzkmtO
36
36
  hiddifypanel/hutils/node/parent.py,sha256=UbyfvfP4fTSn6HN9oZDjYsKYIejiqW6eApKIfP0Mz5U,3749
37
37
  hiddifypanel/hutils/node/shared.py,sha256=FDSj3e-i3pb3mEv5vcUeX0Km1nxYg1CeAruIq7RwFmU,2540
38
38
  hiddifypanel/hutils/proxy/__init__.py,sha256=xXBa83kjYT_b-BNseEykfQYyJBQHTq1ZosfR8ZrQHkI,106
39
- hiddifypanel/hutils/proxy/clash.py,sha256=t57ywMo2TPpnAIuOn9v5gMD2os7zqS9b4NQtFX-Do5s,5813
39
+ hiddifypanel/hutils/proxy/clash.py,sha256=n5trDzBXg26aeqLTGGCDVIGGpAM1VC7YX1cTwLNG18k,5912
40
40
  hiddifypanel/hutils/proxy/shared.py,sha256=AwkpjkjpeCFiYBj9BIsqRFUWfKTAQ2L8HwGXsRY-_Dc,22419
41
- hiddifypanel/hutils/proxy/singbox.py,sha256=vBVSJ0r4TRri1ErtVo7qm-yS3xXTSYoTdUGF2rczkm8,11314
41
+ hiddifypanel/hutils/proxy/singbox.py,sha256=dpJlEkn4x_WO0gaJ4U5C07xb-_uBt2qZc69N2SPBtDY,11383
42
42
  hiddifypanel/hutils/proxy/xray.py,sha256=sw_g1xhIBAyCQ4cymorrHJSw2u4LOAJ41slmvxwsz5c,10788
43
- hiddifypanel/hutils/proxy/xrayjson.py,sha256=TsnOHM5IUAn5AVEsboVVTLzDLS93EU67SqasHm1y6BA,14796
43
+ hiddifypanel/hutils/proxy/xrayjson.py,sha256=TSD05g8dwwL2pLj8by_jSy4eIP0fDDxy1l4fI-2M1Zw,14948
44
44
  hiddifypanel/models/__init__.py,sha256=PngFjQL9WvQP4EioNHRz1tTeyIgLoNvZ7WpmAhwKHnU,677
45
45
  hiddifypanel/models/admin.py,sha256=qZ-BRJ_Gn6hJNWz35SQQSds1CoeDslU9B0MDBRhjPSM,7596
46
46
  hiddifypanel/models/base_account.py,sha256=TUGDGHt3q3GWqWBdWwqaZl75KXTt7bw6pxnzOWAbkjI,3454
47
47
  hiddifypanel/models/child.py,sha256=ZFJaH-GWTKAGD0BGMH0iKEMipi37_cAk59OeJKt2IKA,3039
48
48
  hiddifypanel/models/config.py,sha256=-KKYqMkSEn2DabRxqBogSyA6xOU4ons6sa5CxxHAlAk,6373
49
- hiddifypanel/models/config_enum.py,sha256=_lVn3Gv5JiZsguwcCU07dlngs5C5ADhKCV6gaXFEOz0,16185
49
+ hiddifypanel/models/config_enum.py,sha256=ouGCvSDvVy9qSJvm1-VjEpe4l5rgN9NSJD2IBruDhvI,16186
50
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=czKeDz_MVUSHuX2Lf9H2Ys_kgkggtzEiUx3HZPjJCXQ,3327
@@ -63,7 +63,7 @@ hiddifypanel/panel/cli.py,sha256=GNK-lqoedepG6hfpLHTPLxBaMsdjbQHZAw-qKjdRxnQ,859
63
63
  hiddifypanel/panel/common.py,sha256=pYI_z8dfeeaeSZWN2hUOnj10LtgvGRQBzhPaoGdYR0M,7654
64
64
  hiddifypanel/panel/custom_widgets.py,sha256=_zA0WZRZOCyh6Z1gW62aRQLMAOM_m85B2oZoIOU59Ys,2637
65
65
  hiddifypanel/panel/hiddify.py,sha256=-GBmkEXnGsIhZtjRomYJsqmnEToZwSXzd8ltS6Slgrc,15615
66
- hiddifypanel/panel/init_db.py,sha256=C6AZWzy14thindMeNPrRTPT5TjMbOFVbFvlI9g2bGmw,35150
66
+ hiddifypanel/panel/init_db.py,sha256=NMwbMdQfTttQIrX74R932kOhIVEQBYIk6UDFRVS7Ts0,35269
67
67
  hiddifypanel/panel/run_commander.py,sha256=D9y-My0xSe2adHWXKV5UPYGl-9WwKURzniq55MRu6tE,3259
68
68
  hiddifypanel/panel/usage.py,sha256=sG4qhH8p7PS04W7CjbfbNS4GE88IPtRAeOdqQiHPntw,6860
69
69
  hiddifypanel/panel/admin/Actions.py,sha256=o_ENbphriVrbRJkx9nvrkpaliuMIfp34sscMkZJ3P5s,8578
@@ -75,7 +75,7 @@ hiddifypanel/panel/admin/DomainAdmin.py,sha256=0g9AEk_YVCEZZMscgVDLsqQAAk0QBMW1h
75
75
  hiddifypanel/panel/admin/NodeAdmin.py,sha256=QAHQjF7e7F4KqsWNWpMt7SoLANlFEborVtWQV9OXJ2E,3102
76
76
  hiddifypanel/panel/admin/ProxyAdmin.py,sha256=6t6QDJpdRJJ-TNQbK90pf5TI6y9fSlZQEDuPzaOFjrc,5250
77
77
  hiddifypanel/panel/admin/QuickSetup.py,sha256=EDa_ombxF3vWDsj7JEmDnw8Kf0bKwdXU-IdISDi2hj0,11448
78
- hiddifypanel/panel/admin/SettingAdmin.py,sha256=0lzKol5pwuM1axYFyANNPJiIWme2xjZ64QX3PlTv16U,19574
78
+ hiddifypanel/panel/admin/SettingAdmin.py,sha256=fpl4zeKAhqll5JDJ7wzA2E2MBGzYac83RXHHLtnWYec,19664
79
79
  hiddifypanel/panel/admin/Terminal.py,sha256=rzZWRjMhjVnAvC65rfE3HJT3boUDznI6fl-htzKp7sI,1712
80
80
  hiddifypanel/panel/admin/UserAdmin.py,sha256=UPPg92NGxclBKE-inYas58Lz2bc06oFibSMdygQaC2M,18020
81
81
  hiddifypanel/panel/admin/__init__.py,sha256=hb0A2HuK_nBZRCNPumwahXX-25FMxODKYlNbk2ItF08,3015
@@ -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=va1Z6P0wTWBDdOzhEQSmdFjX79mAZariEQ_DZGVGbLM,76118
826
- hiddifypanel/translations/en/LC_MESSAGES/messages.po,sha256=MfbE6e8Z_cy2mWEwtUo2ccz6WiBInIepBuf3ElPvkFI,79306
827
- hiddifypanel/translations/fa/LC_MESSAGES/messages.mo,sha256=5j4CnXVWRKa1fN-Ml27tMIkY0JybT4MCD6Ki5-SipEw,96412
828
- hiddifypanel/translations/fa/LC_MESSAGES/messages.po,sha256=207Mz9wePgMiHtvZKRVFHjtarPynYt-rcycwaUx5wZ0,101876
829
- hiddifypanel/translations/pt/LC_MESSAGES/messages.mo,sha256=qxkdachJ3VuoVU_gjIzLJHZf5M2lqW00tVTm04zN9yc,58902
830
- hiddifypanel/translations/pt/LC_MESSAGES/messages.po,sha256=7Fx88L6WDURWI7U3P0B7wu-fPODuWudu8NnFp1jY3fM,69741
831
- hiddifypanel/translations/ru/LC_MESSAGES/messages.mo,sha256=d1nWa_tIMzZz61qUdswF8RfsoStlvwp69O41K0XXqg4,97921
832
- hiddifypanel/translations/ru/LC_MESSAGES/messages.po,sha256=OzosPmC1u41UDt3TDcXMa5KH6pbdNECPTnPU0ix2zYQ,105012
833
- hiddifypanel/translations/zh/LC_MESSAGES/messages.mo,sha256=DMHVEgyvlskPQtoV2VF29gP2twHYsQOfex2eJR-gowc,59215
834
- hiddifypanel/translations/zh/LC_MESSAGES/messages.po,sha256=Mai5YHjA-UiLusxkN5Q_e2VaiXCqiPKDVZ0G39Emlgo,68965
835
- hiddifypanel/translations.i18n/en.json,sha256=Wyyd-JGQEt1QpoXJIFXncOtWQNHfiQBqE2PCc_7NLXY,68873
836
- hiddifypanel/translations.i18n/fa.json,sha256=hWUhH7iM3xy6JPLI47iAt8zBORQyvgx5V6yTWPolYeE,91440
837
- hiddifypanel/translations.i18n/pt.json,sha256=nX-ylFwJatERGIioxFzjNvN12ICFQdvdEU8SK7H1ClU,59677
838
- hiddifypanel/translations.i18n/ru.json,sha256=skOpF3rbA2VUgj1LUn9zx8kauEM8FWAjKjCDDscGW04,94549
839
- hiddifypanel/translations.i18n/zh.json,sha256=ab8kx7EkAmAGQTj1K5PGrS7v659lHhAENkfFlyUSB8o,59141
840
- hiddifypanel-10.70.0.dev0.dist-info/LICENSE.md,sha256=oDrt-cUsyiDGnRPjEJh-3dH2ddAuK_bIVBD8ntkOtZw,19807
841
- hiddifypanel-10.70.0.dev0.dist-info/METADATA,sha256=pKbiN3LILpEnbTZ9uRPascKKqNFE87Md3LvubLpk3Gw,4044
842
- hiddifypanel-10.70.0.dev0.dist-info/WHEEL,sha256=Wyh-_nZ0DJYolHNn1_hMa4lM7uDedD_RGVwbmTjyItk,91
843
- hiddifypanel-10.70.0.dev0.dist-info/entry_points.txt,sha256=Xzpqlh3nwBtZhoV9AANJykano056VJvYzaujxPztJaM,60
844
- hiddifypanel-10.70.0.dev0.dist-info/top_level.txt,sha256=rv-b3qFWUZQTBy0kyBfsr7L6tPpeO7AaQlLHXn-HI5M,13
845
- hiddifypanel-10.70.0.dev0.dist-info/RECORD,,
825
+ hiddifypanel/translations/en/LC_MESSAGES/messages.mo,sha256=KGjwTosj-xJn2xDi58x7SviIbLb8iwS2O-f2aj0mANA,76144
826
+ hiddifypanel/translations/en/LC_MESSAGES/messages.po,sha256=zMVicwQ7Q6MBIqgHuPch0VukS1XSa8zZ-6_BRnligC0,79332
827
+ hiddifypanel/translations/fa/LC_MESSAGES/messages.mo,sha256=KFiLQ9_uebP21_BE53mdWkjNt93LToAfYjMN5AKeSSo,96457
828
+ hiddifypanel/translations/fa/LC_MESSAGES/messages.po,sha256=WTWuDrY-l1HvpU1oECZ-w1I57IipNLTu50dQo3subPs,101921
829
+ hiddifypanel/translations/pt/LC_MESSAGES/messages.mo,sha256=Wwala7Xkz-DnZrMmzY4jHTjAJg-77O78DFgvvfHIbdI,58927
830
+ hiddifypanel/translations/pt/LC_MESSAGES/messages.po,sha256=CjBrdw_493ryJdB78a-hFC4n6bF2Z6ePxGnTQqphjig,69766
831
+ hiddifypanel/translations/ru/LC_MESSAGES/messages.mo,sha256=q5reZvMSm4IhgqXvOl9EZgvq5EKdmCd2ykpq29DR2As,97980
832
+ hiddifypanel/translations/ru/LC_MESSAGES/messages.po,sha256=e1TkuVY3FXWrz1HIpIfW2XueKdq2WCPRvtZYeXPqhtE,105071
833
+ hiddifypanel/translations/zh/LC_MESSAGES/messages.mo,sha256=KZd6MGQwzsXkH7cquAnabMZzk9UYZknbeVbxskvST4k,59228
834
+ hiddifypanel/translations/zh/LC_MESSAGES/messages.po,sha256=8Er7H0ltiIqj7E6xoMVp0rd-_V2U8Hu9CRfZoxVKLYc,68978
835
+ hiddifypanel/translations.i18n/en.json,sha256=ZbBwlCq6T6ksLWWnowMON7u-CB_Vtly7KY8z0vad9TY,68899
836
+ hiddifypanel/translations.i18n/fa.json,sha256=qvTSrBdaIEFe71Q-82RvxAsHg2wUibU0k53sqoqW-PE,91485
837
+ hiddifypanel/translations.i18n/pt.json,sha256=ABrAeZpkgmntC1hkAr0wlG8og44BZbYzR6iBU-p7NJw,59702
838
+ hiddifypanel/translations.i18n/ru.json,sha256=7FWH-wqcu0WqYML-P0i53GA-4b2VWuokyHdZR-EnWnQ,94608
839
+ hiddifypanel/translations.i18n/zh.json,sha256=Jq8E5wV5wQ0QKvZG6egPRKtl8jsoBCMnmFW9lc5vaAI,59154
840
+ hiddifypanel-10.70.0.dev2.dist-info/LICENSE.md,sha256=oDrt-cUsyiDGnRPjEJh-3dH2ddAuK_bIVBD8ntkOtZw,19807
841
+ hiddifypanel-10.70.0.dev2.dist-info/METADATA,sha256=_h0smUUaq-VuSkS7bO8C1wdwe-QP7HUh5FUDifdlymM,4044
842
+ hiddifypanel-10.70.0.dev2.dist-info/WHEEL,sha256=Wyh-_nZ0DJYolHNn1_hMa4lM7uDedD_RGVwbmTjyItk,91
843
+ hiddifypanel-10.70.0.dev2.dist-info/entry_points.txt,sha256=Xzpqlh3nwBtZhoV9AANJykano056VJvYzaujxPztJaM,60
844
+ hiddifypanel-10.70.0.dev2.dist-info/top_level.txt,sha256=rv-b3qFWUZQTBy0kyBfsr7L6tPpeO7AaQlLHXn-HI5M,13
845
+ hiddifypanel-10.70.0.dev2.dist-info/RECORD,,