hiddifypanel 10.80.0__py3-none-any.whl → 10.80.0.dev8__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 (69) hide show
  1. hiddifypanel/VERSION +1 -1
  2. hiddifypanel/VERSION.py +1 -1
  3. hiddifypanel/base.py +129 -43
  4. hiddifypanel/cache.py +1 -1
  5. hiddifypanel/database.py +0 -7
  6. hiddifypanel/hutils/flask.py +3 -3
  7. hiddifypanel/hutils/proxy/__init__.py +0 -1
  8. hiddifypanel/hutils/proxy/clash.py +2 -2
  9. hiddifypanel/hutils/proxy/shared.py +6 -6
  10. hiddifypanel/hutils/proxy/singbox.py +1 -1
  11. hiddifypanel/hutils/proxy/xray.py +2 -2
  12. hiddifypanel/hutils/proxy/xrayjson.py +7 -10
  13. hiddifypanel/models/config.py +1 -4
  14. hiddifypanel/models/config_enum.py +2 -2
  15. hiddifypanel/models/proxy.py +1 -1
  16. hiddifypanel/panel/__init__.py +8 -8
  17. hiddifypanel/panel/admin/AdminstratorAdmin.py +8 -7
  18. hiddifypanel/panel/admin/DomainAdmin.py +98 -132
  19. hiddifypanel/panel/admin/QuickSetup.py +8 -8
  20. hiddifypanel/panel/admin/UserAdmin.py +33 -58
  21. hiddifypanel/panel/admin/templates/index.html +4 -6
  22. hiddifypanel/panel/admin/templates/model/user_list.html +3 -11
  23. hiddifypanel/panel/cli.py +2 -11
  24. hiddifypanel/panel/commercial/restapi/v1/tgbot.py +1 -19
  25. hiddifypanel/panel/commercial/restapi/v2/admin/system_actions.py +1 -5
  26. hiddifypanel/panel/commercial/restapi/v2/admin/user_api.py +1 -2
  27. hiddifypanel/panel/common.py +1 -1
  28. hiddifypanel/panel/init_db.py +16 -19
  29. hiddifypanel/panel/usage.py +3 -13
  30. hiddifypanel/panel/user/user.py +18 -12
  31. hiddifypanel/templates/fake.html +320 -0
  32. hiddifypanel/translations/en/LC_MESSAGES/messages.mo +0 -0
  33. hiddifypanel/translations/en/LC_MESSAGES/messages.po +13 -82
  34. hiddifypanel/translations/fa/LC_MESSAGES/messages.mo +0 -0
  35. hiddifypanel/translations/fa/LC_MESSAGES/messages.po +12 -81
  36. hiddifypanel/translations/pt/LC_MESSAGES/messages.mo +0 -0
  37. hiddifypanel/translations/pt/LC_MESSAGES/messages.po +4 -73
  38. hiddifypanel/translations/ru/LC_MESSAGES/messages.mo +0 -0
  39. hiddifypanel/translations/ru/LC_MESSAGES/messages.po +9 -79
  40. hiddifypanel/translations/zh/LC_MESSAGES/messages.mo +0 -0
  41. hiddifypanel/translations/zh/LC_MESSAGES/messages.po +4 -73
  42. hiddifypanel/translations.i18n/en.json +7 -50
  43. hiddifypanel/translations.i18n/fa.json +6 -49
  44. hiddifypanel/translations.i18n/fr.json +2 -2
  45. hiddifypanel/translations.i18n/my.json +2 -2
  46. hiddifypanel/translations.i18n/pt.json +4 -47
  47. hiddifypanel/translations.i18n/ru.json +7 -50
  48. hiddifypanel/translations.i18n/zh.json +4 -47
  49. {hiddifypanel-10.80.0.dist-info → hiddifypanel-10.80.0.dev8.dist-info}/METADATA +6 -13
  50. {hiddifypanel-10.80.0.dist-info → hiddifypanel-10.80.0.dev8.dist-info}/RECORD +53 -69
  51. hiddifypanel/apps/__init__.py +0 -0
  52. hiddifypanel/apps/asgi_app.py +0 -7
  53. hiddifypanel/apps/celery_app.py +0 -3
  54. hiddifypanel/apps/wsgi_app.py +0 -5
  55. hiddifypanel/base_setup.py +0 -82
  56. hiddifypanel/celery.py +0 -45
  57. hiddifypanel/hutils/proxy/wireguard.py +0 -34
  58. hiddifypanel/panel/hlogger.py +0 -32
  59. hiddifypanel/panel/node/__init__.py +0 -9
  60. hiddifypanel/panel/node/a.py +0 -14
  61. hiddifypanel/panel/node/hello.py +0 -14
  62. hiddifypanel/panel/node/test.proto +0 -13
  63. hiddifypanel/panel/node/test_grpc.py +0 -40
  64. hiddifypanel/panel/node/test_pb2.py +0 -40
  65. hiddifypanel/panel/node/test_pb2.pyi +0 -17
  66. hiddifypanel/panel/node/test_pb2_grpc.py +0 -97
  67. {hiddifypanel-10.80.0.dist-info → hiddifypanel-10.80.0.dev8.dist-info}/LICENSE.md +0 -0
  68. {hiddifypanel-10.80.0.dist-info → hiddifypanel-10.80.0.dev8.dist-info}/WHEEL +0 -0
  69. {hiddifypanel-10.80.0.dist-info → hiddifypanel-10.80.0.dev8.dist-info}/entry_points.txt +0 -0
@@ -77,7 +77,7 @@ def _v94(child_id):
77
77
 
78
78
  def _v93(child_id):
79
79
  set_hconfig(ConfigEnum.quic_enable, True)
80
- set_hconfig(ConfigEnum.xhttp_enable, True)
80
+ set_hconfig(ConfigEnum.splithttp_enable, True)
81
81
 
82
82
 
83
83
  def _v92(child_id):
@@ -85,9 +85,9 @@ def _v92(child_id):
85
85
 
86
86
 
87
87
  def _v89(child_id):
88
- set_hconfig(ConfigEnum.path_xhttp,
88
+ set_hconfig(ConfigEnum.path_splithttp,
89
89
  hutils.random.get_random_string(7, 15))
90
- set_hconfig(ConfigEnum.xhttp_enable, False)
90
+ set_hconfig(ConfigEnum.splithttp_enable, False)
91
91
  pass
92
92
 
93
93
 
@@ -218,7 +218,7 @@ def _v65():
218
218
  add_config_if_not_exist(ConfigEnum.mux_min_streams, '4')
219
219
  add_config_if_not_exist(ConfigEnum.mux_max_streams, '0')
220
220
  add_config_if_not_exist(ConfigEnum.mux_padding_enable, False)
221
- add_config_if_not_exist(ConfigEnum.mux_brutal_enable, False)
221
+ add_config_if_not_exist(ConfigEnum.mux_brutal_enable, True)
222
222
  add_config_if_not_exist(ConfigEnum.mux_brutal_up_mbps, '100')
223
223
  add_config_if_not_exist(ConfigEnum.mux_brutal_down_mbps, '100')
224
224
 
@@ -571,9 +571,9 @@ def get_proxy_rows_v1():
571
571
  "httpupgrade direct vless",
572
572
  # "httpupgrade direct trojan",
573
573
  "httpupgrade direct vmess",
574
- "xhttp direct vless",
575
- "xhttp direct trojan",
576
- "xhttp direct vmess",
574
+ "splithttp direct vless",
575
+ "splithttp direct trojan",
576
+ "splithttp direct vmess",
577
577
  "tcp direct vless",
578
578
  "tcp direct trojan",
579
579
  "tcp direct vmess",
@@ -591,9 +591,9 @@ def get_proxy_rows_v1():
591
591
  # "httpupgrade relay trojan",
592
592
  "httpupgrade relay vmess",
593
593
 
594
- "xhttp relay vless",
595
- "xhttp relay trojan",
596
- "xhttp relay vmess",
594
+ "splithttp relay vless",
595
+ "splithttp relay trojan",
596
+ "splithttp relay vmess",
597
597
 
598
598
  "tcp relay vless",
599
599
  "tcp relay trojan",
@@ -615,9 +615,9 @@ def get_proxy_rows_v1():
615
615
  # "httpupgrade CDN trojan",
616
616
  "httpupgrade CDN vmess",
617
617
 
618
- "xhttp CDN vless",
619
- "xhttp CDN trojan",
620
- "xhttp CDN vmess",
618
+ "splithttp CDN vless",
619
+ "splithttp CDN trojan",
620
+ "splithttp CDN vmess",
621
621
 
622
622
  "grpc CDN vless",
623
623
  "grpc CDN trojan",
@@ -663,7 +663,7 @@ def make_proxy_rows(cfgs):
663
663
  for l3 in [ProxyL3.h3_quic, "tls_h2", "tls", "http", "reality"]:
664
664
  for c in cfgs:
665
665
  transport, cdn, proto = c.split(" ")
666
- if transport != ProxyTransport.xhttp and l3 == ProxyL3.h3_quic:
666
+ if transport != ProxyTransport.splithttp and l3 == ProxyL3.h3_quic:
667
667
  continue
668
668
  if l3 in ["kcp", 'reality'] and cdn != "direct":
669
669
  continue
@@ -750,11 +750,8 @@ def add_new_enum_values():
750
750
  continue
751
751
 
752
752
  # Add the new value to the enum column in the database
753
- # enumstr = ','.join([f"'{a}'" for a in [*existing_values, *old_values]])
754
- enumstr = ','.join([f"'{a}'" for a in [*existing_values]])
755
- expired_enumstr = ','.join([f"'{a}'" for a in [*old_values]])
756
- db_execute(
757
- f"delete from {table_name} where `{column_name}` in ({expired_enumstr});", commit=True)
753
+ enumstr = ','.join([f"'{a}'" for a in [*existing_values, *old_values]])
754
+
758
755
  db_execute(
759
756
  f"ALTER TABLE {table_name} MODIFY COLUMN `{column_name}` ENUM({enumstr});", commit=True)
760
757
 
@@ -11,18 +11,16 @@ from hiddifypanel import cache, hutils
11
11
  from loguru import logger
12
12
  to_gig_d = 1024**3
13
13
 
14
- from celery import shared_task
15
14
 
16
- @shared_task(ignore_result=False)
17
15
  def update_local_usage():
18
16
  lock_key = "lock-update-local-usage"
19
17
  if not cache.redis_client.set(lock_key, "locked", nx=True, ex=600):
20
18
  return {"msg": "last update task is not finished yet."}
21
19
  try:
22
- res=update_local_usage_not_lock()
20
+ res = user_driver.get_users_usage(reset=True)
21
+ # cache.redis_client.delete(lock_key)
23
22
  cache.redis_client.set(lock_key, "locked", nx=False, ex=60)
24
-
25
- return res
23
+ return _add_users_usage(res, child_id=0)
26
24
  except Exception as e:
27
25
  cache.redis_client.set(lock_key, "locked", nx=False, ex=60)
28
26
  logger.exception("Exception in update usage")
@@ -30,14 +28,6 @@ def update_local_usage():
30
28
  return {"msg": f"Exception in update usage: {e}"}
31
29
 
32
30
  # return {"status": 'success', "comments":res}
33
- def update_local_usage_not_lock():
34
-
35
- try:
36
- res = user_driver.get_users_usage(reset=True)
37
- return _add_users_usage(res, child_id=0)
38
- except Exception as e:
39
- raise
40
-
41
31
 
42
32
 
43
33
  def add_users_usage_uuid(uuids_bytes: Dict[str, Dict], child_id, sync=False):
@@ -21,12 +21,6 @@ class UserView(FlaskView):
21
21
  def index(self):
22
22
  return self.auto_sub()
23
23
 
24
- @route('/ua')
25
- def user_agent(self):
26
- ua= str(g.user_agent)+"\n"+str(request.user_agent)
27
- print(ua)
28
- return ua
29
-
30
24
  def auto_sub(self):
31
25
  if g.user_agent['is_browser']:
32
26
  return self.new()
@@ -92,15 +86,27 @@ class UserView(FlaskView):
92
86
  continue
93
87
  wireguards.append(pinfo)
94
88
 
95
-
89
+ servers.add(pinfo['server'])
96
90
 
97
91
  if not len(wireguards):
98
92
  abort(404)
99
- resp =""
100
- for wg in wireguards:
101
- resp +=f'#========={wg["extra_info"]} {wg["name"]}================\n'
102
- resp+=hutils.proxy.wireguard.generate_wireguard_config(wg)
103
- resp+="\n\n"
93
+ wg = wireguards[0]
94
+ addrs = f"{wg['wg_ipv4']}/32"
95
+ if wg['wg_ipv6']:
96
+ addrs += f", {wg['wg_ipv6']}/128"
97
+ resp = f"""
98
+ [Interface]
99
+ PrivateKey = {wg['wg_pk']}
100
+ Address = {addrs}
101
+ DNS = 1.1.1.1
102
+ MTU = 1390
103
+
104
+ [Peer]
105
+ PublicKey = {wg['wg_pub']}
106
+ PresharedKey = {wg['wg_psk']}
107
+ AllowedIPs = 0.0.0.0/1, 128.0.0.0/1, ::/1, 8000::/1
108
+ Endpoint = {next(iter(servers))}:61339 #{servers}
109
+ """
104
110
  return add_headers(resp, c)
105
111
 
106
112
  # return self.singbox_ssh_imp()
@@ -0,0 +1,320 @@
1
+ {{_("config.dbvalues.label")}}
2
+ {{_("config.dbvalues.description")}}
3
+ {{_("config.create_easysetup_link.label")}}
4
+ {{_("config.create_easysetup_link.description")}}
5
+ {{_("config.wireguard_enable.label")}}
6
+ {{_("config.wireguard_enable.description")}}
7
+ {{_("config.wireguard_port.label")}}
8
+ {{_("config.wireguard_port.description")}}
9
+ {{_("config.wireguard_ipv6.label")}}
10
+ {{_("config.wireguard_ipv6.description")}}
11
+ {{_("config.wireguard_ipv4.label")}}
12
+ {{_("config.wireguard_ipv4.description")}}
13
+ {{_("config.wireguard_private_key.label")}}
14
+ {{_("config.wireguard_private_key.description")}}
15
+ {{_("config.wireguard_public_key.label")}}
16
+ {{_("config.wireguard_public_key.description")}}
17
+ {{_("config.wireguard_noise_trick.label")}}
18
+ {{_("config.wireguard_noise_trick.description")}}
19
+ {{_("config.ssh_server_redis_url.label")}}
20
+ {{_("config.ssh_server_redis_url.description")}}
21
+ {{_("config.ssh_server_port.label")}}
22
+ {{_("config.ssh_server_port.description")}}
23
+ {{_("config.ssh_server_enable.label")}}
24
+ {{_("config.ssh_server_enable.description")}}
25
+ {{_("config.first_setup.label")}}
26
+ {{_("config.first_setup.description")}}
27
+ {{_("config.core_type.label")}}
28
+ {{_("config.core_type.description")}}
29
+ {{_("config.warp_enable.label")}}
30
+ {{_("config.warp_enable.description")}}
31
+ {{_("config.warp_mode.label")}}
32
+ {{_("config.warp_mode.description")}}
33
+ {{_("config.warp_plus_code.label")}}
34
+ {{_("config.warp_plus_code.description")}}
35
+ {{_("config.warp_sites.label")}}
36
+ {{_("config.warp_sites.description")}}
37
+ {{_("config.dns_server.label")}}
38
+ {{_("config.dns_server.description")}}
39
+ {{_("config.reality_fallback_domain.label")}}
40
+ {{_("config.reality_fallback_domain.description")}}
41
+ {{_("config.reality_server_names.label")}}
42
+ {{_("config.reality_server_names.description")}}
43
+ {{_("config.reality_short_ids.label")}}
44
+ {{_("config.reality_short_ids.description")}}
45
+ {{_("config.reality_private_key.label")}}
46
+ {{_("config.reality_private_key.description")}}
47
+ {{_("config.reality_public_key.label")}}
48
+ {{_("config.reality_public_key.description")}}
49
+ {{_("config.reality_port.label")}}
50
+ {{_("config.reality_port.description")}}
51
+ {{_("config.restls1_2_domain.label")}}
52
+ {{_("config.restls1_2_domain.description")}}
53
+ {{_("config.restls1_3_domain.label")}}
54
+ {{_("config.restls1_3_domain.description")}}
55
+ {{_("config.show_usage_in_sublink.label")}}
56
+ {{_("config.show_usage_in_sublink.description")}}
57
+ {{_("config.cloudflare.label")}}
58
+ {{_("config.cloudflare.description")}}
59
+ {{_("config.license.label")}}
60
+ {{_("config.license.description")}}
61
+ {{_("config.country.label")}}
62
+ {{_("config.country.description")}}
63
+ {{_("config.package_mode.label")}}
64
+ {{_("config.package_mode.description")}}
65
+ {{_("config.utls.label")}}
66
+ {{_("config.utls.description")}}
67
+ {{_("config.telegram_bot_token.label")}}
68
+ {{_("config.telegram_bot_token.description")}}
69
+ {{_("config.is_parent.label")}}
70
+ {{_("config.is_parent.description")}}
71
+ {{_("config.parent_panel.label")}}
72
+ {{_("config.parent_panel.description")}}
73
+ {{_("config.parent_domain.label")}}
74
+ {{_("config.parent_domain.description")}}
75
+ {{_("config.parent_admin_proxy_path.label")}}
76
+ {{_("config.parent_admin_proxy_path.description")}}
77
+ {{_("config.panel_mode.label")}}
78
+ {{_("config.panel_mode.description")}}
79
+ {{_("config.log_level.label")}}
80
+ {{_("config.log_level.description")}}
81
+ {{_("config.unique_id.label")}}
82
+ {{_("config.unique_id.description")}}
83
+ {{_("config.last_hash.label")}}
84
+ {{_("config.last_hash.description")}}
85
+ {{_("config.cdn_forced_host.label")}}
86
+ {{_("config.cdn_forced_host.description")}}
87
+ {{_("config.lang.label")}}
88
+ {{_("config.lang.description")}}
89
+ {{_("config.admin_lang.label")}}
90
+ {{_("config.admin_lang.description")}}
91
+ {{_("config.admin_secret.label")}}
92
+ {{_("config.admin_secret.description")}}
93
+ {{_("config.tls_ports.label")}}
94
+ {{_("config.tls_ports.description")}}
95
+ {{_("config.tls_fragment_enable.label")}}
96
+ {{_("config.tls_fragment_enable.description")}}
97
+ {{_("config.tls_fragment_size.label")}}
98
+ {{_("config.tls_fragment_size.description")}}
99
+ {{_("config.tls_fragment_sleep.label")}}
100
+ {{_("config.tls_fragment_sleep.description")}}
101
+ {{_("config.tls_mixed_case.label")}}
102
+ {{_("config.tls_mixed_case.description")}}
103
+ {{_("config.tls_padding_enable.label")}}
104
+ {{_("config.tls_padding_enable.description")}}
105
+ {{_("config.tls_padding_length.label")}}
106
+ {{_("config.tls_padding_length.description")}}
107
+ {{_("config.mux_enable.label")}}
108
+ {{_("config.mux_enable.description")}}
109
+ {{_("config.mux_protocol.label")}}
110
+ {{_("config.mux_protocol.description")}}
111
+ {{_("config.mux_max_connections.label")}}
112
+ {{_("config.mux_max_connections.description")}}
113
+ {{_("config.mux_min_streams.label")}}
114
+ {{_("config.mux_min_streams.description")}}
115
+ {{_("config.mux_max_streams.label")}}
116
+ {{_("config.mux_max_streams.description")}}
117
+ {{_("config.mux_padding_enable.label")}}
118
+ {{_("config.mux_padding_enable.description")}}
119
+ {{_("config.mux_brutal_enable.label")}}
120
+ {{_("config.mux_brutal_enable.description")}}
121
+ {{_("config.mux_brutal_up_mbps.label")}}
122
+ {{_("config.mux_brutal_up_mbps.description")}}
123
+ {{_("config.mux_brutal_down_mbps.label")}}
124
+ {{_("config.mux_brutal_down_mbps.description")}}
125
+ {{_("config.http_ports.label")}}
126
+ {{_("config.http_ports.description")}}
127
+ {{_("config.kcp_ports.label")}}
128
+ {{_("config.kcp_ports.description")}}
129
+ {{_("config.kcp_enable.label")}}
130
+ {{_("config.kcp_enable.description")}}
131
+ {{_("config.decoy_domain.label")}}
132
+ {{_("config.decoy_domain.description")}}
133
+ {{_("config.proxy_path.label")}}
134
+ {{_("config.proxy_path.description")}}
135
+ {{_("config.proxy_path_admin.label")}}
136
+ {{_("config.proxy_path_admin.description")}}
137
+ {{_("config.proxy_path_client.label")}}
138
+ {{_("config.proxy_path_client.description")}}
139
+ {{_("config.firewall.label")}}
140
+ {{_("config.firewall.description")}}
141
+ {{_("config.netdata.label")}}
142
+ {{_("config.netdata.description")}}
143
+ {{_("config.http_proxy_enable.label")}}
144
+ {{_("config.http_proxy_enable.description")}}
145
+ {{_("config.block_iran_sites.label")}}
146
+ {{_("config.block_iran_sites.description")}}
147
+ {{_("config.allow_invalid_sni.label")}}
148
+ {{_("config.allow_invalid_sni.description")}}
149
+ {{_("config.auto_update.label")}}
150
+ {{_("config.auto_update.description")}}
151
+ {{_("config.speed_test.label")}}
152
+ {{_("config.speed_test.description")}}
153
+ {{_("config.only_ipv4.label")}}
154
+ {{_("config.only_ipv4.description")}}
155
+ {{_("config.shared_secret.label")}}
156
+ {{_("config.shared_secret.description")}}
157
+ {{_("config.telegram_enable.label")}}
158
+ {{_("config.telegram_enable.description")}}
159
+ {{_("config.telegram_adtag.label")}}
160
+ {{_("config.telegram_adtag.description")}}
161
+ {{_("config.telegram_lib.label")}}
162
+ {{_("config.telegram_lib.description")}}
163
+ {{_("config.telegram_fakedomain.label")}}
164
+ {{_("config.telegram_fakedomain.description")}}
165
+ {{_("config.v2ray_enable.label")}}
166
+ {{_("config.v2ray_enable.description")}}
167
+ {{_("config.torrent_block.label")}}
168
+ {{_("config.torrent_block.description")}}
169
+ {{_("config.tuic_enable.label")}}
170
+ {{_("config.tuic_enable.description")}}
171
+ {{_("config.tuic_port.label")}}
172
+ {{_("config.tuic_port.description")}}
173
+ {{_("config.hysteria_enable.label")}}
174
+ {{_("config.hysteria_enable.description")}}
175
+ {{_("config.hysteria_port.label")}}
176
+ {{_("config.hysteria_port.description")}}
177
+ {{_("config.hysteria_obfs_enable.label")}}
178
+ {{_("config.hysteria_obfs_enable.description")}}
179
+ {{_("config.hysteria_up_mbps.label")}}
180
+ {{_("config.hysteria_up_mbps.description")}}
181
+ {{_("config.hysteria_down_mbps.label")}}
182
+ {{_("config.hysteria_down_mbps.description")}}
183
+ {{_("config.shadowsocks2022_enable.label")}}
184
+ {{_("config.shadowsocks2022_enable.description")}}
185
+ {{_("config.shadowsocks2022_method.label")}}
186
+ {{_("config.shadowsocks2022_method.description")}}
187
+ {{_("config.shadowsocks2022_port.label")}}
188
+ {{_("config.shadowsocks2022_port.description")}}
189
+ {{_("config.ssfaketls_enable.label")}}
190
+ {{_("config.ssfaketls_enable.description")}}
191
+ {{_("config.ssfaketls_fakedomain.label")}}
192
+ {{_("config.ssfaketls_fakedomain.description")}}
193
+ {{_("config.shadowtls_enable.label")}}
194
+ {{_("config.shadowtls_enable.description")}}
195
+ {{_("config.shadowtls_fakedomain.label")}}
196
+ {{_("config.shadowtls_fakedomain.description")}}
197
+ {{_("config.ssr_enable.label")}}
198
+ {{_("config.ssr_enable.description")}}
199
+ {{_("config.ssr_fakedomain.label")}}
200
+ {{_("config.ssr_fakedomain.description")}}
201
+ {{_("config.vmess_enable.label")}}
202
+ {{_("config.vmess_enable.description")}}
203
+ {{_("config.domain_fronting_domain.label")}}
204
+ {{_("config.domain_fronting_domain.description")}}
205
+ {{_("config.domain_fronting_http_enable.label")}}
206
+ {{_("config.domain_fronting_http_enable.description")}}
207
+ {{_("config.domain_fronting_tls_enable.label")}}
208
+ {{_("config.domain_fronting_tls_enable.description")}}
209
+ {{_("config.ws_enable.label")}}
210
+ {{_("config.ws_enable.description")}}
211
+ {{_("config.grpc_enable.label")}}
212
+ {{_("config.grpc_enable.description")}}
213
+ {{_("config.httpupgrade_enable.label")}}
214
+ {{_("config.httpupgrade_enable.description")}}
215
+ {{_("config.splithttp_enable.label")}}
216
+ {{_("config.splithttp_enable.description")}}
217
+ {{_("config.vless_enable.label")}}
218
+ {{_("config.vless_enable.description")}}
219
+ {{_("config.trojan_enable.label")}}
220
+ {{_("config.trojan_enable.description")}}
221
+ {{_("config.reality_enable.label")}}
222
+ {{_("config.reality_enable.description")}}
223
+ {{_("config.tcp_enable.label")}}
224
+ {{_("config.tcp_enable.description")}}
225
+ {{_("config.quic_enable.label")}}
226
+ {{_("config.quic_enable.description")}}
227
+ {{_("config.xtls_enable.label")}}
228
+ {{_("config.xtls_enable.description")}}
229
+ {{_("config.h2_enable.label")}}
230
+ {{_("config.h2_enable.description")}}
231
+ {{_("config.db_version.label")}}
232
+ {{_("config.db_version.description")}}
233
+ {{_("config.last_priodic_usage_check.label")}}
234
+ {{_("config.last_priodic_usage_check.description")}}
235
+ {{_("config.branding_title.label")}}
236
+ {{_("config.branding_title.description")}}
237
+ {{_("config.branding_site.label")}}
238
+ {{_("config.branding_site.description")}}
239
+ {{_("config.branding_freetext.label")}}
240
+ {{_("config.branding_freetext.description")}}
241
+ {{_("config.not_found.label")}}
242
+ {{_("config.not_found.description")}}
243
+ {{_("config.path_vmess.label")}}
244
+ {{_("config.path_vmess.description")}}
245
+ {{_("config.path_vless.label")}}
246
+ {{_("config.path_vless.description")}}
247
+ {{_("config.path_trojan.label")}}
248
+ {{_("config.path_trojan.description")}}
249
+ {{_("config.path_v2ray.label")}}
250
+ {{_("config.path_v2ray.description")}}
251
+ {{_("config.path_ss.label")}}
252
+ {{_("config.path_ss.description")}}
253
+ {{_("config.path_splithttp.label")}}
254
+ {{_("config.path_splithttp.description")}}
255
+ {{_("config.path_httpupgrade.label")}}
256
+ {{_("config.path_httpupgrade.description")}}
257
+ {{_("config.path_ws.label")}}
258
+ {{_("config.path_ws.description")}}
259
+ {{_("config.path_tcp.label")}}
260
+ {{_("config.path_tcp.description")}}
261
+ {{_("config.path_grpc.label")}}
262
+ {{_("config.path_grpc.description")}}
263
+ {{_("config.sub_full_singbox_enable.label")}}
264
+ {{_("config.sub_full_singbox_enable.description")}}
265
+ {{_("config.sub_singbox_ssh_enable.label")}}
266
+ {{_("config.sub_singbox_ssh_enable.description")}}
267
+ {{_("config.sub_full_xray_json_enable.label")}}
268
+ {{_("config.sub_full_xray_json_enable.description")}}
269
+ {{_("config.sub_full_links_enable.label")}}
270
+ {{_("config.sub_full_links_enable.description")}}
271
+ {{_("config.sub_full_links_b64_enable.label")}}
272
+ {{_("config.sub_full_links_b64_enable.description")}}
273
+ {{_("config.sub_full_clash_enable.label")}}
274
+ {{_("config.sub_full_clash_enable.description")}}
275
+ {{_("config.sub_full_clash_meta_enable.label")}}
276
+ {{_("config.sub_full_clash_meta_enable.description")}}
277
+ {{_("config.hiddifycli_enable.label")}}
278
+ {{_("config.hiddifycli_enable.description")}}
279
+
280
+ {{_("config.admin.label")}}{{_("config.admin.description")}}
281
+ {{_("config.branding.label")}}{{_("config.branding.description")}}
282
+ {{_("config.general.label")}}{{_("config.general.description")}}
283
+ {{_("config.proxies.label")}}{{_("config.proxies.description")}}
284
+ {{_("config.domain_fronting.label")}}{{_("config.domain_fronting.description")}}
285
+ {{_("config.telegram.label")}}{{_("config.telegram.description")}}
286
+ {{_("config.http.label")}}{{_("config.http.description")}}
287
+ {{_("config.tls.label")}}{{_("config.tls.description")}}
288
+ {{_("config.mux.label")}}{{_("config.mux.description")}}
289
+ {{_("config.tls_trick.label")}}{{_("config.tls_trick.description")}}
290
+ {{_("config.ssh.label")}}{{_("config.ssh.description")}}
291
+ {{_("config.ssfaketls.label")}}{{_("config.ssfaketls.description")}}
292
+ {{_("config.shadowtls.label")}}{{_("config.shadowtls.description")}}
293
+ {{_("config.restls.label")}}{{_("config.restls.description")}}
294
+ {{_("config.tuic.label")}}{{_("config.tuic.description")}}
295
+ {{_("config.hysteria.label")}}{{_("config.hysteria.description")}}
296
+ {{_("config.ssr.label")}}{{_("config.ssr.description")}}
297
+ {{_("config.kcp.label")}}{{_("config.kcp.description")}}
298
+ {{_("config.hidden.label")}}{{_("config.hidden.description")}}
299
+ {{_("config.advanced.label")}}{{_("config.advanced.description")}}
300
+ {{_("config.too_advanced.label")}}{{_("config.too_advanced.description")}}
301
+ {{_("config.warp.label")}}{{_("config.warp.description")}}
302
+ {{_("config.reality.label")}}{{_("config.reality.description")}}
303
+ {{_("config.wireguard.label")}}{{_("config.wireguard.description")}}
304
+ {{_("config.shadowsocks.label")}}{{_("config.shadowsocks.description")}}
305
+
306
+ {{_("direct")}}
307
+ {{_("sub_link_only")}}
308
+ {{_("cdn")}}
309
+ {{_("auto_cdn_ip")}}
310
+ {{_("relay")}}
311
+ {{_("reality")}}
312
+ {{_("old_xtls_direct")}}
313
+ {{_("worker")}}
314
+ {{_("fake")}}
315
+
316
+ {{_("no_reset")}}
317
+ {{_("monthly")}}
318
+ {{_("weekly")}}
319
+ {{_("daily")}}
320
+
@@ -219,9 +219,6 @@ msgstr ""
219
219
  "Domain can not be resolved! There is a problem in your domain. Please check "
220
220
  "your Domain configurations."
221
221
 
222
- msgid "Domain cannot be resolved! Please check DNS settings"
223
- msgstr "Domain cannot be resolved! Please check DNS settings"
224
-
225
222
  msgid "Domain is not REALITY friendly!"
226
223
  msgstr "Domain is Not REALITY Friendly!"
227
224
 
@@ -610,9 +607,6 @@ msgstr "RAM"
610
607
  msgid "REALITY Fallback domain is not compaitble with server names!"
611
608
  msgstr "REALITY Fallback Domain is not compaitble with Server names!"
612
609
 
613
- msgid "REALITY Fallback domain is not compatible with server names!"
614
- msgstr "REALITY Fallback domain is not compatible with server names!"
615
-
616
610
  msgid "Release"
617
611
  msgstr "✅ Release"
618
612
 
@@ -718,9 +712,6 @@ msgstr "📦 SingBox"
718
712
  msgid "Sort by %(name)s"
719
713
  msgstr "Sort by %(name)s"
720
714
 
721
- msgid "Specifying CDN IP is only valid for CDN mode"
722
- msgstr "Specifying CDN IP is only valid for CDN mode"
723
-
724
715
  msgid "Start Date"
725
716
  msgstr "Start Date"
726
717
 
@@ -1408,7 +1399,7 @@ msgstr "☑️ Allow HTTP Connection"
1408
1399
  msgid "config.httpupgrade_enable.description"
1409
1400
  msgstr ""
1410
1401
  "<p>HTTPUpgrade complete a HTTP 1.1 Upgrade request and response before using the connection directly. It is similar to WebSocket in the way it create an direction channel that can be forwarded by many reverse proxies and CDNs, without the need to deal with all the issue around WebSocket Protocol itself.<br />\n"
1411
- "⚠️ <strong>Not Available in Xray based Clients. Only <p><a href=\"https://app.hiddify.com\" target=\"_blank\">Hiddify</a></p>, Singbox, and V2fly clients are supported.</strong>&nbsp;<a href=\"https://hiddify.com/manager/basic-concepts-and-troubleshooting/Basic-Concepts/#http-upgrade\" target=\"_blank\"><strong>(Read More)</strong></a></p>"
1402
+ "⚠️ <strong>Not Available in Xray based Clients. Only Hiddify, Singbox, and V2fly clients are supported.</strong>&nbsp;<a href=\"https://hiddify.com/manager/basic-concepts-and-troubleshooting/Basic-Concepts/#http-upgrade\" target=\"_blank\"><strong>(Read More)</strong></a></p>"
1412
1403
 
1413
1404
  msgid "config.httpupgrade_enable.label"
1414
1405
  msgstr "🆙 HTTPUpgrade Method"
@@ -1544,11 +1535,10 @@ msgstr "⬆️ MUX Brutal Upload (mbps)"
1544
1535
 
1545
1536
  msgid "config.mux_enable.description"
1546
1537
  msgstr ""
1547
- "<p>Mux needs compatible clients. Mux in <p><a "
1548
- "href=\"https://app.hiddify.com\" target=\"_blank\">Hiddify</a></p> and "
1549
- "Singbox are not compatible with XRay.&nbsp;<a "
1550
- "href=\"https://hiddify.com/manager/basic-concepts-and-troubleshooting/How-"
1551
- "MUX-works-and-its-usage/\" target=\"_blank\">(Read More)</a></p>"
1538
+ "<p>Mux needs compatible clients. Mux in Hiddify and Singbox are not "
1539
+ "compatible with XRay.&nbsp;<a href=\"https://hiddify.com/manager/basic-"
1540
+ "concepts-and-troubleshooting/How-MUX-works-and-its-usage/\" "
1541
+ "target=\"_blank\">(Read More)</a></p>"
1552
1542
 
1553
1543
  msgid "config.mux_enable.label"
1554
1544
  msgstr "Ⓜ️ MUX (⚠️ Incompatible With Some Clients)"
@@ -1656,10 +1646,10 @@ msgid "config.path_httpupgrade.label"
1656
1646
  msgstr "ℹ️ HTTP Upgrade Path"
1657
1647
 
1658
1648
  msgid "config.path_splithttp.description"
1659
- msgstr "config.path_splithttp.description"
1649
+ msgstr "This option defines the Path for Split HTTP"
1660
1650
 
1661
1651
  msgid "config.path_splithttp.label"
1662
- msgstr "config.path_splithttp.label"
1652
+ msgstr "ℹ️ Path for Split HTTP"
1663
1653
 
1664
1654
  msgid "config.path_ss.description"
1665
1655
  msgstr "Shadowsocks Path in the Links"
@@ -1703,12 +1693,6 @@ msgstr "Specify the Websocket Path"
1703
1693
  msgid "config.path_ws.label"
1704
1694
  msgstr "ℹ️ Path of Websocket Requests"
1705
1695
 
1706
- msgid "config.path_xhttp.description"
1707
- msgstr "This option defines the Path for Split HTTP"
1708
-
1709
- msgid "config.path_xhttp.label"
1710
- msgstr "ℹ️ Path for Split HTTP"
1711
-
1712
1696
  msgid "config.proxies.description"
1713
1697
  msgstr "Define specific proxy settings"
1714
1698
 
@@ -1888,10 +1872,12 @@ msgid "config.speed_test.label"
1888
1872
  msgstr "🚀 Speed Test"
1889
1873
 
1890
1874
  msgid "config.splithttp_enable.description"
1891
- msgstr "config.splithttp_enable.description"
1875
+ msgstr ""
1876
+ "<p>This Protocol send and receive information in individual channels.<br />\n"
1877
+ "⚠️ <strong>Not Support in SignBox based Clients. Only Hiddify App, and XRay base Clients are supported.</strong></p>"
1892
1878
 
1893
1879
  msgid "config.splithttp_enable.label"
1894
- msgstr "config.splithttp_enable.label"
1880
+ msgstr "🈁 Split HTTP"
1895
1881
 
1896
1882
  msgid "config.ssfaketls.description"
1897
1883
  msgstr ""
@@ -1925,54 +1911,6 @@ msgstr ""
1925
1911
  msgid "config.ssh.label"
1926
1912
  msgstr "SSH Proxy"
1927
1913
 
1928
- msgid "config.ssh_host_dsa_pk.description"
1929
- msgstr "config.ssh_host_dsa_pk.description"
1930
-
1931
- msgid "config.ssh_host_dsa_pk.label"
1932
- msgstr "config.ssh_host_dsa_pk.label"
1933
-
1934
- msgid "config.ssh_host_dsa_pub.description"
1935
- msgstr "config.ssh_host_dsa_pub.description"
1936
-
1937
- msgid "config.ssh_host_dsa_pub.label"
1938
- msgstr "config.ssh_host_dsa_pub.label"
1939
-
1940
- msgid "config.ssh_host_ecdsa_pk.description"
1941
- msgstr "config.ssh_host_ecdsa_pk.description"
1942
-
1943
- msgid "config.ssh_host_ecdsa_pk.label"
1944
- msgstr "config.ssh_host_ecdsa_pk.label"
1945
-
1946
- msgid "config.ssh_host_ecdsa_pub.description"
1947
- msgstr "config.ssh_host_ecdsa_pub.description"
1948
-
1949
- msgid "config.ssh_host_ecdsa_pub.label"
1950
- msgstr "config.ssh_host_ecdsa_pub.label"
1951
-
1952
- msgid "config.ssh_host_ed25519_pk.description"
1953
- msgstr "config.ssh_host_ed25519_pk.description"
1954
-
1955
- msgid "config.ssh_host_ed25519_pk.label"
1956
- msgstr "config.ssh_host_ed25519_pk.label"
1957
-
1958
- msgid "config.ssh_host_ed25519_pub.description"
1959
- msgstr "config.ssh_host_ed25519_pub.description"
1960
-
1961
- msgid "config.ssh_host_ed25519_pub.label"
1962
- msgstr "config.ssh_host_ed25519_pub.label"
1963
-
1964
- msgid "config.ssh_host_rsa_pk.description"
1965
- msgstr "config.ssh_host_rsa_pk.description"
1966
-
1967
- msgid "config.ssh_host_rsa_pk.label"
1968
- msgstr "config.ssh_host_rsa_pk.label"
1969
-
1970
- msgid "config.ssh_host_rsa_pub.description"
1971
- msgstr "config.ssh_host_rsa_pub.description"
1972
-
1973
- msgid "config.ssh_host_rsa_pub.label"
1974
- msgstr "config.ssh_host_rsa_pub.label"
1975
-
1976
1914
  msgid "config.ssh_server_enable.description"
1977
1915
  msgstr "SSH Proxy is completely different than original SSH Server"
1978
1916
 
@@ -2326,7 +2264,8 @@ msgstr "WireGuard"
2326
2264
  msgid "config.wireguard_enable.description"
2327
2265
  msgstr ""
2328
2266
  "<p>WireGuard is UDP based protocol. (⚠️ It is Working In <a "
2329
- "href=\"https://app.hiddify.com/\" target=\"_blank\">Hiddify</a>)</p>"
2267
+ "href=\"https://github.com/hiddify/hiddify-app\" "
2268
+ "target=\"_blank\">Hiddify</a>)</p>"
2330
2269
 
2331
2270
  msgid "config.wireguard_enable.label"
2332
2271
  msgstr "🐉 WireGuard"
@@ -2375,14 +2314,6 @@ msgstr "Websocket creates a tunnel over HTTP that is useful to be used in CDN"
2375
2314
  msgid "config.ws_enable.label"
2376
2315
  msgstr "🔰 Websocket"
2377
2316
 
2378
- msgid "config.xhttp_enable.description"
2379
- msgstr ""
2380
- "<p>This Protocol send and receive information in individual channels.<br />\n"
2381
- "⚠️ <strong>Not Supported in SignBox based Clients. Only <p><a href=\"https://app.hiddify.com\" target=\"_blank\">Hiddify</a></p> App, and XRay base Clients are supported.</strong></p>"
2382
-
2383
- msgid "config.xhttp_enable.label"
2384
- msgstr "🈁 Split HTTP"
2385
-
2386
2317
  msgid "config.xtls_enable.description"
2387
2318
  msgstr "Enables XTLS Protocol"
2388
2319