hiddifypanel 10.30.0.dev1__py3-none-any.whl → 10.30.1__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 +12 -12
- hiddifypanel/models/config.py +5 -12
- hiddifypanel/panel/init_db.py +10 -11
- hiddifypanel/templates/fake.html +316 -0
- hiddifypanel/translations/en/LC_MESSAGES/messages.mo +0 -0
- hiddifypanel/translations/en/LC_MESSAGES/messages.po +2 -2
- 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/translations.i18n/en.json +2 -2
- {hiddifypanel-10.30.0.dev1.dist-info → hiddifypanel-10.30.1.dist-info}/METADATA +1 -1
- {hiddifypanel-10.30.0.dev1.dist-info → hiddifypanel-10.30.1.dist-info}/RECORD +19 -19
- {hiddifypanel-10.30.0.dev1.dist-info → hiddifypanel-10.30.1.dist-info}/WHEEL +1 -1
- {hiddifypanel-10.30.0.dev1.dist-info → hiddifypanel-10.30.1.dist-info}/LICENSE.md +0 -0
- {hiddifypanel-10.30.0.dev1.dist-info → hiddifypanel-10.30.1.dist-info}/entry_points.txt +0 -0
- {hiddifypanel-10.30.0.dev1.dist-info → hiddifypanel-10.30.1.dist-info}/top_level.txt +0 -0
hiddifypanel/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
10.30.
|
1
|
+
10.30.1
|
hiddifypanel/VERSION.py
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
__version__='10.30.
|
1
|
+
__version__='10.30.1'
|
2
2
|
from datetime import datetime
|
3
|
-
__release_date__= datetime.strptime('2024-
|
3
|
+
__release_date__= datetime.strptime('2024-07-02','%Y-%m-%d')
|
hiddifypanel/base.py
CHANGED
@@ -18,19 +18,19 @@ from loguru import logger
|
|
18
18
|
from hiddifypanel.panel.init_db import init_db
|
19
19
|
|
20
20
|
|
21
|
-
def
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
return fmt + '\n'
|
21
|
+
def logger_dynamic_formatter(record) -> str:
|
22
|
+
fmt = '<green>{time:YYYY-MM-DD HH:mm:ss}</green> | <level>{level: <8}</level> | <cyan>{name}</cyan>:<cyan>{function}</cyan>:<cyan>{line}</cyan> - <level>{message}</level>'
|
23
|
+
if record['extra']:
|
24
|
+
fmt += ' | <level>{extra}</level>'
|
25
|
+
return fmt + '\n'
|
27
26
|
|
27
|
+
|
28
|
+
def init_logger(app, cli):
|
28
29
|
# configure logger
|
29
|
-
from hiddifypanel.models import ConfigEnum, hconfig
|
30
30
|
logger.remove()
|
31
|
-
logger.add(sys.stderr, format=
|
31
|
+
logger.add(sys.stderr if cli else sys.stdout, format=logger_dynamic_formatter, level=app.config['STDOUT_LOG_LEVEL'],
|
32
32
|
colorize=True, catch=True, enqueue=True, diagnose=False, backtrace=True)
|
33
|
-
|
33
|
+
logger.trace('Logger initiated :)')
|
34
34
|
|
35
35
|
|
36
36
|
# TODO: refactor this function
|
@@ -87,12 +87,12 @@ def create_app(*args, cli=False, **config):
|
|
87
87
|
v = True if v.lower() == "true" else (False if v.lower() == "false" else v)
|
88
88
|
|
89
89
|
app.config[c] = v
|
90
|
-
|
90
|
+
init_logger(app, cli)
|
91
91
|
hiddifypanel.database.init_app(app)
|
92
92
|
with app.app_context():
|
93
93
|
init_db()
|
94
|
-
|
95
|
-
|
94
|
+
logger.add(app.config['HIDDIFY_CONFIG_PATH'] + "/log/system/panel.log", format=logger_dynamic_formatter, level=hconfig(ConfigEnum.log_level),
|
95
|
+
colorize=True, catch=True, enqueue=True, diagnose=False, backtrace=True)
|
96
96
|
|
97
97
|
def get_locale():
|
98
98
|
# Put your logic here. Application can store locale in
|
hiddifypanel/models/config.py
CHANGED
@@ -9,11 +9,7 @@ from hiddifypanel.models.child import Child, ChildMode
|
|
9
9
|
from sqlalchemy import Column, String, Boolean, Enum, ForeignKey, Integer
|
10
10
|
from strenum import StrEnum
|
11
11
|
from sqlalchemy_serializer import SerializerMixin
|
12
|
-
|
13
|
-
|
14
|
-
def error(st):
|
15
|
-
from hiddifypanel.hutils.utils import error as err
|
16
|
-
err(st)
|
12
|
+
from loguru import logger
|
17
13
|
|
18
14
|
|
19
15
|
class BoolConfig(db.Model, SerializerMixin):
|
@@ -74,15 +70,15 @@ def hconfig(key: ConfigEnum, child_id: Optional[int] = None): # -> str | int |
|
|
74
70
|
if bool_conf:
|
75
71
|
value = bool_conf.value
|
76
72
|
else:
|
77
|
-
|
73
|
+
logger.warning(f'bool {key} not found ')
|
78
74
|
else:
|
79
75
|
str_conf = StrConfig.query.filter(StrConfig.key == key, StrConfig.child_id == child_id).first()
|
80
76
|
if str_conf:
|
81
77
|
value = str_conf.value
|
82
78
|
else:
|
83
|
-
|
79
|
+
logger.warning(f'str {key} not found ')
|
84
80
|
except BaseException:
|
85
|
-
|
81
|
+
logger.exception(f'{key} error!')
|
86
82
|
raise
|
87
83
|
if value != None:
|
88
84
|
if key.type == int:
|
@@ -97,7 +93,6 @@ def set_hconfig(key: ConfigEnum, value: str | int | bool, child_id: int | None =
|
|
97
93
|
if child_id is None:
|
98
94
|
child_id = Child.current().id
|
99
95
|
|
100
|
-
print(f"chainging .... {key}---{value}---{child_id}---{commit}")
|
101
96
|
if key.type == int and value != None:
|
102
97
|
int(value) # for testing int
|
103
98
|
|
@@ -127,7 +122,7 @@ def set_hconfig(key: ConfigEnum, value: str | int | bool, child_id: int | None =
|
|
127
122
|
else:
|
128
123
|
old_v = dbconf.value
|
129
124
|
dbconf.value = value
|
130
|
-
|
125
|
+
logger.trace(f"changing {key} from {old_v} to {value}")
|
131
126
|
Events.config_changed.notify(conf=dbconf, old_value=old_v)
|
132
127
|
|
133
128
|
if child_id == 0 and key.hide_in_virtual_child:
|
@@ -171,11 +166,9 @@ def add_or_update_config(commit: bool = True, child_id: int | None = None, overr
|
|
171
166
|
def bulk_register_configs(hconfigs, commit: bool = True, froce_child_unique_id: str | None = None, override_unique_id: bool = True):
|
172
167
|
from hiddifypanel.panel import hiddify
|
173
168
|
for conf in hconfigs:
|
174
|
-
# print(conf)
|
175
169
|
if conf['key'] == ConfigEnum.unique_id and not override_unique_id:
|
176
170
|
continue
|
177
171
|
child_id = hiddify.get_child(unique_id=froce_child_unique_id)
|
178
|
-
# print(conf, child_id, conf.get('child_unique_id', None), override_child_unique_id)
|
179
172
|
add_or_update_config(commit=False, child_id=child_id, **conf)
|
180
173
|
if commit:
|
181
174
|
db.session.commit()
|
hiddifypanel/panel/init_db.py
CHANGED
@@ -13,7 +13,7 @@ from hiddifypanel.panel import hiddify
|
|
13
13
|
from hiddifypanel.database import db, db_execute
|
14
14
|
from flask import g
|
15
15
|
from sqlalchemy import text
|
16
|
-
|
16
|
+
from loguru import logger
|
17
17
|
MAX_DB_VERSION = 90
|
18
18
|
|
19
19
|
|
@@ -564,7 +564,6 @@ def add_config_if_not_exist(key: ConfigEnum, val: str | int, child_id: int | Non
|
|
564
564
|
child_id = Child.current().id
|
565
565
|
|
566
566
|
old_val = hconfig(key, child_id)
|
567
|
-
hutils.utils.error(f'{key}, {val}, {child_id}, {old_val}')
|
568
567
|
if old_val is None:
|
569
568
|
set_hconfig(key, val)
|
570
569
|
|
@@ -583,7 +582,7 @@ def execute(query: str):
|
|
583
582
|
|
584
583
|
db_execute(query)
|
585
584
|
except BaseException as e:
|
586
|
-
|
585
|
+
logger.debug(e)
|
587
586
|
pass
|
588
587
|
|
589
588
|
|
@@ -599,7 +598,7 @@ def add_new_enum_values():
|
|
599
598
|
|
600
599
|
# Get the existing values in the enum
|
601
600
|
existing_values = [f'{e}' if isinstance(e, ConfigEnum) else e.value for e in enum_class]
|
602
|
-
|
601
|
+
|
603
602
|
# Get the values in the enum column in the database
|
604
603
|
# result = db.engine.execute(f"SELECT DISTINCT `{column_name}` FROM {table_name}")
|
605
604
|
# db_values = {row[0] for row in result}
|
@@ -616,7 +615,7 @@ def add_new_enum_values():
|
|
616
615
|
# Find the new values that need to be added to the enum column in the database
|
617
616
|
new_values = set(existing_values) - set(db_values)
|
618
617
|
old_values = set(db_values) - set(existing_values)
|
619
|
-
|
618
|
+
|
620
619
|
if len(new_values) == 0 and len(old_values) == 0:
|
621
620
|
continue
|
622
621
|
|
@@ -642,14 +641,14 @@ def upgrade_database():
|
|
642
641
|
if not os.path.isdir(backup_root) or len(os.listdir(backup_root)) == 0:
|
643
642
|
if os.path.isfile(sqlite_db):
|
644
643
|
os.rename(sqlite_db, sqlite_db + ".old")
|
645
|
-
|
644
|
+
logger.info("no backup found...")
|
646
645
|
return
|
647
646
|
if os.path.isfile(sqlite_db):
|
648
|
-
|
647
|
+
logger.info("Finding Old Version Database... importing configs from latest backup")
|
649
648
|
newest_file = max([(f, os.path.getmtime(os.path.join(backup_root, f)))
|
650
649
|
for f in os.listdir(backup_root) if os.path.isfile(os.path.join(backup_root, f))], key=lambda x: x[1])[0]
|
651
650
|
with open(f'{backup_root}{newest_file}', 'r') as f:
|
652
|
-
|
651
|
+
logger.info(f"importing configs from {newest_file}")
|
653
652
|
json_data = json.load(f)
|
654
653
|
hiddify.set_db_from_json(json_data,
|
655
654
|
set_users=True,
|
@@ -667,7 +666,7 @@ def upgrade_database():
|
|
667
666
|
os.rename(sqlite_db, sqlite_db + ".old")
|
668
667
|
set_hconfig(ConfigEnum.db_version, db_version, commit=True)
|
669
668
|
|
670
|
-
|
669
|
+
logger.info("Upgrading to the new dataset succuess.")
|
671
670
|
|
672
671
|
|
673
672
|
def init_db():
|
@@ -700,7 +699,7 @@ def init_db():
|
|
700
699
|
if not db_action or (start_version == 0 and ver == 10):
|
701
700
|
continue
|
702
701
|
|
703
|
-
|
702
|
+
logger.info(f"Updating db from version {db_version} for node {child.id}")
|
704
703
|
|
705
704
|
if ver < 70:
|
706
705
|
if child.id != 0:
|
@@ -710,7 +709,7 @@ def init_db():
|
|
710
709
|
db_action(child.id)
|
711
710
|
|
712
711
|
Events.db_init_event.notify(db_version=db_version)
|
713
|
-
|
712
|
+
logger.info(f"Updated successfuly db from version {db_version} to {ver}")
|
714
713
|
|
715
714
|
db_version = ver
|
716
715
|
db.session.commit()
|
hiddifypanel/templates/fake.html
CHANGED
@@ -0,0 +1,316 @@
|
|
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.vless_enable.label")}}
|
216
|
+
{{_("config.vless_enable.description")}}
|
217
|
+
{{_("config.trojan_enable.label")}}
|
218
|
+
{{_("config.trojan_enable.description")}}
|
219
|
+
{{_("config.reality_enable.label")}}
|
220
|
+
{{_("config.reality_enable.description")}}
|
221
|
+
{{_("config.tcp_enable.label")}}
|
222
|
+
{{_("config.tcp_enable.description")}}
|
223
|
+
{{_("config.quic_enable.label")}}
|
224
|
+
{{_("config.quic_enable.description")}}
|
225
|
+
{{_("config.xtls_enable.label")}}
|
226
|
+
{{_("config.xtls_enable.description")}}
|
227
|
+
{{_("config.h2_enable.label")}}
|
228
|
+
{{_("config.h2_enable.description")}}
|
229
|
+
{{_("config.db_version.label")}}
|
230
|
+
{{_("config.db_version.description")}}
|
231
|
+
{{_("config.last_priodic_usage_check.label")}}
|
232
|
+
{{_("config.last_priodic_usage_check.description")}}
|
233
|
+
{{_("config.branding_title.label")}}
|
234
|
+
{{_("config.branding_title.description")}}
|
235
|
+
{{_("config.branding_site.label")}}
|
236
|
+
{{_("config.branding_site.description")}}
|
237
|
+
{{_("config.branding_freetext.label")}}
|
238
|
+
{{_("config.branding_freetext.description")}}
|
239
|
+
{{_("config.not_found.label")}}
|
240
|
+
{{_("config.not_found.description")}}
|
241
|
+
{{_("config.path_vmess.label")}}
|
242
|
+
{{_("config.path_vmess.description")}}
|
243
|
+
{{_("config.path_vless.label")}}
|
244
|
+
{{_("config.path_vless.description")}}
|
245
|
+
{{_("config.path_trojan.label")}}
|
246
|
+
{{_("config.path_trojan.description")}}
|
247
|
+
{{_("config.path_v2ray.label")}}
|
248
|
+
{{_("config.path_v2ray.description")}}
|
249
|
+
{{_("config.path_ss.label")}}
|
250
|
+
{{_("config.path_ss.description")}}
|
251
|
+
{{_("config.path_httpupgrade.label")}}
|
252
|
+
{{_("config.path_httpupgrade.description")}}
|
253
|
+
{{_("config.path_ws.label")}}
|
254
|
+
{{_("config.path_ws.description")}}
|
255
|
+
{{_("config.path_tcp.label")}}
|
256
|
+
{{_("config.path_tcp.description")}}
|
257
|
+
{{_("config.path_grpc.label")}}
|
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")}}
|
275
|
+
|
276
|
+
{{_("config.admin.label")}}{{_("config.admin.description")}}
|
277
|
+
{{_("config.branding.label")}}{{_("config.branding.description")}}
|
278
|
+
{{_("config.general.label")}}{{_("config.general.description")}}
|
279
|
+
{{_("config.proxies.label")}}{{_("config.proxies.description")}}
|
280
|
+
{{_("config.domain_fronting.label")}}{{_("config.domain_fronting.description")}}
|
281
|
+
{{_("config.telegram.label")}}{{_("config.telegram.description")}}
|
282
|
+
{{_("config.http.label")}}{{_("config.http.description")}}
|
283
|
+
{{_("config.tls.label")}}{{_("config.tls.description")}}
|
284
|
+
{{_("config.mux.label")}}{{_("config.mux.description")}}
|
285
|
+
{{_("config.tls_trick.label")}}{{_("config.tls_trick.description")}}
|
286
|
+
{{_("config.ssh.label")}}{{_("config.ssh.description")}}
|
287
|
+
{{_("config.ssfaketls.label")}}{{_("config.ssfaketls.description")}}
|
288
|
+
{{_("config.shadowtls.label")}}{{_("config.shadowtls.description")}}
|
289
|
+
{{_("config.restls.label")}}{{_("config.restls.description")}}
|
290
|
+
{{_("config.tuic.label")}}{{_("config.tuic.description")}}
|
291
|
+
{{_("config.hysteria.label")}}{{_("config.hysteria.description")}}
|
292
|
+
{{_("config.ssr.label")}}{{_("config.ssr.description")}}
|
293
|
+
{{_("config.kcp.label")}}{{_("config.kcp.description")}}
|
294
|
+
{{_("config.hidden.label")}}{{_("config.hidden.description")}}
|
295
|
+
{{_("config.advanced.label")}}{{_("config.advanced.description")}}
|
296
|
+
{{_("config.too_advanced.label")}}{{_("config.too_advanced.description")}}
|
297
|
+
{{_("config.warp.label")}}{{_("config.warp.description")}}
|
298
|
+
{{_("config.reality.label")}}{{_("config.reality.description")}}
|
299
|
+
{{_("config.wireguard.label")}}{{_("config.wireguard.description")}}
|
300
|
+
{{_("config.shadowsocks.label")}}{{_("config.shadowsocks.description")}}
|
301
|
+
|
302
|
+
{{_("direct")}}
|
303
|
+
{{_("sub_link_only")}}
|
304
|
+
{{_("cdn")}}
|
305
|
+
{{_("auto_cdn_ip")}}
|
306
|
+
{{_("relay")}}
|
307
|
+
{{_("reality")}}
|
308
|
+
{{_("old_xtls_direct")}}
|
309
|
+
{{_("worker")}}
|
310
|
+
{{_("fake")}}
|
311
|
+
|
312
|
+
{{_("no_reset")}}
|
313
|
+
{{_("monthly")}}
|
314
|
+
{{_("weekly")}}
|
315
|
+
{{_("daily")}}
|
316
|
+
|
Binary file
|
@@ -2414,13 +2414,13 @@ msgid "items"
|
|
2414
2414
|
msgstr "items"
|
2415
2415
|
|
2416
2416
|
msgid "lang.en"
|
2417
|
-
msgstr "🇺🇸 English -
|
2417
|
+
msgstr "🇺🇸 English - انگلیسی"
|
2418
2418
|
|
2419
2419
|
msgid "lang.fa"
|
2420
2420
|
msgstr "🇮🇷 Persian - فارسی"
|
2421
2421
|
|
2422
2422
|
msgid "lang.pt"
|
2423
|
-
msgstr "🇵🇹 Portuguese
|
2423
|
+
msgstr "🇵🇹 Portuguese"
|
2424
2424
|
|
2425
2425
|
msgid "lang.ru"
|
2426
2426
|
msgstr "🇷🇺 Russian - Русский"
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -1036,9 +1036,9 @@
|
|
1036
1036
|
"ios": "iOS",
|
1037
1037
|
"items": "items",
|
1038
1038
|
"lang": {
|
1039
|
-
"en": "🇺🇸 English -
|
1039
|
+
"en": "🇺🇸 English - انگلیسی",
|
1040
1040
|
"fa": "🇮🇷 Persian - فارسی",
|
1041
|
-
"pt": "🇵🇹 Portuguese
|
1041
|
+
"pt": "🇵🇹 Portuguese",
|
1042
1042
|
"ru": "🇷🇺 Russian - Русский",
|
1043
1043
|
"zh": "🇨🇳 Chinese - 简体中文"
|
1044
1044
|
},
|
@@ -1,10 +1,10 @@
|
|
1
1
|
hiddifypanel/Events.py,sha256=AlnRdjVul0jP-NCT4-zoaQgowoOo-JhdQB4ytetAFKA,723
|
2
|
-
hiddifypanel/VERSION,sha256=
|
3
|
-
hiddifypanel/VERSION.py,sha256=
|
2
|
+
hiddifypanel/VERSION,sha256=ExM_lyQpFp2NsXwvJE2AOiySZTzqvHYU0uvOgXxrL54,8
|
3
|
+
hiddifypanel/VERSION.py,sha256=pljs7WubzIyDFM6qnkiAVo3N-kM_4Abj322DQgjJGV4,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=5GUwwKCRY90RS0WTKPfqzuOYuLuwGLpNLpnKmubf7DE,7405
|
7
|
-
hiddifypanel/base.py,sha256=
|
7
|
+
hiddifypanel/base.py,sha256=uip2LpfS2KhkW31jNSHPbZ5qxbhwzhJiY7U8WNNrFdQ,5839
|
8
8
|
hiddifypanel/cache.py,sha256=6snErbx9rD6XSC2fO79XZy3EGMJoZB-yhnAMEWTPWAg,880
|
9
9
|
hiddifypanel/database.py,sha256=14sfbGEG-NCqkfUtyLvcO2JbkQ3-Fzs-MezPNkNbvgk,717
|
10
10
|
hiddifypanel/drivers/abstract_driver.py,sha256=HpWkgbWVWF8n3WhDe0BlxsIF1WTWO57AQEAEb2ZVCPM,223
|
@@ -45,7 +45,7 @@ hiddifypanel/models/__init__.py,sha256=PngFjQL9WvQP4EioNHRz1tTeyIgLoNvZ7WpmAhwKH
|
|
45
45
|
hiddifypanel/models/admin.py,sha256=shNbmaG1i79apfk7KCNr1Qwy_3UQFaTgG2j1wGNs_7g,7269
|
46
46
|
hiddifypanel/models/base_account.py,sha256=xx1oO5OKtBPq4eaW9DgSgp3rOHfEOMkV0YpGT7wsoAM,3127
|
47
47
|
hiddifypanel/models/child.py,sha256=ZFJaH-GWTKAGD0BGMH0iKEMipi37_cAk59OeJKt2IKA,3039
|
48
|
-
hiddifypanel/models/config.py,sha256
|
48
|
+
hiddifypanel/models/config.py,sha256=-KKYqMkSEn2DabRxqBogSyA6xOU4ons6sa5CxxHAlAk,6373
|
49
49
|
hiddifypanel/models/config_enum.py,sha256=iqPuwirmyMcQi20UBI-EngTPpn82ryC9kpsYWvGpXR4,15366
|
50
50
|
hiddifypanel/models/domain.py,sha256=kpiyN7-HeDgKSPXia6fMgox5Onefg5FDjxxRkmAil5A,8017
|
51
51
|
hiddifypanel/models/parent_domain.py,sha256=bs5F1neOAQu9XHEk3QQTBM4p2iuebM4cnAQqwfNjCtg,2291
|
@@ -63,7 +63,7 @@ hiddifypanel/panel/cli.py,sha256=-5giHEvYaaSz2yhH2HX16kUocnbLR0FwyfvjHoS7yq4,100
|
|
63
63
|
hiddifypanel/panel/common.py,sha256=3jMmdoMk-qvdT8mSmIXEBh9y54P81EsWUKmGeK9qQKg,7593
|
64
64
|
hiddifypanel/panel/custom_widgets.py,sha256=9qI_fNX8NKqB1r8ljgcaisGZaDM89_PM_rOBZbGaTYs,2506
|
65
65
|
hiddifypanel/panel/hiddify.py,sha256=lr8k5mOymeNPIhBwBbRUcWObaNVoCDdjI-hprZOOcCc,14028
|
66
|
-
hiddifypanel/panel/init_db.py,sha256=
|
66
|
+
hiddifypanel/panel/init_db.py,sha256=6VyWuJo-2JE_Eh39KM2pKmHWCZ97NxfgoEkro6QKZj0,33391
|
67
67
|
hiddifypanel/panel/run_commander.py,sha256=D9y-My0xSe2adHWXKV5UPYGl-9WwKURzniq55MRu6tE,3259
|
68
68
|
hiddifypanel/panel/usage.py,sha256=E7-kbqszFZjlmmLrjopVn-fqiidobe3HdBYdopPbRAs,5715
|
69
69
|
hiddifypanel/panel/admin/Actions.py,sha256=D9Gc_Pl3llMbu3S9FZUCEfT8fRwihsVFG8IyuO-dEqw,8762
|
@@ -811,7 +811,7 @@ hiddifypanel/templates/admin-layout.html,sha256=OzEUQ4gxx_pdF2-dPbm-pincmakcEGfi
|
|
811
811
|
hiddifypanel/templates/admin.ht.old,sha256=e9FBo9YPi7zFVidg8jS6JhOOsYdBbNPxfpTWG1dbIeg,8384
|
812
812
|
hiddifypanel/templates/donation.html,sha256=Oft3WENpSnwpbDgMw3MnhQIlQhuN_TDKm54qd4_FwIk,741
|
813
813
|
hiddifypanel/templates/error.html,sha256=Tnu3mMZ6zvFcATU6_OY1stljVPd9Djnxm3LV7Zx4zck,476
|
814
|
-
hiddifypanel/templates/fake.html,sha256=
|
814
|
+
hiddifypanel/templates/fake.html,sha256=Eg8_9LqIPA4-HGHBjji2kT8emaBOD2VWsYfHqcE0WyQ,12943
|
815
815
|
hiddifypanel/templates/flaskadmin-layout.html,sha256=PkF74ld3HZ-j5_nVzVxmispnmmo3ni4WII7OXnN9VOs,7612
|
816
816
|
hiddifypanel/templates/github_issue_body.j2,sha256=6Z4QF-cOAaUxDtRQXT8H4O9SrZ3TGoxgpjnfIpGbsxo,474
|
817
817
|
hiddifypanel/templates/lte-master.html,sha256=jYhcNj8SuMOPT35OEG4e1sLWm03Vq53n4ynf3SdOWj4,1585
|
@@ -821,24 +821,24 @@ hiddifypanel/templates/redirect.html,sha256=K9x_O4P96vEkqBhOXIhoGrWw1KIqd2bL0BjI
|
|
821
821
|
hiddifypanel/templates/static.html,sha256=jp6q4wtx-k2A_cjqJoNiMS7Ee30arE45qI3ev4d5ky4,165
|
822
822
|
hiddifypanel/templates/hiddify-flask-admin/actions.html,sha256=2NeITe2e-lPKCk_o511tCIqVtrPu8LYHE1wTCtrFUrI,1331
|
823
823
|
hiddifypanel/templates/hiddify-flask-admin/list.html,sha256=MBGrTqZpzNLe4sZy0RozvXNr8seFUQc2C6v88BJtNWc,11095
|
824
|
-
hiddifypanel/translations/en/LC_MESSAGES/messages.mo,sha256=
|
825
|
-
hiddifypanel/translations/en/LC_MESSAGES/messages.po,sha256=
|
826
|
-
hiddifypanel/translations/fa/LC_MESSAGES/messages.mo,sha256=
|
824
|
+
hiddifypanel/translations/en/LC_MESSAGES/messages.mo,sha256=tFLeWExbNqqBfGcCuAWKFWl9uKoeuNPp5GsfQYGFBFE,76439
|
825
|
+
hiddifypanel/translations/en/LC_MESSAGES/messages.po,sha256=OlKaiP7MYYeOomSJgo6sFSFRu3byBKvcxHg-uPEqpa4,79678
|
826
|
+
hiddifypanel/translations/fa/LC_MESSAGES/messages.mo,sha256=arrgxDFBqobrm7fefg1gUYT5qZcSlOCAzdQRPRakv_E,96451
|
827
827
|
hiddifypanel/translations/fa/LC_MESSAGES/messages.po,sha256=8-KfPE3elLTi9jyX4mUa2zQTuwp_WA3HNkEEDdTMons,102102
|
828
|
-
hiddifypanel/translations/pt/LC_MESSAGES/messages.mo,sha256=
|
828
|
+
hiddifypanel/translations/pt/LC_MESSAGES/messages.mo,sha256=eI-jo6Y2TpfkrYJPNXJkmLoKhb1P2FrQm-Ce3fxxVrU,60458
|
829
829
|
hiddifypanel/translations/pt/LC_MESSAGES/messages.po,sha256=PFVBTvQAKL4acU49xqf9G3z8WfypqBXzkHWmFb2Kmtc,70932
|
830
|
-
hiddifypanel/translations/ru/LC_MESSAGES/messages.mo,sha256=
|
830
|
+
hiddifypanel/translations/ru/LC_MESSAGES/messages.mo,sha256=oMx7Y62DbnN5pJD1HOKiz1CUwUKYOra74Kt0MjDFnoY,99878
|
831
831
|
hiddifypanel/translations/ru/LC_MESSAGES/messages.po,sha256=uNNQ_jmPykCDIx13hQ3thDaur6XQ7N9lfukF3G_XEeA,106517
|
832
|
-
hiddifypanel/translations/zh/LC_MESSAGES/messages.mo,sha256=
|
832
|
+
hiddifypanel/translations/zh/LC_MESSAGES/messages.mo,sha256=IZmXxXpQwT_Z0JIFP0l2OcpiWmbqZeGDw4Ll1EcbT5Y,60737
|
833
833
|
hiddifypanel/translations/zh/LC_MESSAGES/messages.po,sha256=_8pIQz7C8NtdOyEXxHT6pA7f5_W3Qotiz0Y2UJIc-sY,70116
|
834
|
-
hiddifypanel/translations.i18n/en.json,sha256=
|
834
|
+
hiddifypanel/translations.i18n/en.json,sha256=buYpaRx6aZZprYTSXVFuXTrcXo6SOfMHqS-VdqpHwU4,69337
|
835
835
|
hiddifypanel/translations.i18n/fa.json,sha256=GsO1skyWExqBh56gO1SoI-Ab05Uh8NMPJoic1EFcFfQ,91749
|
836
836
|
hiddifypanel/translations.i18n/pt.json,sha256=69muFjHkp60DDBt83mblENOF3_9Nr1ti13kE2wBH7ng,60927
|
837
837
|
hiddifypanel/translations.i18n/ru.json,sha256=LT8A1eZOI0RIE4VW-aGS9rHQcSextutMIQNgsSwSFQY,96113
|
838
838
|
hiddifypanel/translations.i18n/zh.json,sha256=xw9BJHGFbjgqA8dwl4fBCc0BZ9aopwzPtPkljpVJ9Fk,60357
|
839
|
-
hiddifypanel-10.30.
|
840
|
-
hiddifypanel-10.30.
|
841
|
-
hiddifypanel-10.30.
|
842
|
-
hiddifypanel-10.30.
|
843
|
-
hiddifypanel-10.30.
|
844
|
-
hiddifypanel-10.30.
|
839
|
+
hiddifypanel-10.30.1.dist-info/LICENSE.md,sha256=oDrt-cUsyiDGnRPjEJh-3dH2ddAuK_bIVBD8ntkOtZw,19807
|
840
|
+
hiddifypanel-10.30.1.dist-info/METADATA,sha256=2COyt3jH51dDlMg8M2W052M07kDOegWNTIzJFmG3Y-s,4039
|
841
|
+
hiddifypanel-10.30.1.dist-info/WHEEL,sha256=y4mX-SOX4fYIkonsAGA5N0Oy-8_gI4FXw5HNI1xqvWg,91
|
842
|
+
hiddifypanel-10.30.1.dist-info/entry_points.txt,sha256=Xzpqlh3nwBtZhoV9AANJykano056VJvYzaujxPztJaM,60
|
843
|
+
hiddifypanel-10.30.1.dist-info/top_level.txt,sha256=rv-b3qFWUZQTBy0kyBfsr7L6tPpeO7AaQlLHXn-HI5M,13
|
844
|
+
hiddifypanel-10.30.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|