hiddifypanel 10.20.4__py3-none-any.whl → 10.30.0__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 +22 -12
- hiddifypanel/cache.py +2 -51
- hiddifypanel/drivers/wireguard_api.py +24 -5
- hiddifypanel/hutils/convert.py +1 -1
- hiddifypanel/hutils/flask.py +28 -2
- hiddifypanel/hutils/importer/xui.py +6 -7
- hiddifypanel/hutils/network/__init__.py +1 -0
- hiddifypanel/hutils/network/cf_api.py +84 -0
- hiddifypanel/hutils/network/net.py +26 -49
- hiddifypanel/hutils/node/child.py +25 -7
- hiddifypanel/hutils/node/parent.py +7 -7
- hiddifypanel/hutils/node/shared.py +19 -6
- hiddifypanel/hutils/proxy/clash.py +1 -1
- hiddifypanel/hutils/proxy/shared.py +1 -1
- hiddifypanel/hutils/proxy/singbox.py +2 -3
- hiddifypanel/hutils/proxy/xray.py +12 -10
- hiddifypanel/hutils/proxy/xrayjson.py +26 -49
- hiddifypanel/hutils/utils.py +47 -3
- hiddifypanel/models/__init__.py +1 -1
- hiddifypanel/models/admin.py +9 -2
- hiddifypanel/models/base_account.py +3 -1
- hiddifypanel/models/config.py +10 -19
- hiddifypanel/models/config_enum.py +18 -6
- hiddifypanel/models/domain.py +82 -118
- hiddifypanel/models/user.py +44 -24
- hiddifypanel/panel/admin/Actions.py +6 -11
- hiddifypanel/panel/admin/AdminstratorAdmin.py +3 -9
- hiddifypanel/panel/admin/Backup.py +5 -8
- hiddifypanel/panel/admin/Dashboard.py +3 -4
- hiddifypanel/panel/admin/DomainAdmin.py +20 -15
- hiddifypanel/panel/admin/ProxyAdmin.py +3 -10
- hiddifypanel/panel/admin/QuickSetup.py +1 -1
- hiddifypanel/panel/admin/SettingAdmin.py +7 -5
- hiddifypanel/panel/admin/Terminal.py +0 -1
- hiddifypanel/panel/admin/UserAdmin.py +4 -3
- hiddifypanel/panel/admin/templates/model/proxydetail_list.html +6 -0
- hiddifypanel/panel/cli.py +36 -23
- hiddifypanel/panel/commercial/ProxyDetailsAdmin.py +15 -5
- hiddifypanel/panel/commercial/restapi/v1/tgbot.py +7 -4
- hiddifypanel/panel/commercial/restapi/v2/admin/__init__.py +17 -13
- hiddifypanel/panel/commercial/restapi/v2/admin/admin_info_api.py +4 -3
- hiddifypanel/panel/commercial/restapi/v2/admin/admin_user_api.py +28 -10
- hiddifypanel/panel/commercial/restapi/v2/admin/admin_users_api.py +2 -19
- hiddifypanel/panel/commercial/restapi/v2/admin/schema.py +27 -4
- hiddifypanel/panel/commercial/restapi/v2/admin/user_api.py +28 -9
- hiddifypanel/panel/commercial/restapi/v2/admin/users_api.py +1 -21
- hiddifypanel/panel/commercial/restapi/v2/parent/register_api.py +1 -1
- hiddifypanel/panel/commercial/restapi/v2/parent/schema.py +8 -4
- hiddifypanel/panel/commercial/restapi/v2/parent/sync_api.py +19 -3
- hiddifypanel/panel/commercial/restapi/v2/user/configs_api.py +48 -42
- hiddifypanel/panel/commercial/telegrambot/Usage.py +1 -1
- hiddifypanel/panel/commercial/telegrambot/admin.py +1 -1
- hiddifypanel/panel/commercial/telegrambot/information.py +1 -1
- hiddifypanel/panel/common.py +5 -11
- hiddifypanel/panel/hiddify.py +9 -20
- hiddifypanel/panel/init_db.py +41 -24
- hiddifypanel/panel/usage.py +38 -9
- hiddifypanel/panel/user/user.py +52 -32
- hiddifypanel/templates/admin-layout.html +2 -2
- hiddifypanel/templates/fake.html +18 -0
- hiddifypanel/translations/en/LC_MESSAGES/messages.mo +0 -0
- hiddifypanel/translations/en/LC_MESSAGES/messages.po +107 -45
- hiddifypanel/translations/fa/LC_MESSAGES/messages.mo +0 -0
- hiddifypanel/translations/fa/LC_MESSAGES/messages.po +102 -36
- hiddifypanel/translations/pt/LC_MESSAGES/messages.mo +0 -0
- hiddifypanel/translations/pt/LC_MESSAGES/messages.po +64 -7
- hiddifypanel/translations/ru/LC_MESSAGES/messages.mo +0 -0
- hiddifypanel/translations/ru/LC_MESSAGES/messages.po +161 -78
- hiddifypanel/translations/zh/LC_MESSAGES/messages.mo +0 -0
- hiddifypanel/translations/zh/LC_MESSAGES/messages.po +63 -6
- hiddifypanel/translations.i18n/en.json +83 -42
- hiddifypanel/translations.i18n/fa.json +73 -32
- hiddifypanel/translations.i18n/pt.json +45 -4
- hiddifypanel/translations.i18n/ru.json +113 -72
- hiddifypanel/translations.i18n/zh.json +44 -3
- {hiddifypanel-10.20.4.dist-info → hiddifypanel-10.30.0.dist-info}/METADATA +2 -1
- {hiddifypanel-10.20.4.dist-info → hiddifypanel-10.30.0.dist-info}/RECORD +83 -82
- {hiddifypanel-10.20.4.dist-info → hiddifypanel-10.30.0.dist-info}/WHEEL +1 -1
- hiddifypanel/panel/cf_api.py +0 -37
- {hiddifypanel-10.20.4.dist-info → hiddifypanel-10.30.0.dist-info}/LICENSE.md +0 -0
- {hiddifypanel-10.20.4.dist-info → hiddifypanel-10.30.0.dist-info}/entry_points.txt +0 -0
- {hiddifypanel-10.20.4.dist-info → hiddifypanel-10.30.0.dist-info}/top_level.txt +0 -0
hiddifypanel/panel/user/user.py
CHANGED
@@ -18,45 +18,43 @@ from hiddifypanel import hutils
|
|
18
18
|
|
19
19
|
class UserView(FlaskView):
|
20
20
|
|
21
|
-
@route('/useragent/')
|
22
|
-
@login_required(roles={Role.user})
|
23
|
-
def test(self):
|
24
|
-
ua = request.user_agent.string
|
25
|
-
print(ua)
|
26
|
-
return ua
|
27
|
-
|
28
21
|
def index(self):
|
29
22
|
return self.auto_sub()
|
30
23
|
|
31
24
|
def auto_sub(self):
|
32
25
|
if g.user_agent['is_browser']:
|
33
26
|
return self.new()
|
34
|
-
return self.get_proper_config() or self.
|
27
|
+
return self.get_proper_config() or self.links_imp(base64=True)
|
35
28
|
|
36
29
|
# former /sub/ or /sub (it was auto actually but we named it as /sub/)
|
37
30
|
@route('/auto/')
|
38
31
|
@route('/auto')
|
39
32
|
@login_required(roles={Role.user})
|
40
33
|
def force_sub(self):
|
41
|
-
return self.get_proper_config() or self.
|
34
|
+
return self.get_proper_config() or self.links_imp(base64=False)
|
42
35
|
|
43
36
|
# region new endpoints
|
44
37
|
@route("/sub/")
|
45
38
|
@route("/sub")
|
46
39
|
@login_required(roles={Role.user})
|
47
40
|
def sub(self):
|
48
|
-
|
41
|
+
'''Returns proxy links (not base64 encoded)'''
|
42
|
+
return self.links_imp(base64=False)
|
49
43
|
|
50
44
|
@route("/sub64/")
|
51
45
|
@route("/sub64")
|
52
46
|
@login_required(roles={Role.user})
|
53
47
|
def sub64(self):
|
54
|
-
|
48
|
+
'''Returns proxy links (base64 encoded)'''
|
49
|
+
return self.links_imp(base64=True)
|
55
50
|
|
56
51
|
@route("/xray/")
|
57
52
|
@route("/xray")
|
58
53
|
@login_required(roles={Role.user})
|
59
54
|
def xray(self):
|
55
|
+
'''Returns Xray JSON proxy config'''
|
56
|
+
# if not hconfig(ConfigEnum.sub_full_xray_json_enable):
|
57
|
+
# return 'The Full Xray subscription is disabled'
|
60
58
|
c = get_common_data(g.account.uuid, mode="new")
|
61
59
|
configs = hutils.proxy.xrayjson.configs_as_json(c['domains'], c['user'], c['expire_days'], c['profile_title'])
|
62
60
|
return add_headers(configs, c, 'application/json')
|
@@ -65,25 +63,29 @@ class UserView(FlaskView):
|
|
65
63
|
@route("/singbox")
|
66
64
|
@login_required(roles={Role.user})
|
67
65
|
def singbox_full(self):
|
68
|
-
|
66
|
+
'''Returns singbox client JSON config'''
|
67
|
+
return self.full_singbox_imp()
|
69
68
|
|
70
69
|
@route("/singbox-ssh/")
|
71
70
|
@route("/singbox-ssh")
|
72
71
|
@login_required(roles={Role.user})
|
73
72
|
def singbox_ssh(self):
|
74
|
-
|
73
|
+
'''Returns singbox client JSON config (ssh)'''
|
74
|
+
return self.singbox_ssh_imp()
|
75
75
|
|
76
76
|
@route("/clash/")
|
77
77
|
@route("/clash")
|
78
78
|
@login_required(roles={Role.user})
|
79
79
|
def clash(self):
|
80
|
-
|
80
|
+
'''Returns clash client config'''
|
81
|
+
return self.clash_config_imp(meta_or_normal="normal")
|
81
82
|
|
82
83
|
@route("/clashmeta/")
|
83
84
|
@route("/clashmeta")
|
84
85
|
@login_required(roles={Role.user})
|
85
86
|
def clashmeta(self):
|
86
|
-
|
87
|
+
'''Returns clash meta client config'''
|
88
|
+
return self.clash_config_imp(meta_or_normal="meta")
|
87
89
|
# endregion
|
88
90
|
|
89
91
|
@ route('/new/')
|
@@ -100,26 +102,28 @@ class UserView(FlaskView):
|
|
100
102
|
return render_template('new.html', **c, ua=user_agent)
|
101
103
|
|
102
104
|
def get_proper_config(self):
|
105
|
+
'''Returns proper config based on user agent'''
|
103
106
|
if g.user_agent['is_browser']:
|
104
107
|
return None
|
108
|
+
|
105
109
|
ua = request.user_agent.string
|
106
110
|
if g.user_agent['is_singbox'] or re.match('^(HiddifyNext|Dart|SFI|SFA)', ua, re.IGNORECASE):
|
107
|
-
return self.
|
111
|
+
return self.full_singbox_imp()
|
108
112
|
|
109
113
|
if re.match('^(Clash-verge|Clash-?Meta|Stash|NekoBox|NekoRay|Pharos|hiddify-desktop)', ua, re.IGNORECASE):
|
110
|
-
return self.
|
114
|
+
return self.clash_config_imp(meta_or_normal="meta")
|
111
115
|
if re.match('^(Clash|Stash)', ua, re.IGNORECASE):
|
112
|
-
return self.
|
116
|
+
return self.clash_config_imp(meta_or_normal="normal")
|
113
117
|
|
114
|
-
if
|
115
|
-
return
|
118
|
+
if hconfig(ConfigEnum.sub_full_xray_json_enable):
|
119
|
+
# return the old "Subscription link b64" sub if the "Full Xray" sub is disabled (wanted by user)
|
120
|
+
if g.user_agent.get('is_v2rayng') and hutils.flask.is_client_version(hutils.flask.ClientVersion.v2ryang, 1, 8, 17):
|
121
|
+
return self.xray()
|
122
|
+
elif g.user_agent.get('is_streisand'):
|
123
|
+
return self.xray()
|
116
124
|
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
# if any([p in ua for p in ['FoXray', 'HiddifyNG','Fair%20VPN' ,'v2rayNG', 'SagerNet']]):
|
121
|
-
if re.match('^(Hiddify|FoXray|Fair|v2rayNG|SagerNet|Shadowrocket|V2Box|Loon|Liberty)', ua, re.IGNORECASE):
|
122
|
-
return self.all_configs(base64=True)
|
125
|
+
if re.match('^(Hiddify|FoXray|Fair|v2rayNG|SagerNet|Shadowrocket|V2Box|Loon|Liberty|Streisand)', ua, re.IGNORECASE):
|
126
|
+
return self.links_imp(base64=True)
|
123
127
|
|
124
128
|
@route('/clash/<meta_or_normal>/proxies.yml')
|
125
129
|
@route('/clash/proxies.yml')
|
@@ -176,8 +180,12 @@ class UserView(FlaskView):
|
|
176
180
|
@ route('/clash/<typ>.yml', methods=["GET", "HEAD"])
|
177
181
|
@ route('/clash/<meta_or_normal>/<typ>.yml', methods=["GET", "HEAD"])
|
178
182
|
@login_required(roles={Role.user})
|
179
|
-
def
|
183
|
+
def clash_config_imp(self, meta_or_normal="normal", typ="all.yml"):
|
180
184
|
mode = request.args.get("mode")
|
185
|
+
if meta_or_normal == 'meta' and not hconfig(ConfigEnum.sub_full_clash_meta_enable):
|
186
|
+
return 'The Clash meta subscription is disabled'
|
187
|
+
elif meta_or_normal == 'normal' and not hconfig(ConfigEnum.sub_full_clash_enable):
|
188
|
+
return 'The Clash subscription is disabled'
|
181
189
|
|
182
190
|
c = get_common_data(g.account.uuid, mode)
|
183
191
|
|
@@ -192,7 +200,10 @@ class UserView(FlaskView):
|
|
192
200
|
|
193
201
|
@ route('/full-singbox.json', methods=["GET", "HEAD"])
|
194
202
|
@login_required(roles={Role.user})
|
195
|
-
def
|
203
|
+
def full_singbox_imp(self):
|
204
|
+
# if not hconfig(ConfigEnum.sub_full_singbox_enable):
|
205
|
+
# return 'The Full Singbox subscription is disabled'
|
206
|
+
|
196
207
|
mode = "new" # request.args.get("mode")
|
197
208
|
c = get_common_data(g.account.uuid, mode)
|
198
209
|
# response.content_type = 'text/plain';
|
@@ -205,9 +216,12 @@ class UserView(FlaskView):
|
|
205
216
|
|
206
217
|
@ route('/singbox.json', methods=["GET", "HEAD"])
|
207
218
|
@login_required(roles={Role.user})
|
208
|
-
def
|
219
|
+
def singbox_ssh_imp(self):
|
209
220
|
if not hconfig(ConfigEnum.ssh_server_enable):
|
210
|
-
return "SSH server is
|
221
|
+
return "The SSH server is disabled"
|
222
|
+
# elif not hconfig(ConfigEnum.sub_singbox_ssh_enable):
|
223
|
+
# return "The Singbox: SSH subscription is disabled"
|
224
|
+
|
211
225
|
mode = "new" # request.args.get("mode")
|
212
226
|
c = get_common_data(g.account.uuid, mode)
|
213
227
|
# response.content_type = 'text/plain';
|
@@ -221,9 +235,15 @@ class UserView(FlaskView):
|
|
221
235
|
|
222
236
|
@route('/all.txt', methods=["GET", "HEAD"])
|
223
237
|
@login_required(roles={Role.user})
|
224
|
-
def
|
238
|
+
def links_imp(self, base64=False):
|
239
|
+
'''Returns subscription links (base64 or not)'''
|
225
240
|
mode = "new" # request.args.get("mode")
|
226
241
|
base64 = base64 or request.args.get("base64", "").lower() == "true"
|
242
|
+
# if base64 and not hconfig(ConfigEnum.sub_full_links_b64_enable):
|
243
|
+
# return 'The Subscription link b64 is disabled'
|
244
|
+
# if not base64 and not hconfig(ConfigEnum.sub_full_links_enable):
|
245
|
+
# return 'The Subscription link is disabled'
|
246
|
+
|
227
247
|
c = get_common_data(g.account.uuid, mode)
|
228
248
|
# response.content_type = 'text/plain';
|
229
249
|
if request.method == 'HEAD':
|
@@ -346,7 +366,7 @@ def get_common_data(user_uuid, mode, no_domain=False, filter_domain=None):
|
|
346
366
|
'expire_rel': hutils.convert.format_timedelta(datetime.timedelta(days=expire_days)),
|
347
367
|
'reset_day': reset_days,
|
348
368
|
'hconfigs': get_hconfigs(),
|
349
|
-
'hdomains':
|
369
|
+
'hdomains': Domain.modes_and_domains(),
|
350
370
|
'ConfigEnum': ConfigEnum,
|
351
371
|
'link_maker': hutils.proxy,
|
352
372
|
'domains': domains,
|
@@ -85,13 +85,13 @@
|
|
85
85
|
{{ render_nav_item('admin.Dashboard:index', icon('solid','house','nav-icon')+(_("Parent Panel") if hutils.node.is_parent() else _('admin.menu.home')),_use_li=True)}}
|
86
86
|
|
87
87
|
{% if hutils.node.is_child() %}
|
88
|
-
{{ render_nav_item(hconfig(ConfigEnum.parent_panel)+"
|
88
|
+
{{ render_nav_item(hconfig(ConfigEnum.parent_panel)+"admin/user/",icon('solid','user-secret','nav-icon')+_('admin.menu.user'),_badge=_('in parent panel') ,_use_li=True) }}
|
89
89
|
{% else %}
|
90
90
|
{{ render_nav_item('flask.user.index_view', icon('solid','user','nav-icon')+_('admin.menu.user'),_use_li=True)}}
|
91
91
|
{% endif %}
|
92
92
|
|
93
93
|
{% if hutils.node.is_child() %}
|
94
|
-
{{ render_nav_item(hconfig(ConfigEnum.parent_panel)+"
|
94
|
+
{{ render_nav_item(hconfig(ConfigEnum.parent_panel)+"admin/adminuser/",icon('solid','user-secret','nav-icon')+_('Admins'),_badge=_('in parent panel') ,_use_li=True) }}
|
95
95
|
{% else %}
|
96
96
|
{{ render_nav_item('flask.adminuser.index_view', icon('solid','user-secret','nav-icon')+_('Admins'),_use_li=True) }}
|
97
97
|
{% endif %}
|
hiddifypanel/templates/fake.html
CHANGED
@@ -228,6 +228,8 @@
|
|
228
228
|
{{_("config.h2_enable.description")}}
|
229
229
|
{{_("config.db_version.label")}}
|
230
230
|
{{_("config.db_version.description")}}
|
231
|
+
{{_("config.last_priodic_usage_check.label")}}
|
232
|
+
{{_("config.last_priodic_usage_check.description")}}
|
231
233
|
{{_("config.branding_title.label")}}
|
232
234
|
{{_("config.branding_title.description")}}
|
233
235
|
{{_("config.branding_site.label")}}
|
@@ -254,6 +256,22 @@
|
|
254
256
|
{{_("config.path_tcp.description")}}
|
255
257
|
{{_("config.path_grpc.label")}}
|
256
258
|
{{_("config.path_grpc.description")}}
|
259
|
+
{{_("config.sub_full_singbox_enable.label")}}
|
260
|
+
{{_("config.sub_full_singbox_enable.description")}}
|
261
|
+
{{_("config.sub_singbox_ssh_enable.label")}}
|
262
|
+
{{_("config.sub_singbox_ssh_enable.description")}}
|
263
|
+
{{_("config.sub_full_xray_json_enable.label")}}
|
264
|
+
{{_("config.sub_full_xray_json_enable.description")}}
|
265
|
+
{{_("config.sub_full_links_enable.label")}}
|
266
|
+
{{_("config.sub_full_links_enable.description")}}
|
267
|
+
{{_("config.sub_full_links_b64_enable.label")}}
|
268
|
+
{{_("config.sub_full_links_b64_enable.description")}}
|
269
|
+
{{_("config.sub_full_clash_enable.label")}}
|
270
|
+
{{_("config.sub_full_clash_enable.description")}}
|
271
|
+
{{_("config.sub_full_clash_meta_enable.label")}}
|
272
|
+
{{_("config.sub_full_clash_meta_enable.description")}}
|
273
|
+
{{_("config.hiddifycli_enable.label")}}
|
274
|
+
{{_("config.hiddifycli_enable.description")}}
|
257
275
|
|
258
276
|
{{_("config.admin.label")}}{{_("config.admin.description")}}
|
259
277
|
{{_("config.branding.label")}}{{_("config.branding.description")}}
|
Binary file
|
@@ -92,9 +92,6 @@ msgstr "CPU %(cores)s Core"
|
|
92
92
|
msgid "Can add sub admin"
|
93
93
|
msgstr "👥 Can Add Sub Admin"
|
94
94
|
|
95
|
-
msgid "Can not connect to Cloudflare."
|
96
|
-
msgstr "Can not connect to Cloudflare."
|
97
|
-
|
98
95
|
msgid "Check again"
|
99
96
|
msgstr "Check Again"
|
100
97
|
|
@@ -368,7 +365,7 @@ msgid ""
|
|
368
365
|
msgstr ""
|
369
366
|
"Hooray 🎉 🎉 🎉 \n"
|
370
367
|
"Welcome to Hiddify bot\n"
|
371
|
-
"Start by clicking the link on the Panel or entering your UUID."
|
368
|
+
"Start by clicking the link on the Panel or entering your UUID user."
|
372
369
|
|
373
370
|
msgid "Hover the user to see the reason"
|
374
371
|
msgstr "Hover the user to see the reason"
|
@@ -677,6 +674,9 @@ msgstr "Rename File"
|
|
677
674
|
msgid "Reset Filters"
|
678
675
|
msgstr "Reset Filters"
|
679
676
|
|
677
|
+
msgid "Reset Proxies"
|
678
|
+
msgstr "Reset Proxies"
|
679
|
+
|
680
680
|
msgid "Reset Usage Time:"
|
681
681
|
msgstr "Traffic usage reset time:"
|
682
682
|
|
@@ -901,7 +901,7 @@ msgid ""
|
|
901
901
|
msgstr ""
|
902
902
|
"🔄 Hiddify Manager automatically takes a Backup every 6 Hours. The path of the Backup files on the server: ⬇️\n"
|
903
903
|
"<br>\n"
|
904
|
-
"/opt/hiddify-manager/hiddify-panel/backup/\n"
|
904
|
+
"💿 /opt/hiddify-manager/hiddify-panel/backup/\n"
|
905
905
|
"<br>\n"
|
906
906
|
"<br>\n"
|
907
907
|
"<br>\n"
|
@@ -1139,6 +1139,9 @@ msgstr "☑️ Automatic CDN IP Selector"
|
|
1139
1139
|
msgid "cdn"
|
1140
1140
|
msgstr "🔀 CDN (Cloudflare Proxy, ...)"
|
1141
1141
|
|
1142
|
+
msgid "cf-delete.failed"
|
1143
|
+
msgstr "cf-delete.failed"
|
1144
|
+
|
1142
1145
|
msgid "child has been removed!"
|
1143
1146
|
msgstr "Child Has Been Removed!"
|
1144
1147
|
|
@@ -1151,15 +1154,15 @@ msgstr "child.register-success"
|
|
1151
1154
|
msgid "child.sync-failed"
|
1152
1155
|
msgstr "child.sync-failed"
|
1153
1156
|
|
1154
|
-
msgid "child.sync-success"
|
1155
|
-
msgstr "child.sync-success"
|
1156
|
-
|
1157
1157
|
msgid "clickable copy"
|
1158
1158
|
msgstr "Link for Social Media"
|
1159
1159
|
|
1160
1160
|
msgid "close"
|
1161
1161
|
msgstr "Close"
|
1162
1162
|
|
1163
|
+
msgid "cloudflare.error"
|
1164
|
+
msgstr "cloudflare.error"
|
1165
|
+
|
1163
1166
|
msgid "config.Domain already used"
|
1164
1167
|
msgstr "Domain is exist in domains section. Use another Domain"
|
1165
1168
|
|
@@ -1344,7 +1347,7 @@ msgstr ""
|
|
1344
1347
|
"<a href='https://github.com/hiddify/hiddify-config/wiki/%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D8%AF%D8%A7%D9%85%DB%8C%D9%86-%D9%81%D8%B1%D8%A7%D9%86%D8%AA%DB%8C%D9%86%DA%AF'>Guide</a>. ⚠️CloudFlare does not support Domain Fronting."
|
1345
1348
|
|
1346
1349
|
msgid "config.domain_fronting.label"
|
1347
|
-
msgstr "🔒
|
1350
|
+
msgstr "🔒 TLS Domain Fronting"
|
1348
1351
|
|
1349
1352
|
msgid "config.domain_fronting_domain.description"
|
1350
1353
|
msgstr ""
|
@@ -1358,7 +1361,7 @@ msgid "config.domain_fronting_http_enable.description"
|
|
1358
1361
|
msgstr "Enabling HTTP Domain Fronting causes your domain to be block quickly."
|
1359
1362
|
|
1360
1363
|
msgid "config.domain_fronting_http_enable.label"
|
1361
|
-
msgstr "
|
1364
|
+
msgstr "HTTP Domain Fronting"
|
1362
1365
|
|
1363
1366
|
msgid "config.domain_fronting_tls_enable.description"
|
1364
1367
|
msgstr ""
|
@@ -1366,7 +1369,7 @@ msgstr ""
|
|
1366
1369
|
" connect to CDN"
|
1367
1370
|
|
1368
1371
|
msgid "config.domain_fronting_tls_enable.label"
|
1369
|
-
msgstr "🔒
|
1372
|
+
msgstr "🔒 TLS Domain Fronting"
|
1370
1373
|
|
1371
1374
|
msgid "config.firewall.description"
|
1372
1375
|
msgstr ""
|
@@ -1394,13 +1397,13 @@ msgstr ""
|
|
1394
1397
|
"framework. It can be used in supported CDNs"
|
1395
1398
|
|
1396
1399
|
msgid "config.grpc_enable.label"
|
1397
|
-
msgstr "➿
|
1400
|
+
msgstr "➿ gRPC"
|
1398
1401
|
|
1399
1402
|
msgid "config.h2_enable.description"
|
1400
1403
|
msgstr "Enable HTTP/2 Protocol"
|
1401
1404
|
|
1402
1405
|
msgid "config.h2_enable.label"
|
1403
|
-
msgstr "
|
1406
|
+
msgstr "🔵 h2"
|
1404
1407
|
|
1405
1408
|
msgid "config.hidden.description"
|
1406
1409
|
msgstr "config.hidden.description"
|
@@ -1408,6 +1411,12 @@ msgstr "config.hidden.description"
|
|
1408
1411
|
msgid "config.hidden.label"
|
1409
1412
|
msgstr "config.hidden.label"
|
1410
1413
|
|
1414
|
+
msgid "config.hiddifycli_enable.description"
|
1415
|
+
msgstr "config.hiddifycli_enable.description"
|
1416
|
+
|
1417
|
+
msgid "config.hiddifycli_enable.label"
|
1418
|
+
msgstr "config.hiddifycli_enable.label"
|
1419
|
+
|
1411
1420
|
msgid "config.http.description"
|
1412
1421
|
msgstr "HTTP Configurations could be set in this section"
|
1413
1422
|
|
@@ -1436,7 +1445,7 @@ msgstr ""
|
|
1436
1445
|
"⚠️ <strong>Not Available in Xray based Clients. Only HiddifyNext, Singbox, and V2fly clients are supported.</strong> <a href=\"https://hiddify.com/manager/basic-concepts-and-troubleshooting/Basic-Concepts/#http-upgrade\" target=\"_blank\"><strong>(Read More)</strong></a></p>"
|
1437
1446
|
|
1438
1447
|
msgid "config.httpupgrade_enable.label"
|
1439
|
-
msgstr "🆙
|
1448
|
+
msgstr "🆙 HTTPUpgrade Method"
|
1440
1449
|
|
1441
1450
|
msgid "config.hysteria.description"
|
1442
1451
|
msgstr ""
|
@@ -1457,7 +1466,7 @@ msgid "config.hysteria_enable.description"
|
|
1457
1466
|
msgstr "To Enable UDP based Hysteria Protocol"
|
1458
1467
|
|
1459
1468
|
msgid "config.hysteria_enable.label"
|
1460
|
-
msgstr "
|
1469
|
+
msgstr "⚫️ Hysteria2"
|
1461
1470
|
|
1462
1471
|
msgid "config.hysteria_obfs_enable.description"
|
1463
1472
|
msgstr " Enables Hysteria Obfuscation (Salamander)"
|
@@ -1478,7 +1487,8 @@ msgid "config.hysteria_up_mbps.label"
|
|
1478
1487
|
msgstr "⬆️ Hysteria Upload (mbps)"
|
1479
1488
|
|
1480
1489
|
msgid "config.invalid-pattern-for-warp-sites"
|
1481
|
-
msgstr "
|
1490
|
+
msgstr ""
|
1491
|
+
"⚠️ The Site entered for the Warp does not match the specified template"
|
1482
1492
|
|
1483
1493
|
msgid "config.is_parent.description"
|
1484
1494
|
msgstr "config.is_parent.description"
|
@@ -1496,7 +1506,7 @@ msgid "config.kcp_enable.description"
|
|
1496
1506
|
msgstr "It is a UDP Based Protocol "
|
1497
1507
|
|
1498
1508
|
msgid "config.kcp_enable.label"
|
1499
|
-
msgstr "
|
1509
|
+
msgstr "KCP"
|
1500
1510
|
|
1501
1511
|
msgid "config.kcp_ports.description"
|
1502
1512
|
msgstr ""
|
@@ -1517,6 +1527,12 @@ msgstr "config.last_hash.description"
|
|
1517
1527
|
msgid "config.last_hash.label"
|
1518
1528
|
msgstr "config.last_hash.label"
|
1519
1529
|
|
1530
|
+
msgid "config.last_priodic_usage_check.description"
|
1531
|
+
msgstr "config.last_priodic_usage_check.description"
|
1532
|
+
|
1533
|
+
msgid "config.last_priodic_usage_check.label"
|
1534
|
+
msgstr "config.last_priodic_usage_check.label"
|
1535
|
+
|
1520
1536
|
msgid "config.license.description"
|
1521
1537
|
msgstr "For commercial use of this Product, you must Purchase its License"
|
1522
1538
|
|
@@ -1561,7 +1577,7 @@ msgstr ""
|
|
1561
1577
|
"target=\"_blank\">(Read More)</a></p>"
|
1562
1578
|
|
1563
1579
|
msgid "config.mux_enable.label"
|
1564
|
-
msgstr "Ⓜ️ MUX
|
1580
|
+
msgstr "Ⓜ️ MUX (⚠️ Incompatible With Some Clients)"
|
1565
1581
|
|
1566
1582
|
msgid "config.mux_max_connections.description"
|
1567
1583
|
msgstr "Maximum Connections. Conflict with Max Streams"
|
@@ -1736,7 +1752,7 @@ msgid "config.quic_enable.description"
|
|
1736
1752
|
msgstr "Enable QUIC Protocol"
|
1737
1753
|
|
1738
1754
|
msgid "config.quic_enable.label"
|
1739
|
-
msgstr "
|
1755
|
+
msgstr "🟡 QUIC"
|
1740
1756
|
|
1741
1757
|
msgid "config.reality.description"
|
1742
1758
|
msgstr "REALITY eliminate the Server-Side TLS Fingerprint Feature"
|
@@ -1748,7 +1764,7 @@ msgid "config.reality_enable.description"
|
|
1748
1764
|
msgstr "Enable Reality Protocol"
|
1749
1765
|
|
1750
1766
|
msgid "config.reality_enable.label"
|
1751
|
-
msgstr "
|
1767
|
+
msgstr "🔴 Reality"
|
1752
1768
|
|
1753
1769
|
msgid "config.reality_fallback_domain.description"
|
1754
1770
|
msgstr ""
|
@@ -1822,7 +1838,7 @@ msgstr ""
|
|
1822
1838
|
"Inspection)"
|
1823
1839
|
|
1824
1840
|
msgid "config.shadowsocks2022_enable.label"
|
1825
|
-
msgstr "⭕️
|
1841
|
+
msgstr "⭕️ Shadowsocks 2022"
|
1826
1842
|
|
1827
1843
|
msgid "config.shadowsocks2022_method.description"
|
1828
1844
|
msgstr "This method also used in ShadowTLS and SSFakeTLS"
|
@@ -1921,7 +1937,7 @@ msgid "config.ssh_server_enable.description"
|
|
1921
1937
|
msgstr "SSH Proxy is completely different than original SSH Server"
|
1922
1938
|
|
1923
1939
|
msgid "config.ssh_server_enable.label"
|
1924
|
-
msgstr "✔️
|
1940
|
+
msgstr "✔️ SSH Proxy"
|
1925
1941
|
|
1926
1942
|
msgid "config.ssh_server_port.description"
|
1927
1943
|
msgstr ""
|
@@ -1952,7 +1968,7 @@ msgstr ""
|
|
1952
1968
|
"accounting."
|
1953
1969
|
|
1954
1970
|
msgid "config.ssr_enable.label"
|
1955
|
-
msgstr "
|
1971
|
+
msgstr "SSR"
|
1956
1972
|
|
1957
1973
|
msgid "config.ssr_fakedomain.description"
|
1958
1974
|
msgstr ""
|
@@ -1962,17 +1978,63 @@ msgstr ""
|
|
1962
1978
|
msgid "config.ssr_fakedomain.label"
|
1963
1979
|
msgstr "SSR FakeDomain"
|
1964
1980
|
|
1981
|
+
msgid "config.sub_full_clash_enable.description"
|
1982
|
+
msgstr "config.sub_full_clash_enable.description"
|
1983
|
+
|
1984
|
+
msgid "config.sub_full_clash_enable.label"
|
1985
|
+
msgstr "config.sub_full_clash_enable.label"
|
1986
|
+
|
1987
|
+
msgid "config.sub_full_clash_meta_enable.description"
|
1988
|
+
msgstr "config.sub_full_clash_meta_enable.description"
|
1989
|
+
|
1990
|
+
msgid "config.sub_full_clash_meta_enable.label"
|
1991
|
+
msgstr "config.sub_full_clash_meta_enable.label"
|
1992
|
+
|
1993
|
+
msgid "config.sub_full_links_b64_enable.description"
|
1994
|
+
msgstr "config.sub_full_links_b64_enable.description"
|
1995
|
+
|
1996
|
+
msgid "config.sub_full_links_b64_enable.label"
|
1997
|
+
msgstr "config.sub_full_links_b64_enable.label"
|
1998
|
+
|
1999
|
+
msgid "config.sub_full_links_enable.description"
|
2000
|
+
msgstr "config.sub_full_links_enable.description"
|
2001
|
+
|
2002
|
+
msgid "config.sub_full_links_enable.label"
|
2003
|
+
msgstr "config.sub_full_links_enable.label"
|
2004
|
+
|
2005
|
+
msgid "config.sub_full_singbox_enable.description"
|
2006
|
+
msgstr "config.sub_full_singbox_enable.description"
|
2007
|
+
|
2008
|
+
msgid "config.sub_full_singbox_enable.label"
|
2009
|
+
msgstr "config.sub_full_singbox_enable.label"
|
2010
|
+
|
2011
|
+
msgid "config.sub_full_xray_json_enable.description"
|
2012
|
+
msgstr ""
|
2013
|
+
"XRay full link provides comprehensive configuration options for XRay-"
|
2014
|
+
"specific settings. This includes custom fragmentation and multiplexing (mux)"
|
2015
|
+
" in applications such as v2rayNG that support XRay protocols for fine-tuned "
|
2016
|
+
"control over XRay proxy setup."
|
2017
|
+
|
2018
|
+
msgid "config.sub_full_xray_json_enable.label"
|
2019
|
+
msgstr "XRay Full Config Link"
|
2020
|
+
|
2021
|
+
msgid "config.sub_singbox_ssh_enable.description"
|
2022
|
+
msgstr "config.sub_singbox_ssh_enable.description"
|
2023
|
+
|
2024
|
+
msgid "config.sub_singbox_ssh_enable.label"
|
2025
|
+
msgstr "config.sub_singbox_ssh_enable.label"
|
2026
|
+
|
1965
2027
|
msgid "config.tcp_enable.description"
|
1966
2028
|
msgstr "Enable TCP Protocol"
|
1967
2029
|
|
1968
2030
|
msgid "config.tcp_enable.label"
|
1969
|
-
msgstr "
|
2031
|
+
msgstr "🟠 TCP"
|
1970
2032
|
|
1971
2033
|
msgid "config.telegram.description"
|
1972
2034
|
msgstr "A proxy designed for Telegram to bypass Telegram filtering"
|
1973
2035
|
|
1974
2036
|
msgid "config.telegram.label"
|
1975
|
-
msgstr "Telegram
|
2037
|
+
msgstr "Telegram Configs"
|
1976
2038
|
|
1977
2039
|
msgid "config.telegram_adtag.description"
|
1978
2040
|
msgstr ""
|
@@ -1999,7 +2061,7 @@ msgstr ""
|
|
1999
2061
|
"Domain</strong></span></p>"
|
2000
2062
|
|
2001
2063
|
msgid "config.telegram_enable.label"
|
2002
|
-
msgstr "✔️
|
2064
|
+
msgstr "✔️ Telegram MTProto"
|
2003
2065
|
|
2004
2066
|
msgid "config.telegram_fakedomain.description"
|
2005
2067
|
msgstr ""
|
@@ -2031,7 +2093,7 @@ msgstr ""
|
|
2031
2093
|
"the-TLS-Trick-works-and-its-usage/\" target=\"_blank\">(Read More)</a></p>"
|
2032
2094
|
|
2033
2095
|
msgid "config.tls_fragment_enable.label"
|
2034
|
-
msgstr "⏯
|
2096
|
+
msgstr "⏯ TLS Fragment"
|
2035
2097
|
|
2036
2098
|
msgid "config.tls_fragment_size.description"
|
2037
2099
|
msgstr "The Size of each Packet"
|
@@ -2049,7 +2111,7 @@ msgid "config.tls_mixed_case.description"
|
|
2049
2111
|
msgstr "Enables TLS Mixed SNI Case Fragmentation"
|
2050
2112
|
|
2051
2113
|
msgid "config.tls_mixed_case.label"
|
2052
|
-
msgstr "🔠
|
2114
|
+
msgstr "🔠 TLS Mixed SNI Case"
|
2053
2115
|
|
2054
2116
|
msgid "config.tls_padding_enable.description"
|
2055
2117
|
msgstr ""
|
@@ -2059,7 +2121,7 @@ msgstr ""
|
|
2059
2121
|
"More)</a></p>"
|
2060
2122
|
|
2061
2123
|
msgid "config.tls_padding_enable.label"
|
2062
|
-
msgstr "♒️
|
2124
|
+
msgstr "♒️ TLS Padding"
|
2063
2125
|
|
2064
2126
|
msgid "config.tls_padding_length.description"
|
2065
2127
|
msgstr "The length of the Padding for TLS Fragmentation"
|
@@ -2099,7 +2161,7 @@ msgid "config.trojan_enable.description"
|
|
2099
2161
|
msgstr "Enable Trojan Protocol"
|
2100
2162
|
|
2101
2163
|
msgid "config.trojan_enable.label"
|
2102
|
-
msgstr "
|
2164
|
+
msgstr "🟤 Trojan"
|
2103
2165
|
|
2104
2166
|
msgid "config.tuic.description"
|
2105
2167
|
msgstr ""
|
@@ -2114,10 +2176,10 @@ msgid "config.tuic_enable.description"
|
|
2114
2176
|
msgstr "It is a UDP based protocol similar to QUIC"
|
2115
2177
|
|
2116
2178
|
msgid "config.tuic_enable.label"
|
2117
|
-
msgstr "
|
2179
|
+
msgstr "⚫️ TUIC"
|
2118
2180
|
|
2119
2181
|
msgid "config.tuic_port.description"
|
2120
|
-
msgstr "Use comma to separate ports like 63000,60000"
|
2182
|
+
msgstr "Use comma to separate ports like ( 63000,60000 )"
|
2121
2183
|
|
2122
2184
|
msgid "config.tuic_port.label"
|
2123
2185
|
msgstr "TUIC Ports"
|
@@ -2140,7 +2202,7 @@ msgid "config.v2ray_enable.description"
|
|
2140
2202
|
msgstr "V2ray does not support accounting and not suggested"
|
2141
2203
|
|
2142
2204
|
msgid "config.v2ray_enable.label"
|
2143
|
-
msgstr "♈️
|
2205
|
+
msgstr "♈️ V2Ray "
|
2144
2206
|
|
2145
2207
|
msgid "config.validation-error"
|
2146
2208
|
msgstr "There is an error in one of the fields."
|
@@ -2157,13 +2219,13 @@ msgid "config.vless_enable.description"
|
|
2157
2219
|
msgstr "Enable VLess Protocol"
|
2158
2220
|
|
2159
2221
|
msgid "config.vless_enable.label"
|
2160
|
-
msgstr "
|
2222
|
+
msgstr "⚫️ VLess"
|
2161
2223
|
|
2162
2224
|
msgid "config.vmess_enable.description"
|
2163
2225
|
msgstr "Active VMess Protocol"
|
2164
2226
|
|
2165
2227
|
msgid "config.vmess_enable.label"
|
2166
|
-
msgstr "
|
2228
|
+
msgstr "🟣 VMess"
|
2167
2229
|
|
2168
2230
|
msgid "config.warp-https-domain-for-warp-site"
|
2169
2231
|
msgstr "config.warp-https-domain-for-warp-site"
|
@@ -2183,7 +2245,7 @@ msgstr ""
|
|
2183
2245
|
"server IP "
|
2184
2246
|
|
2185
2247
|
msgid "config.warp_enable.label"
|
2186
|
-
msgstr "
|
2248
|
+
msgstr "WARP+"
|
2187
2249
|
|
2188
2250
|
msgid "config.warp_mode.description"
|
2189
2251
|
msgstr ""
|
@@ -2228,7 +2290,7 @@ msgstr ""
|
|
2228
2290
|
"Next</a>)</p>"
|
2229
2291
|
|
2230
2292
|
msgid "config.wireguard_enable.label"
|
2231
|
-
msgstr "🐉
|
2293
|
+
msgstr "🐉 WireGuard"
|
2232
2294
|
|
2233
2295
|
msgid "config.wireguard_ipv4.description"
|
2234
2296
|
msgstr "-"
|
@@ -2272,13 +2334,13 @@ msgid "config.ws_enable.description"
|
|
2272
2334
|
msgstr "Websocket creates a tunnel over HTTP that is useful to be used in CDN"
|
2273
2335
|
|
2274
2336
|
msgid "config.ws_enable.label"
|
2275
|
-
msgstr "🔰
|
2337
|
+
msgstr "🔰 Websocket"
|
2276
2338
|
|
2277
2339
|
msgid "config.xtls_enable.description"
|
2278
2340
|
msgstr "Enable XTLS Protocol"
|
2279
2341
|
|
2280
2342
|
msgid "config.xtls_enable.label"
|
2281
|
-
msgstr "
|
2343
|
+
msgstr "🟢 XTLS"
|
2282
2344
|
|
2283
2345
|
msgid "config.invalid uuid"
|
2284
2346
|
msgstr ""
|
@@ -2319,7 +2381,7 @@ msgstr ""
|
|
2319
2381
|
"<a href='https://github.com/hiddify/hiddify-config/wiki/Guide-for-domain-fronting'>Guide</a>. ⚠️CloudFlare does not support Domain Fronting."
|
2320
2382
|
|
2321
2383
|
msgid "domain.domain_fronting.label"
|
2322
|
-
msgstr "🔒
|
2384
|
+
msgstr "🔒 TLS Domain Fronting"
|
2323
2385
|
|
2324
2386
|
msgid "domain.ip"
|
2325
2387
|
msgstr "IP"
|
@@ -2352,19 +2414,19 @@ msgid "items"
|
|
2352
2414
|
msgstr "items"
|
2353
2415
|
|
2354
2416
|
msgid "lang.en"
|
2355
|
-
msgstr "🇺🇸 English انگلیسی
|
2417
|
+
msgstr "🇺🇸 English - انگلیسی"
|
2356
2418
|
|
2357
2419
|
msgid "lang.fa"
|
2358
|
-
msgstr "🇮🇷 Persian فارسی
|
2420
|
+
msgstr "🇮🇷 Persian - فارسی"
|
2359
2421
|
|
2360
2422
|
msgid "lang.pt"
|
2361
|
-
msgstr "🇵🇹 Portuguese
|
2423
|
+
msgstr "🇵🇹 Portuguese"
|
2362
2424
|
|
2363
2425
|
msgid "lang.ru"
|
2364
|
-
msgstr "🇷🇺 Russian
|
2426
|
+
msgstr "🇷🇺 Russian - Русский"
|
2365
2427
|
|
2366
2428
|
msgid "lang.zh"
|
2367
|
-
msgstr "🇨🇳 Chinese
|
2429
|
+
msgstr "🇨🇳 Chinese - 简体中文"
|
2368
2430
|
|
2369
2431
|
msgid "lib.telegram.erlang"
|
2370
2432
|
msgstr "✴️ Erlang : Good Performance"
|
Binary file
|