Skip to content

Commit 845a01d

Browse files
committed
fix(subscription): adjust HWID registration logic for subscription page requests
1 parent 0b42086 commit 845a01d

1 file changed

Lines changed: 5 additions & 7 deletions

File tree

app/operation/subscription.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -328,18 +328,13 @@ async def user_subscription(
328328
"""
329329
Provides a subscription link based on the user agent (Clash, V2Ray, etc.).
330330
"""
331-
# Handle HTML request (subscription page)
332331
sub_settings: SubSettings = await subscription_settings()
333332
db_user = await self.get_validated_sub(db, token)
334333
user = await self.validated_user(db_user)
335-
336-
await self.validate_and_register_hwid(
337-
db, db_user.id, db_user.hwid_limit, x_hwid, x_device_os, x_ver_os, x_device_model
338-
)
339-
340334
is_browser_request = "text/html" in accept_header
335+
is_subscription_page_request = is_browser_request and not sub_settings.disable_sub_template
341336

342-
if not sub_settings.disable_sub_template and is_browser_request:
337+
if is_subscription_page_request:
343338
template = (
344339
db_user.admin.sub_template
345340
if db_user.admin and db_user.admin.sub_template
@@ -365,6 +360,9 @@ async def user_subscription(
365360
)
366361
)
367362
else:
363+
await self.validate_and_register_hwid(
364+
db, db_user.id, db_user.hwid_limit, x_hwid, x_device_os, x_ver_os, x_device_model
365+
)
368366
matched_rule = self.detect_client_rule(user_agent, sub_settings.rules)
369367
client_type = matched_rule.target if matched_rule else None
370368
if client_type == ConfigFormat.block or not client_type:

0 commit comments

Comments
 (0)